[
  {
    "path": ".editorconfig",
    "content": "root = true\n\n[*]\nindent_style = space\nindent_size = 4\nend_of_line = LF\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n"
  },
  {
    "path": ".github/workflows/codesee-arch-diagram.yml",
    "content": "on:\n  push:\n    branches:\n      - master\n  pull_request_target:\n    types: [opened, synchronize, reopened]\n\nname: CodeSee Map\n\njobs:\n  test_map_action:\n    runs-on: ubuntu-latest\n    continue-on-error: true\n    name: Run CodeSee Map Analysis\n    steps:\n      - name: checkout\n        id: checkout\n        uses: actions/checkout@v2\n        with:\n          repository: ${{ github.event.pull_request.head.repo.full_name }}\n          ref: ${{ github.event.pull_request.head.ref }}\n          fetch-depth: 0\n\n      # codesee-detect-languages has an output with id languages.\n      - name: Detect Languages\n        id: detect-languages\n        uses: Codesee-io/codesee-detect-languages-action@latest\n\n      - name: Configure JDK 16\n        uses: actions/setup-java@v2\n        if: ${{ fromJSON(steps.detect-languages.outputs.languages).java }}\n        with:\n          java-version: '16'\n          distribution: 'zulu'\n\n      # CodeSee Maps Go support uses a static binary so there's no setup step required.\n\n      - name: Configure Node.js 14\n        uses: actions/setup-node@v2\n        if: ${{ fromJSON(steps.detect-languages.outputs.languages).javascript }}\n        with:\n          node-version: '14'\n\n      - name: Configure Python 3.x\n        uses: actions/setup-python@v2\n        if: ${{ fromJSON(steps.detect-languages.outputs.languages).python }}\n        with:\n          python-version: '3.x'\n          architecture: 'x64'\n\n      - name: Configure Ruby '3.x'\n        uses: ruby/setup-ruby@v1\n        if: ${{ fromJSON(steps.detect-languages.outputs.languages).ruby }}\n        with:\n          ruby-version: '3.0'\n\n      # CodeSee Maps Rust support uses a static binary so there's no setup step required.\n\n      - name: Generate Map\n        id: generate-map\n        uses: Codesee-io/codesee-map-action@latest\n        with:\n          step: map\n          github_ref: ${{ github.ref }}\n          languages: ${{ steps.detect-languages.outputs.languages }}\n\n      - name: Upload Map\n        id: upload-map\n        uses: Codesee-io/codesee-map-action@latest\n        with:\n          step: mapUpload\n          api_token: ${{ secrets.CODESEE_ARCH_DIAG_API_TOKEN }}\n          github_ref: ${{ github.ref }}\n      \n      - name: Insights\n        id: insights\n        uses: Codesee-io/codesee-map-action@latest\n        with:\n          step: insights\n          api_token: ${{ secrets.CODESEE_ARCH_DIAG_API_TOKEN }}\n          github_ref: ${{ github.ref }}\n"
  },
  {
    "path": ".gitignore",
    "content": "# Logs\nlogs\n*.log\nbuild/\n\n# Runtime data\npids\n*.pid\n*.seed\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (http://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directory\n# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git\nnode_modules\n\n# Remove some common IDE working directories\n.idea\n.vscode\n\n.DS_STORE\n"
  },
  {
    "path": ".npmignore",
    "content": "docs\n"
  },
  {
    "path": ".nvmrc",
    "content": "v6.10\n"
  },
  {
    "path": ".prettierrc",
    "content": "{\n  \"printWidth\": 100,\n  \"parser\": \"babylon\",\n  \"singleQuote\": true,\n  \"tabWidth\": 4\n}\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2017 Bohdan Liashenko\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "> Why? While I've been working on [Under-the-hood-ReactJS](https://github.com/Bogdan-Lyashenko/Under-the-hood-ReactJS) I spent enormous amount of time on creating schemes. Each change in code or flowchart affects all entire scheme instantly, forcing you to move and align 'broken pieces'. Just repeated manual work...\n\n\n### For multiple files support (and other cool features to simplify codebase learning and documentation) checkout [Codecrumbs project](https://codecrumbs.io/) I am building right now.\n\nImagine a library which takes any JS code and generate SVG flowchart from it, works on client and server. Allows you easily adjust styles scheme for your context or demonstrate your code logic from different abstractions levels. Highlighting, destructing whole blocks, custom modifiers for your needs etc.\n\n# js2flowchart.js [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Generate%20beautiful%20flowcharts%20from%20JavaScript&url=https://github.com/Bogdan-Lyashenko/js-code-to-svg-flowchart&via=bliashenko&hashtags=javascript,flowchart,svg)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php) [![npm version](https://badge.fury.io/js/js2flowchart.svg)](https://badge.fury.io/js/js2flowchart)\n\njs2flowchart is a tool for generating beautiful SVG flowcharts&trade; from JavaScript code.\n\nTo get started install package from NPM\n> yarn add js2flowchart\n\nor try it right away at [codepen sample](https://codepen.io/Bogdan-Lyashenko/pen/XzmzNv), or play with the demo below.\n\n## [Demo](https://bogdan-lyashenko.github.io/js-code-to-svg-flowchart/docs/live-editor/index.html)\nCheck out live [**code editor**](https://bogdan-lyashenko.github.io/js-code-to-svg-flowchart/docs/live-editor/index.html), paste your code and **download SVG file** of flowchart!\n\n[<img src=\"/docs/live-editor/demo.gif\" width=\"700\">](https://bogdan-lyashenko.github.io/js-code-to-svg-flowchart/docs/live-editor/index.html)\n\n### What does js2flowchart do?\njs2flowchart takes your JS code and returns SVG flowchart, works on client/server, support ES6.\n\nMain features:\n- **defined abstractions levels** to render only import/exports, classes/function names, function dependencies to learn/explain the code step by step.\n- **custom abstractions levels support** create your own one\n- **presentation generator** to generate list of SVGs in order to different abstractions levels\n- **defined flow tree modifiers** to map well-known APIs like i.e. [].map, [].forEach, [].filter to Loop structure on scheme etc.\n- **destruction modifier** to replace block of code with one shape on scheme\n- **custom flow tree modifiers support** create your own one\n- **flow tree ignore filter** to omit some code nodes completely i.e. log lines\n- **focus node or entire code logic branch** to highlight important section on scheme\n- **blur node or entire code logic branch** to hide less-important stuff\n- **defined styles themes supports** choose one you like\n- **custom themes support** create your own one which fits your context colors better\n- **custom colors and styles support** provides handy API to change specific styles without boilerplate\n\nUse cases:\n- **explain/document** your code by flowcharts\n- **learn** other's code by visual understanding\n- **create** flowcharts for any process simply described by valid JS syntax\n\n### CLI\nYou can simply generate SVG files from your local JS files using CLI tool.\nInstall js2flowchart globally by running:\n> yarn global add js2flowchart\n\nOr in a project by running:\n> yarn add js2flowchart --dev\n\nOpen terminal and navigate to needed directory with JS file you want to visualize (e.g. './my-project/main.js').\nRun the command (if you installed it globally)\n```cli\njs2flowchart main.js\n```\nOr add this to your _package.json_ file:\n```json\n{\n  \"scripts\": {\n    \"js2flowchart\": \"js2flowchart\"\n  }\n}\n```\nAnd run (with either npm or yarn):\n```cli\nyarn run js2flowchart main.js\n```\n\nAfter script is executed observe log ```SVG file was created: ./js2flowchart/main.js.svg```. SVG file will be placed in new directory '/js2flowchart' near your JS file.\n\n### API and examples\nYou can find sources for examples explained below in [docs directory](/docs).\n\n**In examples only** js2flowchart library included explicitly, by ```<script>``` tag and accessed by global variable from ```window``` **to make it simpler to run for you without boilerplate**. But feel free to use it through ES6 modules as well, when you have Babel&Webpack local server configured.\n```javascript\n/**\n* Access APIs when js2flowchart injected into HTML page\n*/\nconst {convertCodeToFlowTree, convertFlowTreeToSvg} = window.js2flowchart;\n\n/**\n* or import from node_modules \n*/ \nimport {convertCodeToFlowTree, convertFlowTreeToSvg} from 'js2flowchart';//way 1\nimport * as js2flowchart from 'js2flowchart';//way 2\n```\n\n#### Default\n\nHere is a code function for classic case Binary search\n\n```javascript\nconst code = `function indexSearch(list, element) {\n    let currentIndex,\n        currentElement,\n        minIndex = 0,\n        maxIndex = list.length - 1;\n\n    while (minIndex <= maxIndex) {\n        currentIndex = Math.floor(minIndex + maxIndex) / 2;\n        currentElement = list[currentIndex];\n\n        if (currentElement === element) {\n            return currentIndex;\n        }\n\n        if (currentElement < element) {\n            minIndex = currentIndex + 1;\n        }\n\n        if (currentElement > element) {\n            maxIndex = currentIndex - 1;\n        }\n    }\n\n    return -1;\n}`;\n```\nlet's convert it to SVG(the simplest way):\n```javascript\nconst svg = js2flowchart.convertCodeToSvg(code);\n```\nResult:\n\n![](/docs/examples/default/flowchart-image.png)\n\nIf you need to modify default behavior you can split ```js2flowchart.convertCodeToSvg``` into two building block:\n- flow tree building\n- shapes printing\n\n```javascript\nconst {convertCodeToFlowTree, convertFlowTreeToSvg} = js2flowchart;\n\nconst flowTree = convertCodeToFlowTree(code);\n\nconst svg = convertFlowTreeToSvg(flowTree);//XML string\n```\n\nor when you need full control create main instances manually:\n```javascript\nconst {createFlowTreeBuilder, createSVGRender} = js2flowchart;\n\nconst flowTreeBuilder = createFlowTreeBuilder(),\n    svgRender = createSVGRender();\n\nconst flowTree = flowTreeBuilder.build(code),\n    shapesTree = svgRender.buildShapesTree(flowTree);\n\nconst svg = shapesTree.print();//XML string\n```\n\nSee the example running [here](https://bogdan-lyashenko.github.io/js-code-to-svg-flowchart/docs/examples/default/index.html) or check out complete source code [of it](/docs/examples/default/index.html).\n\n#### Defined abstraction level\n\nWhat is called 'abstraction level'? Let's say you would like to omit some details, like, e.g. for given module you are interested only in what the module ```exports```, or, what classes it contains.\nThere is a list of defined levels you can do that with. Accessible by ```ABSTRACTION_LEVELS``` interface.\n- ```FUNCTION```\n- ```FUNCTION_DEPENDENCIES```\n- ```CLASS```\n- ```IMPORT```\n- ```EXPORT```\n\nLet's take example with module imports&exports. Below is the code of some ```print-util.js```.\n```javascript\nconst code = `\n    import {format, trim} from 'formattier';\n    import {log} from 'logger';\n\n    const data = [];\n\n    export default print = (list) => {\n        list.forEach(i => {\n            console.log(i);\n        });\n    }\n\n    export const formatString = (str) => formatter(str);\n    export const MAX_STR_LENGTH = 15;\n`;\n```\nwe need to instantiate ```flowTreeBuilder``` and assign abstraction level on it.\n\n```javascript\n    const {\n        ABSTRACTION_LEVELS,  createFlowTreeBuilder, convertFlowTreeToSvg\n    } = js2flowchart;\n\n    const flowTreeBuilder = createFlowTreeBuilder();\n\n    //you can pass one level or multiple levels\n    flowTreeBuilder.setAbstractionLevel([\n        ABSTRACTION_LEVELS.IMPORT,\n        ABSTRACTION_LEVELS.EXPORT\n    ]);\n\n    const flowTree = flowTreeBuilder.build(code);\n    const svg = convertFlowTreeToSvg(flowTree);\n```\n\nResult:\n\n![](/docs/examples/defined-abstraction-level/flowchart-image.png)\n\nSee the example running [here](https://bogdan-lyashenko.github.io/js-code-to-svg-flowchart/docs/examples/defined-abstraction-level/index.html) or check out complete source code [of it](/docs/examples/defined-abstraction-level/index.html).\n\n**Custom abstraction level (label:advanced)**\n\nWhat if you want your 'own' level? To the same API endpoint ```flowTreeBuilder.setAbstractionLevel``` you can provide configuration object.\nFor example, have a look at the code of [function dependencies](/src/builder/abstraction-levels/functionDependencies.js) abstraction level.\nCheck out the export of it\n```javascript\nexport const getFunctionDependenciesLevel = () => ({\n    defined: [TOKEN_TYPES.CALL_EXPRESSION],\n    custom: [\n        getCustomFunctionDeclaration(),\n        getCustomAssignmentExpression(),\n        getCustomVariableDeclarator()\n    ]\n});\n```\nIt's a format of data you need to pass:\n\n```javascript\nflowTreeBuilder.setAbstractionLevel({\n    defined: [TOKEN_TYPES.CALL_EXPRESSION],\n    custom: [\n        getCustomFunctionDeclaration(),\n        getCustomAssignmentExpression(),\n        getCustomVariableDeclarator()\n    ]\n})\n\n````\nAnd what is behind of ```getCustomAssignmentExpression``` for example?\nThere is a token parsing config.\n```javascript\n{\n    type: 'TokenType', /*see types in TOKEN_TYPES map*/\n    getName: (path) => {/*extract name from token*/},\n    ignore: (path) => {/*return true if want to omit entry*/}\n    body: true /* should it contain nested blocks? */\n}\n```\nCheck out more token parsing configs from [source code (entryDefinitionsMap.js)](/src/builder/entryDefinitionsMap.js)\n\n\n#### Presentation generator\n\nWhen you learn other's code it's good to go through it by different abstractions levels.\nTake a look what module exports, which function and classes contains etc.\nThere is a sub-module ```createPresentationGenerator``` to generate list of SVGs in order to different abstractions levels.\n\nLet's take the next code for example:\n```javascript\nconst code = `\n    import {format} from './util/string';\n\n    function formatName(name) {\n        if (!name) return 'no-name';\n\n        return format(name);\n    }\n\n    class Animal {\n        constructor(breed) {\n            this.breed = breed;\n        }\n\n        getBreed() {\n            return this.breed;\n        }\n\n        setName(name) {\n            if (this.nameExist()) {\n                return;\n            }\n\n            this.name = name;\n        }\n    }\n\n    class Man extends Animal {\n       sayName() {\n            console.log('name', this.name);\n       }\n    }\n\n    export default Man;\n`;\n```\npass it to\n```javascript\nconst { createPresentationGenerator } = js2flowchart;\n\nconst presentationGenerator = createPresentationGenerator(code);\nconst slides = presentationGenerator.buildSlides();//array of SVGs\n```\n\nResult (one of slides):\n\n![](/docs/examples/one-module-presentation/flowchart-image.png)\n\nYou can switch slides by prev-next buttons.\n\n[<img src=\"/docs/examples/one-module-presentation/slides.gif\" width=\"500\">](https://bogdan-lyashenko.github.io/js-code-to-svg-flowchart/docs/examples/one-module-presentation/index.html)\n\nSee the example running [here](https://bogdan-lyashenko.github.io/js-code-to-svg-flowchart/docs/examples/one-module-presentation/index.html) or check out complete source code [of it](/docs/examples/one-module-presentation/index.html).\n\n\n#### Defined colors theme\n\nYou can apply different themes to your ```svgRender``` instance. Simply calling e.g. ```svgRender.applyLightTheme()``` to apply light scheme.\n\nThere are next predefined color schemes:\n- DEFAULT: ```applyDefaultTheme```\n- BLACK_AND_WHITE: ```applyBlackAndWhiteTheme```\n- BLURRED: ```applyBlurredTheme```\n- LIGHT: ```applyLightTheme```\n\nLet's simple code sample of ```switch``` statement from Mozzila Web Docs.\n```javascript\nconst code = `\n    function switchSampleFromMDN() {\n        const foo = 0;\n\n        switch (foo) {\n          case -1:\n            console.log('negative 1');\n            break;\n          case 0:\n            console.log(0);\n          case 1:\n            console.log(1);\n            return 1;\n          default:\n            console.log('default');\n        }\n    }\n`;\n```\nand apply scheme to render.\n\n```javascript\nconst {createSVGRender, convertCodeToFlowTree} = js2flowchart;\n\nconst flowTree = convertCodeToFlowTree(code),\n    svgRender = createSVGRender();\n\n//applying another theme for render\nsvgRender.applyLightTheme();\n\nconst svg = svgRender.buildShapesTree(flowTree).print();\n```\n\nResult:\n\n![](/docs/examples/defined-color-theme/flowchart-image.png)\n\nSee the example running [here](https://bogdan-lyashenko.github.io/js-code-to-svg-flowchart/docs/examples/defined-color-theme/index.html) or check out complete source code [of it](/docs/examples/defined-color-theme/index.html).\n\n#### Custom colors theme\n\nWell, but what if you would like to have different colors? Sure, below is an example of Light theme colors but created manually.\n```javascript\nsvgRender.applyColorBasedTheme({\n   strokeColor: '#555',\n   defaultFillColor: '#fff',\n   textColor: '#333',\n   arrowFillColor: '#444',\n   rectangleFillColor: '#bbdefb',\n   rectangleDotFillColor: '#ede7f6',\n   functionFillColor: '#c8e6c9',\n   rootCircleFillColor: '#fff9c4',\n   loopFillColor: '#d1c4e9',\n   conditionFillColor: '#e1bee7',\n   destructedNodeFillColor: '#ffecb3',\n   classFillColor: '#b2dfdb',\n   debuggerFillColor: '#ffcdd2',\n   exportFillColor: '#b3e5fc',\n   throwFillColor: '#ffccbc',\n   tryFillColor: '#FFE082',\n   objectFillColor: '#d1c4e9',\n   callFillColor: '#dcedc8',\n   debugModeFillColor: '#666'\n});\n```\n\n#### Custom styles\n\nWhat if you need different styles, not only colors? Here it's ```svgRender.applyTheme({})```. You can apply styles above of current theme, overriding only that behaviour you need.\nLet's take an example with Return statement.\n```javascript\nsvgRender.applyTheme({\n    common: {\n        maxNameLength: 100\n    },\n    ReturnStatement: {\n        fillColor: 'red',\n        roundBorder: 10\n    }\n});\n```\n\nPlease check definition of [```DefaultBaseTheme```](/src/render/svg/appearance/themes/DefaultBaseTheme.js) to see all possible shapes names and properties.\n\n\n#### Shapes tree editor\n\nThere is sub-module for modifying shapes tree called 'ShapesTreeEditor'.\nIt provides next interfaces:\n- ```findShape```\n- ```applyShapeStyles```\n- ```blur```\n- ```focus```\n- ```blurShapeBranch```\n- ```focusShapeBranch```\n- ```print```\n\nLet's learn its usage on an example as well. Below is the code with some 'devMode hooks'.\n```javascript\nconst code = `\nconst doStuff = (stuff) => {\n    if (stuff) {\n        if (devFlag) {\n            log('perf start');\n            doRecursion();\n            log('perf end');\n\n            return;\n        }\n\n        doRecursion();\n        end();\n    } else {\n        throw new Error('No stuff!');\n    }\n\n    return null;\n};\n`;\n```\n\nwhat we want here is 'blur' that dev-branch condition, because it interferes code readability.\n\n```javascript\nconst {\n    convertCodeToFlowTree,\n    createSVGRender,\n    createShapesTreeEditor\n} = js2flowchart;\n\nconst flowTree = convertCodeToFlowTree(code),\n    svgRender = createSVGRender();\n    shapesTree = svgRender.buildShapesTree(flowTree);\n\nconst shapesTreeEditor = createShapesTreeEditor(shapesTree);\n\nshapesTreeEditor.blurShapeBranch(\n    (shape) => shape.getName() === '(devFlag)'\n);\n\nconst svg = shapesTreeEditor.print();\n```\n\nResult:\n\n![](/docs/examples/blur-shape-branch/flowchart-image.png)\n\nSee the example running [here](https://bogdan-lyashenko.github.io/js-code-to-svg-flowchart/docs/examples/blur-shape-branch/index.html) or check out complete source code [of it](/docs/examples/blur-shape-branch/index.html).\n\n\n#### Flow tree modifier\n\nThere is sub-module for modifying flow tree called 'FlowTreeModifier' which allows you to apply modifiers defined separately to your existing flow tree.\nLet's take simple use-case: you want to change 'names'(titles) on tree-nodes, here it is, just define modifier for that. But, actually, there are some behaviours where we already know we need to modify flow tree.\n\nLet's have a look at ES5 Array iterators, like ```forEach```, ```map``` and so on. We all know they behave like a loop, right? Let's treat them as a 'loop' then.  \n\n```javascript\nconst code = `\nfunction print(list) {\n    const newList = list.map(i => {\n        return i + 1;\n    });\n\n    newList.forEach(i => {\n        console.debug('iteration start');\n        console.log(i);\n        console.debug('iteration end');\n    });\n}\n`;\n```\n\n\n```javascript\nconst {\n    createFlowTreeBuilder,\n    createFlowTreeModifier,\n    convertFlowTreeToSvg,\n    MODIFIER_PRESETS\n} = js2flowchart;\n\nconst flowTreeBuilder = createFlowTreeBuilder(),\n    flowTree = flowTreeBuilder.build(code);\n\nconst flowTreeModifier = createFlowTreeModifier();\n\nflowTreeModifier.setModifier(MODIFIER_PRESETS.es5ArrayIterators);\nflowTreeModifier.applyToFlowTree(flowTree);\n\nconst svg = convertFlowTreeToSvg(flowTree);\n```\n\nResult:\n\nAs you can see, both iterators handled as a loop. And ```forEach``` omit function-callback as well.\n\n![](/docs/examples/defined-modifier/flowchart-image.png)\n\nSee the example running [here](https://bogdan-lyashenko.github.io/js-code-to-svg-flowchart/docs/examples/defined-modifier/index.html) or check out complete source code [of it](/docs/examples/defined-modifier/index.html).\n\n\nThere is one more defined modifier for node destruction. It takes a block you specified and destruct it to on block.\n```javascript\nflowTreeModifier.destructNodeTree((node) => node.name.indexOf('.forEach') !== -1, 'and print list...');\n```\nWhat if you want **custom modifier**?\n```javascript\nflowTreeModifier.registerNewModifier((node)=> node.name.includes('hello'), {\n    name: 'world'\n});\n```\n\n#### Debug rendering\nWhat if you want to select a shape for applying special styles and want some unique id selector? Just pass ```debug``` flag to ```print```;\n\n```javascript\n    const {\n        convertCodeToFlowTree,\n        createSVGRender,\n        createShapesTreeEditor\n    } = js2flowchart;\n\n    const svgRender = createSVGRender();\n\n    const shapesTree = svgRender.buildShapesTree(convertCodeToFlowTree(code));\n    const shapesTreeEditor = createShapesTreeEditor(shapesTree);\n\n    shapesTreeEditor.applyShapeStyles(\n        shape => shape.getNodePathId() === 'NODE-ID:|THIS.NAME=N|TCCP-', {\n        fillColor: '#90caf9'\n    });\n\n    const svg = shapesTreeEditor.print({debug: true});\n```\n\nResult:\n\n![](/docs/examples/debug-rendering/flowchart-image.png)\n\nSee the example running [here](https://bogdan-lyashenko.github.io/js-code-to-svg-flowchart/docs/examples/debug-rendering/index.html) or check out complete source code [of it](/docs/examples/debug-rendering/index.html).\n\n### Tools\nThanks to @LucasBadico we got Visual Studio extension. Check [it out](https://marketplace.visualstudio.com/items?itemName=lucasbadico.code-flowchart).\n![](https://user-images.githubusercontent.com/16516889/32584821-824634c8-c4e1-11e7-9e83-4c97561f01e0.png)\n\n### Under the hood\nMain stages:\n- get AST from code, [Babylon](https://github.com/babel/babel/tree/master/packages/babylon) parser is used (develops by Babel team)\n- convert AST to FlowTree, remove and combing nodes ([FlowTreeBuilder](src/builder/FlowTreeBuilder.js))\n  - apply modifiers ([FlowTreeModifier](src/builder/FlowTreeModifier.js))\n- create SVG objects based on FlowTree ([SVGRender](src/render/svg/SVGRender.js))\n  - apply ShapesTreeEditor\n  - apply theme ([see themes](src/render/svg/appearance/themes))\n- print SVG objects to XML string\n\n\n### Things planned TODO\n- Full CLI support\n- JSX support\n- Flow support\n- TypeScript support\n- Multi files support\n- Webstorm plugin\n- Chrome extension for dev-tools\n\n### Contributing\nFeel free to file an issue if it doesn't work for your code sample (please add 'breaking' lines of code if it's possible to identify) or for any other things you think can be improved.\nHighly appreciated if you can join and help with any TODOs above. Thanks.\n\n### License\nMIT license\n\n### Version\nFirst shoot! Take it easy (check version number above in NPM badge)\n\n"
  },
  {
    "path": "_config.yml",
    "content": "theme: jekyll-theme-cayman"
  },
  {
    "path": "babel.config.js",
    "content": "module.exports = function(app) {\n    app.cache(true);\n\n    const presets = [\n        [\n            '@babel/preset-env',\n            {\n                targets: {\n                    browsers: ['last 2 versions']\n                },\n                modules: false\n            }\n        ]\n    ];\n\n    return {\n        presets\n    };\n};\n"
  },
  {
    "path": "cli/index.cli.js",
    "content": "#!/usr/bin/env node\n/**\n * @todo Add features from the Non-CLI side of this module such as:\n * 2. Custom abstraction level\n * 3. Presentation mode\n * 4. Defined colour schemes (default, B&W, blurred, light)\n * 5. Custom colour scheme\n * 6. Custom style\n * 7. Flow tree modifications (iterative methods treated as loops, ...)\n * 8. Custom modifier\n * 9. Debugging\n * @todo Continue 3.\n */\n\nconst js2flowchart = require('../dist/js2flowchart.js');\nconst program = require('commander');\n\nconst fs = require('fs'),\n    path = require('path');\n\nconst readJsFile = function(file, onComplete, ...callbackArgs) {\n    fs.readFile(path.relative(process.cwd(), file), 'utf8', function(err, code) {\n        if (err) {\n            return console.error(err);\n        }\n\n        onComplete(file, code, ...callbackArgs);\n    });\n};\n\n/**\n * @description Write data to the specified file path.\n * @param {string} filePath Path of the destination file\n * @param {*} data Data to write to the destination\n */\nconst writeToFile = function(filePath, data) {\n    fs.writeFile(filePath, data, function(err) {\n        if (err) {\n            return console.error(err);\n        }\n\n        console.log(`SVG file was created: ${filePath}`);\n    });\n};\n\nconst createSvgFile = function(file, code) {\n    const svg = js2flowchart.convertCodeToSvg(code),\n        filePath = `${file}.svg`;\n\n    writeToFile(filePath, svg);\n};\n\n/**\n * @description Create an SVG file with the provided abstraction level\n * @param {string} file Name of the JS script\n * @param {string} code JS code of the JS script\n * @param {...string} abstractionLevel Abstraction levels (function, function dependencies, class, import, export)\n * @return undefined\n */\nconst createAbstractedSvgFile = function(file, code, abstractionLevel) {\n    const errMsg =\n        'Please use (case insensitive, without the quotes): \"function\", \"function_dependencies\", \"class\", \"import\" or \"export\"';\n    if (!abstractionLevel) return console.error(`No abstraction level specified`);\n    const flowTreeBuilder = js2flowchart.createFlowTreeBuilder();\n    //Check if the abstraction level(s) are valid and process them\n    let abstractions = abstractionLevel.map(al => {\n        try {\n            return js2flowchart.ABSTRACTION_LEVELS[al.toUpperCase()];\n        } catch (err) {\n            throw new Error(`The following abstraction level isn't valid: ${al}\\n${errMsg}`);\n        }\n    });\n\n    flowTreeBuilder.setAbstractionLevel(abstractions);\n\n    const flowTree = flowTreeBuilder.build(code);\n\n    const svg = js2flowchart.convertFlowTreeToSvg(flowTree),\n        filePath = `${file}.svg`;\n\n    writeToFile(filePath, svg);\n};\n\n/**\n * @description Convert argument lists to arrays.\n * @param {string} val Argument lists\n * @return {string[]} Array of arguments\n */\nconst list = val => val.split(',');\n\nprogram\n    .arguments('<file>')\n    .option(\n        '-a, --abstraction [list]',\n        'Set the level of details you want to have (e.g: \"function,import\")',\n        list\n    )\n    .option('-p, --presentation', 'Separating the different abstraction levels')\n    .action(function(file) {\n        if (program.abstraction) readJsFile(file, createAbstractedSvgFile, program.abstraction);\n        else if (program.presentation) console.log('Feature not implemented yet');\n        else readJsFile(file, createSvgFile);\n    })\n    .parse(process.argv);\n"
  },
  {
    "path": "dist/js2flowchart.js",
    "content": "/*! For license information please see js2flowchart.js.LICENSE.txt */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"js2flowchart\",[],t):\"object\"==typeof exports?exports.js2flowchart=t():e.js2flowchart=t()}(\"undefined\"!=typeof window?window:this,(()=>(()=>{var e={2509:function(e,t,n){!function(e,t,n,r){\"use strict\";let i;e.addSegment=void 0,e.addMapping=void 0,e.maybeAddSegment=void 0,e.maybeAddMapping=void 0,e.setSourceContent=void 0,e.toDecodedMap=void 0,e.toEncodedMap=void 0,e.fromMap=void 0,e.allMappings=void 0;class s{constructor({file:e,sourceRoot:n}={}){this._names=new t.SetArray,this._sources=new t.SetArray,this._sourcesContent=[],this._mappings=[],this.file=e,this.sourceRoot=n}}function a(e,t,n){for(let n=e.length;n>t;n--)e[n]=e[n-1];e[t]=n}function o(e,n){for(let r=0;r<n.length;r++)t.put(e,n[r])}function l(e,t,n){const{generated:r,source:s,original:a,name:o,content:l}=n;if(!s)return i(e,t,r.line-1,r.column,null,null,null,null,null);const c=s;return i(e,t,r.line-1,r.column,c,a.line-1,a.column,o,l)}e.addSegment=(e,t,n,r,s,a,o,l)=>i(!1,e,t,n,r,s,a,o,l),e.maybeAddSegment=(e,t,n,r,s,a,o,l)=>i(!0,e,t,n,r,s,a,o,l),e.addMapping=(e,t)=>l(!1,e,t),e.maybeAddMapping=(e,t)=>l(!0,e,t),e.setSourceContent=(e,n,r)=>{const{_sources:i,_sourcesContent:s}=e;s[t.put(i,n)]=r},e.toDecodedMap=e=>{const{file:t,sourceRoot:n,_mappings:r,_sources:i,_sourcesContent:s,_names:a}=e;return function(e){const{length:t}=e;let n=t;for(let t=n-1;t>=0&&!(e[t].length>0);n=t,t--);n<t&&(e.length=n)}(r),{version:3,file:t||void 0,names:a.array,sourceRoot:n||void 0,sources:i.array,sourcesContent:s,mappings:r}},e.toEncodedMap=t=>{const r=e.toDecodedMap(t);return Object.assign(Object.assign({},r),{mappings:n.encode(r.mappings)})},e.allMappings=e=>{const t=[],{_mappings:n,_sources:r,_names:i}=e;for(let e=0;e<n.length;e++){const s=n[e];for(let n=0;n<s.length;n++){const a=s[n],o={line:e+1,column:a[0]};let l,c,u;1!==a.length&&(l=r.array[a[1]],c={line:a[2]+1,column:a[3]},5===a.length&&(u=i.array[a[4]])),t.push({generated:o,source:l,original:c,name:u})}}return t},e.fromMap=e=>{const t=new r.TraceMap(e),n=new s({file:t.file,sourceRoot:t.sourceRoot});return o(n._names,t.names),o(n._sources,t.sources),n._sourcesContent=t.sourcesContent||t.sources.map((()=>null)),n._mappings=r.decodedMappings(t),n},i=(e,n,r,i,s,o,l,c,u)=>{const{_mappings:p,_sources:h,_sourcesContent:d,_names:f}=n,y=function(e,t){for(let n=e.length;n<=t;n++)e[n]=[];return e[t]}(p,r),m=function(e,t){let n=e.length;for(let r=n-1;r>=0&&!(t>=e[r][0]);n=r--);return n}(y,i);if(!s){if(e&&function(e,t){return 0===t||1===e[t-1].length}(y,m))return;return a(y,m,[i])}const T=t.put(h,s),g=c?t.put(f,c):-1;if(T===d.length&&(d[T]=null!=u?u:null),!e||!function(e,t,n,r,i,s){if(0===t)return!1;const a=e[t-1];return 1!==a.length&&n===a[1]&&r===a[2]&&i===a[3]&&s===(5===a.length?a[4]:-1)}(y,m,T,o,l,g))return a(y,m,c?[i,T,o,l,g]:[i,T,o,l])},e.GenMapping=s,Object.defineProperty(e,\"__esModule\",{value:!0})}(t,n(2208),n(2297),n(3446))},8435:function(e){e.exports=function(){\"use strict\";const e=/^[\\w+.-]+:\\/\\//,t=/^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/,n=/^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;var r;function i(e){return e.startsWith(\"/\")}function s(e){return/^[.?#]/.test(e)}function a(e){const n=t.exec(e);return o(n[1],n[2]||\"\",n[3],n[4]||\"\",n[5]||\"/\",n[6]||\"\",n[7]||\"\")}function o(e,t,n,i,s,a,o){return{scheme:e,user:t,host:n,port:i,path:s,query:a,hash:o,type:r.Absolute}}function l(t){if(function(e){return e.startsWith(\"//\")}(t)){const e=a(\"http:\"+t);return e.scheme=\"\",e.type=r.SchemeRelative,e}if(i(t)){const e=a(\"http://foo.com\"+t);return e.scheme=\"\",e.host=\"\",e.type=r.AbsolutePath,e}if(function(e){return e.startsWith(\"file:\")}(t))return function(e){const t=n.exec(e),r=t[2];return o(\"file:\",\"\",t[1]||\"\",\"\",i(r)?r:\"/\"+r,t[3]||\"\",t[4]||\"\")}(t);if(function(t){return e.test(t)}(t))return a(t);const s=a(\"http://foo.com/\"+t);return s.scheme=\"\",s.host=\"\",s.type=t?t.startsWith(\"?\")?r.Query:t.startsWith(\"#\")?r.Hash:r.RelativePath:r.Empty,s}function c(e,t){const n=t<=r.RelativePath,i=e.path.split(\"/\");let s=1,a=0,o=!1;for(let e=1;e<i.length;e++){const t=i[e];t?(o=!1,\".\"!==t&&(\"..\"!==t?(i[s++]=t,a++):a?(o=!0,a--,s--):n&&(i[s++]=t))):o=!0}let l=\"\";for(let e=1;e<s;e++)l+=\"/\"+i[e];(!l||o&&!l.endsWith(\"/..\"))&&(l+=\"/\"),e.path=l}return function(e){e[e.Empty=1]=\"Empty\",e[e.Hash=2]=\"Hash\",e[e.Query=3]=\"Query\",e[e.RelativePath=4]=\"RelativePath\",e[e.AbsolutePath=5]=\"AbsolutePath\",e[e.SchemeRelative=6]=\"SchemeRelative\",e[e.Absolute=7]=\"Absolute\"}(r||(r={})),function(e,t){if(!e&&!t)return\"\";const n=l(e);let i=n.type;if(t&&i!==r.Absolute){const e=l(t),s=e.type;switch(i){case r.Empty:n.hash=e.hash;case r.Hash:n.query=e.query;case r.Query:case r.RelativePath:!function(e,t){c(t,t.type),\"/\"===e.path?e.path=t.path:e.path=function(e){if(e.endsWith(\"/..\"))return e;const t=e.lastIndexOf(\"/\");return e.slice(0,t+1)}(t.path)+e.path}(n,e);case r.AbsolutePath:n.user=e.user,n.host=e.host,n.port=e.port;case r.SchemeRelative:n.scheme=e.scheme}s>i&&(i=s)}c(n,i);const a=n.query+n.hash;switch(i){case r.Hash:case r.Query:return a;case r.RelativePath:{const r=n.path.slice(1);return r?s(t||e)&&!s(r)?\"./\"+r+a:r+a:a||\".\"}case r.AbsolutePath:return n.path+a;default:return n.scheme+\"//\"+n.user+n.host+n.port+n.path+a}}}()},2208:function(e,t){!function(e){\"use strict\";e.get=void 0,e.put=void 0,e.pop=void 0;e.get=(e,t)=>e._indexes[t],e.put=(t,n)=>{const r=e.get(t,n);if(void 0!==r)return r;const{array:i,_indexes:s}=t;return s[n]=i.push(n)-1},e.pop=e=>{const{array:t,_indexes:n}=e;0!==t.length&&(n[t.pop()]=void 0)},e.SetArray=class{constructor(){this._indexes={__proto__:null},this.array=[]}},Object.defineProperty(e,\"__esModule\",{value:!0})}(t)},2297:function(e,t,n){var r=n(8764).lW;!function(e){\"use strict\";const t=\",\".charCodeAt(0),n=\";\".charCodeAt(0),i=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",s=new Uint8Array(64),a=new Uint8Array(128);for(let e=0;e<64;e++){const t=i.charCodeAt(e);s[e]=t,a[t]=e}const o=\"undefined\"!=typeof TextDecoder?new TextDecoder:void 0!==r?{decode:e=>r.from(e.buffer,e.byteOffset,e.byteLength).toString()}:{decode(e){let t=\"\";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t}};function l(e,t){const n=e.indexOf(\";\",t);return-1===n?e.length:n}function c(e,t,n,r){let i=0,s=0,o=0;do{const n=e.charCodeAt(t++);o=a[n],i|=(31&o)<<s,s+=5}while(32&o);const l=1&i;return i>>>=1,l&&(i=-2147483648|-i),n[r]+=i,t}function u(e,n,r){return!(n>=r)&&e.charCodeAt(n)!==t}function p(e){e.sort(h)}function h(e,t){return e[0]-t[0]}function d(e,t,n,r,i){const a=r[i];let o=a-n[i];n[i]=a,o=o<0?-o<<1|1:o<<1;do{let n=31&o;o>>>=5,o>0&&(n|=32),e[t++]=s[n]}while(o>0);return t}e.decode=function(e){const t=new Int32Array(5),n=[];let r=0;do{const i=l(e,r),s=[];let a=!0,o=0;t[0]=0;for(let n=r;n<i;n++){let r;n=c(e,n,t,0);const l=t[0];l<o&&(a=!1),o=l,u(e,n,i)?(n=c(e,n,t,1),n=c(e,n,t,2),n=c(e,n,t,3),u(e,n,i)?(n=c(e,n,t,4),r=[l,t[1],t[2],t[3],t[4]]):r=[l,t[1],t[2],t[3]]):r=[l],s.push(r)}a||p(s),n.push(s),r=i+1}while(r<=e.length);return n},e.encode=function(e){const r=new Int32Array(5),i=16384,s=16348,a=new Uint8Array(i),l=a.subarray(0,s);let c=0,u=\"\";for(let p=0;p<e.length;p++){const h=e[p];if(p>0&&(c===i&&(u+=o.decode(a),c=0),a[c++]=n),0!==h.length){r[0]=0;for(let e=0;e<h.length;e++){const n=h[e];c>s&&(u+=o.decode(l),a.copyWithin(0,s,c),c-=s),e>0&&(a[c++]=t),c=d(a,c,r,n,0),1!==n.length&&(c=d(a,c,r,n,1),c=d(a,c,r,n,2),c=d(a,c,r,n,3),4!==n.length&&(c=d(a,c,r,n,4)))}}}return u+o.decode(a.subarray(0,c))},Object.defineProperty(e,\"__esModule\",{value:!0})}(t)},3446:function(e,t,n){!function(e,t,n){\"use strict\";function r(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var i=r(n);function s(e,t){return t&&!t.endsWith(\"/\")&&(t+=\"/\"),i.default(e,t)}const a=0,o=1,l=2,c=3,u=4;function p(e,t){for(let n=t;n<e.length;n++)if(!h(e[n]))return n;return e.length}function h(e){for(let t=1;t<e.length;t++)if(e[t][a]<e[t-1][a])return!1;return!0}function d(e,t){return t||(e=e.slice()),e.sort(f)}function f(e,t){return e[a]-t[a]}let y=!1;function m(e,t,n){for(let r=n+1;r<e.length&&e[r][a]===t;n=r++);return n}function T(e,t,n){for(let r=n-1;r>=0&&e[r][a]===t;n=r--);return n}function g(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function b(e,t,n,r){const{lastKey:i,lastNeedle:s,lastIndex:o}=n;let l=0,c=e.length-1;if(r===i){if(t===s)return y=-1!==o&&e[o][a]===t,o;t>=s?l=-1===o?0:o:c=o}return n.lastKey=r,n.lastNeedle=t,n.lastIndex=function(e,t,n,r){for(;n<=r;){const i=n+(r-n>>1),s=e[i][a]-t;if(0===s)return y=!0,i;s<0?n=i+1:r=i-1}return y=!1,n-1}(e,t,l,c)}function E(e,t,n){for(let n=e.length;n>t;n--)e[n]=e[n-1];e[t]=n}function S(){return{__proto__:null}}function P(e,t,n,r,i,s,a,o,l,c){const{sections:u}=e;for(let e=0;e<u.length;e++){const{map:p,offset:h}=u[e];let d=l,f=c;if(e+1<u.length){const t=u[e+1].offset;d=Math.min(l,a+t.line),d===l?f=Math.min(c,o+t.column):d<l&&(f=o+t.column)}x(p,t,n,r,i,s,a+h.line,o+h.column,d,f)}}function x(t,n,r,i,s,p,h,d,f,y){if(\"sections\"in t)return P(...arguments);const m=new O(t,n),T=i.length,g=p.length,b=e.decodedMappings(m),{resolvedSources:E,sourcesContent:S}=m;if(D(i,E),D(p,m.names),S)D(s,S);else for(let e=0;e<E.length;e++)s.push(null);for(let e=0;e<b.length;e++){const t=h+e;if(t>f)return;const n=A(r,t),i=0===e?d:0,s=b[e];for(let e=0;e<s.length;e++){const r=s[e],p=i+r[a];if(t===f&&p>=y)return;if(1===r.length){n.push([p]);continue}const h=T+r[o],d=r[l],m=r[c];n.push(4===r.length?[p,h,d,m]:[p,h,d,m,g+r[u]])}}}function D(e,t){for(let n=0;n<t.length;n++)e.push(t[n])}function A(e,t){for(let n=e.length;n<=t;n++)e[n]=[];return e[t]}const v=\"`line` must be greater than 0 (lines start at line 1)\",C=\"`column` must be greater than or equal to 0 (columns start at column 0)\",w=-1;e.encodedMappings=void 0,e.decodedMappings=void 0,e.traceSegment=void 0,e.originalPositionFor=void 0,e.generatedPositionFor=void 0,e.allGeneratedPositionsFor=void 0,e.eachMapping=void 0,e.sourceContentFor=void 0,e.presortedDecodedMap=void 0,e.decodedMap=void 0,e.encodedMap=void 0;class O{constructor(e,t){const n=\"string\"==typeof e;if(!n&&e._decodedMemo)return e;const r=n?JSON.parse(e):e,{version:i,file:a,names:o,sourceRoot:l,sources:c,sourcesContent:u}=r;this.version=i,this.file=a,this.names=o,this.sourceRoot=l,this.sources=c,this.sourcesContent=u;const h=s(l||\"\",function(e){if(!e)return\"\";const t=e.lastIndexOf(\"/\");return e.slice(0,t+1)}(t));this.resolvedSources=c.map((e=>s(e||\"\",h)));const{mappings:f}=r;\"string\"==typeof f?(this._encoded=f,this._decoded=void 0):(this._encoded=void 0,this._decoded=function(e,t){const n=p(e,0);if(n===e.length)return e;t||(e=e.slice());for(let r=n;r<e.length;r=p(e,r+1))e[r]=d(e[r],t);return e}(f,n)),this._decodedMemo={lastKey:-1,lastNeedle:-1,lastIndex:-1},this._bySources=void 0,this._bySourceMemos=void 0}}function I(e,t){return{version:e.version,file:e.file,names:e.names,sourceRoot:e.sourceRoot,sources:e.sources,sourcesContent:e.sourcesContent,mappings:t}}function N(e,t,n,r){return{source:e,line:t,column:n,name:r}}function F(e,t){return{line:e,column:t}}function k(e,t,n,r,i){let s=b(e,r,t,n);return y?s=(i===w?m:T)(e,r,s):i===w&&s++,-1===s||s===e.length?-1:s}(()=>{function n(t,n,r,i,s,u){if(--r<0)throw new Error(v);if(i<0)throw new Error(C);const{sources:p,resolvedSources:h}=t;let d=p.indexOf(n);if(-1===d&&(d=h.indexOf(n)),-1===d)return u?[]:F(null,null);const f=(t._bySources||(t._bySources=function(e,t){const n=t.map(S);for(let r=0;r<e.length;r++){const i=e[r];for(let e=0;e<i.length;e++){const s=i[e];if(1===s.length)continue;const u=s[o],p=s[l],h=s[c],d=n[u],f=d[p]||(d[p]=[]),y=t[u],T=m(f,h,b(f,h,y,p));E(f,y.lastIndex=T+1,[h,r,s[a]])}}return n}(e.decodedMappings(t),t._bySourceMemos=p.map(g))))[d][r];if(null==f)return u?[]:F(null,null);const P=t._bySourceMemos[d];if(u)return function(e,t,n,r,i){let s=k(e,t,n,r,1);if(y||i!==w||s++,-1===s||s===e.length)return[];const o=y?r:e[s][a];y||(s=T(e,o,s));const l=m(e,o,s),c=[];for(;s<=l;s++){const t=e[s];c.push(F(t[1]+1,t[2]))}return c}(f,P,r,i,s);const x=k(f,P,r,i,s);if(-1===x)return F(null,null);const D=f[x];return F(D[1]+1,D[2])}e.encodedMappings=e=>{var n;return null!==(n=e._encoded)&&void 0!==n?n:e._encoded=t.encode(e._decoded)},e.decodedMappings=e=>e._decoded||(e._decoded=t.decode(e._encoded)),e.traceSegment=(t,n,r)=>{const i=e.decodedMappings(t);if(n>=i.length)return null;const s=i[n],a=k(s,t._decodedMemo,n,r,1);return-1===a?null:s[a]},e.originalPositionFor=(t,{line:n,column:r,bias:i})=>{if(--n<0)throw new Error(v);if(r<0)throw new Error(C);const s=e.decodedMappings(t);if(n>=s.length)return N(null,null,null,null);const a=s[n],p=k(a,t._decodedMemo,n,r,i||1);if(-1===p)return N(null,null,null,null);const h=a[p];if(1===h.length)return N(null,null,null,null);const{names:d,resolvedSources:f}=t;return N(f[h[o]],h[l]+1,h[c],5===h.length?d[h[u]]:null)},e.allGeneratedPositionsFor=(e,{source:t,line:r,column:i,bias:s})=>n(e,t,r,i,s||w,!0),e.generatedPositionFor=(e,{source:t,line:r,column:i,bias:s})=>n(e,t,r,i,s||1,!1),e.eachMapping=(t,n)=>{const r=e.decodedMappings(t),{names:i,resolvedSources:s}=t;for(let e=0;e<r.length;e++){const t=r[e];for(let r=0;r<t.length;r++){const a=t[r],o=e+1,l=a[0];let c=null,u=null,p=null,h=null;1!==a.length&&(c=s[a[1]],u=a[2]+1,p=a[3]),5===a.length&&(h=i[a[4]]),n({generatedLine:o,generatedColumn:l,source:c,originalLine:u,originalColumn:p,name:h})}}},e.sourceContentFor=(e,t)=>{const{sources:n,resolvedSources:r,sourcesContent:i}=e;if(null==i)return null;let s=n.indexOf(t);return-1===s&&(s=r.indexOf(t)),-1===s?null:i[s]},e.presortedDecodedMap=(e,t)=>{const n=new O(I(e,[]),t);return n._decoded=e.mappings,n},e.decodedMap=t=>I(t,e.decodedMappings(t)),e.encodedMap=t=>I(t,e.encodedMappings(t))})(),e.AnyMap=function(t,n){const r=\"string\"==typeof t?JSON.parse(t):t;if(!(\"sections\"in r))return new O(r,n);const i=[],s=[],a=[],o=[];P(r,n,i,s,a,o,0,0,1/0,1/0);const l={version:3,file:r.file,names:o,sources:s,sourcesContent:a,mappings:i};return e.presortedDecodedMap(l)},e.GREATEST_LOWER_BOUND=1,e.LEAST_UPPER_BOUND=w,e.TraceMap=O,Object.defineProperty(e,\"__esModule\",{value:!0})}(t,n(2297),n(8435))},6434:(e,t,n)=>{\"use strict\";e=n.nmd(e);const r=n(2085),i=(e,t)=>function(){return`\u001b[${e.apply(r,arguments)+t}m`},s=(e,t)=>function(){const n=e.apply(r,arguments);return`\u001b[${38+t};5;${n}m`},a=(e,t)=>function(){const n=e.apply(r,arguments);return`\u001b[${38+t};2;${n[0]};${n[1]};${n[2]}m`};Object.defineProperty(e,\"exports\",{enumerable:!0,get:function(){const e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.grey=t.color.gray;for(const n of Object.keys(t)){const r=t[n];for(const n of Object.keys(r)){const i=r[n];t[n]={open:`\u001b[${i[0]}m`,close:`\u001b[${i[1]}m`},r[n]=t[n],e.set(i[0],i[1])}Object.defineProperty(t,n,{value:r,enumerable:!1}),Object.defineProperty(t,\"codes\",{value:e,enumerable:!1})}const n=e=>e,o=(e,t,n)=>[e,t,n];t.color.close=\"\u001b[39m\",t.bgColor.close=\"\u001b[49m\",t.color.ansi={ansi:i(n,0)},t.color.ansi256={ansi256:s(n,0)},t.color.ansi16m={rgb:a(o,0)},t.bgColor.ansi={ansi:i(n,10)},t.bgColor.ansi256={ansi256:s(n,10)},t.bgColor.ansi16m={rgb:a(o,10)};for(let e of Object.keys(r)){if(\"object\"!=typeof r[e])continue;const n=r[e];\"ansi16\"===e&&(e=\"ansi\"),\"ansi16\"in n&&(t.color.ansi[e]=i(n.ansi16,0),t.bgColor.ansi[e]=i(n.ansi16,10)),\"ansi256\"in n&&(t.color.ansi256[e]=s(n.ansi256,0),t.bgColor.ansi256[e]=s(n.ansi256,10)),\"rgb\"in n&&(t.color.ansi16m[e]=a(n.rgb,0),t.bgColor.ansi16m[e]=a(n.rgb,10))}return t}})},9742:(e,t)=>{\"use strict\";t.byteLength=function(e){var t=o(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){var t,n,s=o(e),a=s[0],l=s[1],c=new i(function(e,t,n){return 3*(t+n)/4-n}(0,a,l)),u=0,p=l>0?a-4:a;for(n=0;n<p;n+=4)t=r[e.charCodeAt(n)]<<18|r[e.charCodeAt(n+1)]<<12|r[e.charCodeAt(n+2)]<<6|r[e.charCodeAt(n+3)],c[u++]=t>>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===l&&(t=r[e.charCodeAt(n)]<<2|r[e.charCodeAt(n+1)]>>4,c[u++]=255&t),1===l&&(t=r[e.charCodeAt(n)]<<10|r[e.charCodeAt(n+1)]<<4|r[e.charCodeAt(n+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,r=e.length,i=r%3,s=[],a=16383,o=0,c=r-i;o<c;o+=a)s.push(l(e,o,o+a>c?c:o+a));return 1===i?(t=e[r-1],s.push(n[t>>2]+n[t<<4&63]+\"==\")):2===i&&(t=(e[r-2]<<8)+e[r-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+\"=\")),s.join(\"\")};for(var n=[],r=[],i=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,s=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",a=0;a<64;++a)n[a]=s[a],r[s.charCodeAt(a)]=a;function o(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var n=e.indexOf(\"=\");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e,t,r){for(var i,s,a=[],o=t;o<r;o+=3)i=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(255&e[o+2]),a.push(n[(s=i)>>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return a.join(\"\")}r[\"-\".charCodeAt(0)]=62,r[\"_\".charCodeAt(0)]=63},8764:(e,t,n)=>{\"use strict\";const r=n(9742),i=n(645),s=\"function\"==typeof Symbol&&\"function\"==typeof Symbol.for?Symbol.for(\"nodejs.util.inspect.custom\"):null;t.lW=l,t.h2=50;const a=2147483647;function o(e){if(e>a)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if(\"number\"==typeof e){if(\"string\"==typeof t)throw new TypeError('The \"string\" argument must be of type string. Received type number');return p(e)}return c(e,t,n)}function c(e,t,n){if(\"string\"==typeof e)return function(e,t){if(\"string\"==typeof t&&\"\"!==t||(t=\"utf8\"),!l.isEncoding(t))throw new TypeError(\"Unknown encoding: \"+t);const n=0|y(e,t);let r=o(n);const i=r.write(e,t);return i!==n&&(r=r.slice(0,i)),r}(e,t);if(ArrayBuffer.isView(e))return function(e){if($(e,Uint8Array)){const t=new Uint8Array(e);return d(t.buffer,t.byteOffset,t.byteLength)}return h(e)}(e);if(null==e)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e);if($(e,ArrayBuffer)||e&&$(e.buffer,ArrayBuffer))return d(e,t,n);if(\"undefined\"!=typeof SharedArrayBuffer&&($(e,SharedArrayBuffer)||e&&$(e.buffer,SharedArrayBuffer)))return d(e,t,n);if(\"number\"==typeof e)throw new TypeError('The \"value\" argument must not be of type number. Received type number');const r=e.valueOf&&e.valueOf();if(null!=r&&r!==e)return l.from(r,t,n);const i=function(e){if(l.isBuffer(e)){const t=0|f(e.length),n=o(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?\"number\"!=typeof e.length||G(e.length)?o(0):h(e):\"Buffer\"===e.type&&Array.isArray(e.data)?h(e.data):void 0}(e);if(i)return i;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive](\"string\"),t,n);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e)}function u(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be of type number');if(e<0)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"')}function p(e){return u(e),o(e<0?0:0|f(e))}function h(e){const t=e.length<0?0:0|f(e.length),n=o(t);for(let r=0;r<t;r+=1)n[r]=255&e[r];return n}function d(e,t,n){if(t<0||e.byteLength<t)throw new RangeError('\"offset\" is outside of buffer bounds');if(e.byteLength<t+(n||0))throw new RangeError('\"length\" is outside of buffer bounds');let r;return r=void 0===t&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,t):new Uint8Array(e,t,n),Object.setPrototypeOf(r,l.prototype),r}function f(e){if(e>=a)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+a.toString(16)+\" bytes\");return 0|e}function y(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||$(e,ArrayBuffer))return e.byteLength;if(\"string\"!=typeof e)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;let i=!1;for(;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":return q(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return H(e).length;default:if(i)return r?-1:q(e).length;t=(\"\"+t).toLowerCase(),i=!0}}function m(e,t,n){let r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if((n>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return I(this,t,n);case\"utf8\":case\"utf-8\":return v(this,t,n);case\"ascii\":return w(this,t,n);case\"latin1\":case\"binary\":return O(this,t,n);case\"base64\":return A(this,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return N(this,t,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),r=!0}}function T(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function g(e,t,n,r,i){if(0===e.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),G(n=+n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if(\"string\"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:b(e,t,n,r,i);if(\"number\"==typeof t)return t&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):b(e,[t],n,r,i);throw new TypeError(\"val must be string, number or Buffer\")}function b(e,t,n,r,i){let s,a=1,o=e.length,l=t.length;if(void 0!==r&&(\"ucs2\"===(r=String(r).toLowerCase())||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(e.length<2||t.length<2)return-1;a=2,o/=2,l/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){let r=-1;for(s=n;s<o;s++)if(c(e,s)===c(t,-1===r?0:s-r)){if(-1===r&&(r=s),s-r+1===l)return r*a}else-1!==r&&(s-=s-r),r=-1}else for(n+l>o&&(n=o-l),s=n;s>=0;s--){let n=!0;for(let r=0;r<l;r++)if(c(e,s+r)!==c(t,r)){n=!1;break}if(n)return s}return-1}function E(e,t,n,r){n=Number(n)||0;const i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;const s=t.length;let a;for(r>s/2&&(r=s/2),a=0;a<r;++a){const r=parseInt(t.substr(2*a,2),16);if(G(r))return a;e[n+a]=r}return a}function S(e,t,n,r){return J(q(t,e.length-n),e,n,r)}function P(e,t,n,r){return J(function(e){const t=[];for(let n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function x(e,t,n,r){return J(H(t),e,n,r)}function D(e,t,n,r){return J(function(e,t){let n,r,i;const s=[];for(let a=0;a<e.length&&!((t-=2)<0);++a)n=e.charCodeAt(a),r=n>>8,i=n%256,s.push(i),s.push(r);return s}(t,e.length-n),e,n,r)}function A(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function v(e,t,n){n=Math.min(e.length,n);const r=[];let i=t;for(;i<n;){const t=e[i];let s=null,a=t>239?4:t>223?3:t>191?2:1;if(i+a<=n){let n,r,o,l;switch(a){case 1:t<128&&(s=t);break;case 2:n=e[i+1],128==(192&n)&&(l=(31&t)<<6|63&n,l>127&&(s=l));break;case 3:n=e[i+1],r=e[i+2],128==(192&n)&&128==(192&r)&&(l=(15&t)<<12|(63&n)<<6|63&r,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:n=e[i+1],r=e[i+2],o=e[i+3],128==(192&n)&&128==(192&r)&&128==(192&o)&&(l=(15&t)<<18|(63&n)<<12|(63&r)<<6|63&o,l>65535&&l<1114112&&(s=l))}}null===s?(s=65533,a=1):s>65535&&(s-=65536,r.push(s>>>10&1023|55296),s=56320|1023&s),r.push(s),i+=a}return function(e){const t=e.length;if(t<=C)return String.fromCharCode.apply(String,e);let n=\"\",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=C));return n}(r)}l.TYPED_ARRAY_SUPPORT=function(){try{const e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),l.TYPED_ARRAY_SUPPORT||\"undefined\"==typeof console||\"function\"!=typeof console.error||console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"),Object.defineProperty(l.prototype,\"parent\",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.buffer}}),Object.defineProperty(l.prototype,\"offset\",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.byteOffset}}),l.poolSize=8192,l.from=function(e,t,n){return c(e,t,n)},Object.setPrototypeOf(l.prototype,Uint8Array.prototype),Object.setPrototypeOf(l,Uint8Array),l.alloc=function(e,t,n){return function(e,t,n){return u(e),e<=0?o(e):void 0!==t?\"string\"==typeof n?o(e).fill(t,n):o(e).fill(t):o(e)}(e,t,n)},l.allocUnsafe=function(e){return p(e)},l.allocUnsafeSlow=function(e){return p(e)},l.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==l.prototype},l.compare=function(e,t){if($(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),$(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let n=e.length,r=t.length;for(let i=0,s=Math.min(n,r);i<s;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},l.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},l.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return l.alloc(0);let n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;const r=l.allocUnsafe(t);let i=0;for(n=0;n<e.length;++n){let t=e[n];if($(t,Uint8Array))i+t.length>r.length?(l.isBuffer(t)||(t=l.from(t)),t.copy(r,i)):Uint8Array.prototype.set.call(r,t,i);else{if(!l.isBuffer(t))throw new TypeError('\"list\" argument must be an Array of Buffers');t.copy(r,i)}i+=t.length}return r},l.byteLength=y,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(let t=0;t<e;t+=2)T(this,t,t+1);return this},l.prototype.swap32=function(){const e=this.length;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(let t=0;t<e;t+=4)T(this,t,t+3),T(this,t+1,t+2);return this},l.prototype.swap64=function(){const e=this.length;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(let t=0;t<e;t+=8)T(this,t,t+7),T(this,t+1,t+6),T(this,t+2,t+5),T(this,t+3,t+4);return this},l.prototype.toString=function(){const e=this.length;return 0===e?\"\":0===arguments.length?v(this,0,e):m.apply(this,arguments)},l.prototype.toLocaleString=l.prototype.toString,l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){let e=\"\";const n=t.h2;return e=this.toString(\"hex\",0,n).replace(/(.{2})/g,\"$1 \").trim(),this.length>n&&(e+=\" ... \"),\"<Buffer \"+e+\">\"},s&&(l.prototype[s]=l.prototype.inspect),l.prototype.compare=function(e,t,n,r,i){if($(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError(\"out of range index\");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;let s=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0);const o=Math.min(s,a),c=this.slice(r,i),u=e.slice(t,n);for(let e=0;e<o;++e)if(c[e]!==u[e]){s=c[e],a=u[e];break}return s<a?-1:a<s?1:0},l.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},l.prototype.indexOf=function(e,t,n){return g(this,e,t,n,!0)},l.prototype.lastIndexOf=function(e,t,n){return g(this,e,t,n,!1)},l.prototype.write=function(e,t,n,r){if(void 0===t)r=\"utf8\",n=this.length,t=0;else if(void 0===n&&\"string\"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t>>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r=\"utf8\")):(r=n,n=void 0)}const i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");let s=!1;for(;;)switch(r){case\"hex\":return E(this,e,t,n);case\"utf8\":case\"utf-8\":return S(this,e,t,n);case\"ascii\":case\"latin1\":case\"binary\":return P(this,e,t,n);case\"base64\":return x(this,e,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return D(this,e,t,n);default:if(s)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};const C=4096;function w(e,t,n){let r=\"\";n=Math.min(e.length,n);for(let i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function O(e,t,n){let r=\"\";n=Math.min(e.length,n);for(let i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function I(e,t,n){const r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);let i=\"\";for(let r=t;r<n;++r)i+=z[e[r]];return i}function N(e,t,n){const r=e.slice(t,n);let i=\"\";for(let e=0;e<r.length-1;e+=2)i+=String.fromCharCode(r[e]+256*r[e+1]);return i}function F(e,t,n){if(e%1!=0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>n)throw new RangeError(\"Trying to access beyond buffer length\")}function k(e,t,n,r,i,s){if(!l.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<s)throw new RangeError('\"value\" argument is out of bounds');if(n+r>e.length)throw new RangeError(\"Index out of range\")}function L(e,t,n,r,i){K(t,r,i,e,n,7);let s=Number(t&BigInt(4294967295));e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a,n}function _(e,t,n,r,i){K(t,r,i,e,n,7);let s=Number(t&BigInt(4294967295));e[n+7]=s,s>>=8,e[n+6]=s,s>>=8,e[n+5]=s,s>>=8,e[n+4]=s;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=a,a>>=8,e[n+2]=a,a>>=8,e[n+1]=a,a>>=8,e[n]=a,n+8}function M(e,t,n,r,i,s){if(n+r>e.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function B(e,t,n,r,s){return t=+t,n>>>=0,s||M(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function j(e,t,n,r,s){return t=+t,n>>>=0,s||M(e,0,n,8),i.write(e,t,n,r,52,8),n+8}l.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e);const r=this.subarray(e,t);return Object.setPrototypeOf(r,l.prototype),r},l.prototype.readUintLE=l.prototype.readUIntLE=function(e,t,n){e>>>=0,t>>>=0,n||F(e,t,this.length);let r=this[e],i=1,s=0;for(;++s<t&&(i*=256);)r+=this[e+s]*i;return r},l.prototype.readUintBE=l.prototype.readUIntBE=function(e,t,n){e>>>=0,t>>>=0,n||F(e,t,this.length);let r=this[e+--t],i=1;for(;t>0&&(i*=256);)r+=this[e+--t]*i;return r},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||F(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||F(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||F(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||F(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||F(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readBigUInt64LE=Q((function(e){W(e>>>=0,\"offset\");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||X(e,this.length-8);const r=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,i=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(r)+(BigInt(i)<<BigInt(32))})),l.prototype.readBigUInt64BE=Q((function(e){W(e>>>=0,\"offset\");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||X(e,this.length-8);const r=t*2**24+65536*this[++e]+256*this[++e]+this[++e],i=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(r)<<BigInt(32))+BigInt(i)})),l.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||F(e,t,this.length);let r=this[e],i=1,s=0;for(;++s<t&&(i*=256);)r+=this[e+s]*i;return i*=128,r>=i&&(r-=Math.pow(2,8*t)),r},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||F(e,t,this.length);let r=t,i=1,s=this[e+--r];for(;r>0&&(i*=256);)s+=this[e+--r]*i;return i*=128,s>=i&&(s-=Math.pow(2,8*t)),s},l.prototype.readInt8=function(e,t){return e>>>=0,t||F(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||F(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||F(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||F(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||F(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readBigInt64LE=Q((function(e){W(e>>>=0,\"offset\");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||X(e,this.length-8);const r=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(r)<<BigInt(32))+BigInt(t+256*this[++e]+65536*this[++e]+this[++e]*2**24)})),l.prototype.readBigInt64BE=Q((function(e){W(e>>>=0,\"offset\");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||X(e,this.length-8);const r=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(r)<<BigInt(32))+BigInt(this[++e]*2**24+65536*this[++e]+256*this[++e]+n)})),l.prototype.readFloatLE=function(e,t){return e>>>=0,t||F(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||F(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||F(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||F(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,r){e=+e,t>>>=0,n>>>=0,r||k(this,e,t,n,Math.pow(2,8*n)-1,0);let i=1,s=0;for(this[t]=255&e;++s<n&&(i*=256);)this[t+s]=e/i&255;return t+n},l.prototype.writeUintBE=l.prototype.writeUIntBE=function(e,t,n,r){e=+e,t>>>=0,n>>>=0,r||k(this,e,t,n,Math.pow(2,8*n)-1,0);let i=n-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||k(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||k(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||k(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||k(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||k(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigUInt64LE=Q((function(e,t=0){return L(this,e,t,BigInt(0),BigInt(\"0xffffffffffffffff\"))})),l.prototype.writeBigUInt64BE=Q((function(e,t=0){return _(this,e,t,BigInt(0),BigInt(\"0xffffffffffffffff\"))})),l.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){const r=Math.pow(2,8*n-1);k(this,e,t,n,r-1,-r)}let i=0,s=1,a=0;for(this[t]=255&e;++i<n&&(s*=256);)e<0&&0===a&&0!==this[t+i-1]&&(a=1),this[t+i]=(e/s>>0)-a&255;return t+n},l.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){const r=Math.pow(2,8*n-1);k(this,e,t,n,r-1,-r)}let i=n-1,s=1,a=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/s>>0)-a&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||k(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||k(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||k(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||k(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||k(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigInt64LE=Q((function(e,t=0){return L(this,e,t,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))})),l.prototype.writeBigInt64BE=Q((function(e,t=0){return _(this,e,t,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))})),l.prototype.writeFloatLE=function(e,t,n){return B(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return B(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return j(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return j(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,r){if(!l.isBuffer(e))throw new TypeError(\"argument should be a Buffer\");if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);const i=r-n;return this===e&&\"function\"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(t,n,r):Uint8Array.prototype.set.call(e,this.subarray(n,r),t),i},l.prototype.fill=function(e,t,n,r){if(\"string\"==typeof e){if(\"string\"==typeof t?(r=t,t=0,n=this.length):\"string\"==typeof n&&(r=n,n=this.length),void 0!==r&&\"string\"!=typeof r)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof r&&!l.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r);if(1===e.length){const t=e.charCodeAt(0);(\"utf8\"===r&&t<128||\"latin1\"===r)&&(e=t)}}else\"number\"==typeof e?e&=255:\"boolean\"==typeof e&&(e=Number(e));if(t<0||this.length<t||this.length<n)throw new RangeError(\"Out of range index\");if(n<=t)return this;let i;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),\"number\"==typeof e)for(i=t;i<n;++i)this[i]=e;else{const s=l.isBuffer(e)?e:l.from(e,r),a=s.length;if(0===a)throw new TypeError('The value \"'+e+'\" is invalid for argument \"value\"');for(i=0;i<n-t;++i)this[i+t]=s[i%a]}return this};const R={};function U(e,t,n){R[e]=class extends n{constructor(){super(),Object.defineProperty(this,\"message\",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(e){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value:e,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}function V(e){let t=\"\",n=e.length;const r=\"-\"===e[0]?1:0;for(;n>=r+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function K(e,t,n,r,i,s){if(e>n||e<t){const r=\"bigint\"==typeof t?\"n\":\"\";let i;throw i=s>3?0===t||t===BigInt(0)?`>= 0${r} and < 2${r} ** ${8*(s+1)}${r}`:`>= -(2${r} ** ${8*(s+1)-1}${r}) and < 2 ** ${8*(s+1)-1}${r}`:`>= ${t}${r} and <= ${n}${r}`,new R.ERR_OUT_OF_RANGE(\"value\",i,e)}!function(e,t,n){W(t,\"offset\"),void 0!==e[t]&&void 0!==e[t+n]||X(t,e.length-(n+1))}(r,i,s)}function W(e,t){if(\"number\"!=typeof e)throw new R.ERR_INVALID_ARG_TYPE(t,\"number\",e)}function X(e,t,n){if(Math.floor(e)!==e)throw W(e,n),new R.ERR_OUT_OF_RANGE(n||\"offset\",\"an integer\",e);if(t<0)throw new R.ERR_BUFFER_OUT_OF_BOUNDS;throw new R.ERR_OUT_OF_RANGE(n||\"offset\",`>= ${n?1:0} and <= ${t}`,e)}U(\"ERR_BUFFER_OUT_OF_BOUNDS\",(function(e){return e?`${e} is outside of buffer bounds`:\"Attempt to access memory outside buffer bounds\"}),RangeError),U(\"ERR_INVALID_ARG_TYPE\",(function(e,t){return`The \"${e}\" argument must be of type number. Received type ${typeof t}`}),TypeError),U(\"ERR_OUT_OF_RANGE\",(function(e,t,n){let r=`The value of \"${e}\" is out of range.`,i=n;return Number.isInteger(n)&&Math.abs(n)>2**32?i=V(String(n)):\"bigint\"==typeof n&&(i=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(i=V(i)),i+=\"n\"),r+=` It must be ${t}. Received ${i}`,r}),RangeError);const Y=/[^+/0-9A-Za-z-_]/g;function q(e,t){let n;t=t||1/0;const r=e.length;let i=null;const s=[];for(let a=0;a<r;++a){if(n=e.charCodeAt(a),n>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&s.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function H(e){return r.toByteArray(function(e){if((e=(e=e.split(\"=\")[0]).trim().replace(Y,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function J(e,t,n,r){let i;for(i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function $(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function G(e){return e!=e}const z=function(){const e=\"0123456789abcdef\",t=new Array(256);for(let n=0;n<16;++n){const r=16*n;for(let i=0;i<16;++i)t[r+i]=e[n]+e[i]}return t}();function Q(e){return\"undefined\"==typeof BigInt?Z:e}function Z(){throw new Error(\"BigInt not supported\")}},2589:(e,t,n)=>{\"use strict\";var r=n(4155);const i=n(3150),s=n(6434),a=n(8555).stdout,o=n(6864),l=\"win32\"===r.platform&&!(r.env.TERM||\"\").toLowerCase().startsWith(\"xterm\"),c=[\"ansi\",\"ansi\",\"ansi256\",\"ansi16m\"],u=new Set([\"gray\"]),p=Object.create(null);function h(e,t){t=t||{};const n=a?a.level:0;e.level=void 0===t.level?n:t.level,e.enabled=\"enabled\"in t?t.enabled:e.level>0}function d(e){if(!this||!(this instanceof d)||this.template){const t={};return h(t,e),t.template=function(){const e=[].slice.call(arguments);return T.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,d.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=d,t.template}h(this,e)}l&&(s.blue.open=\"\u001b[94m\");for(const e of Object.keys(s))s[e].closeRe=new RegExp(i(s[e].close),\"g\"),p[e]={get(){const t=s[e];return y.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}};p.visible={get(){return y.call(this,this._styles||[],!0,\"visible\")}},s.color.closeRe=new RegExp(i(s.color.close),\"g\");for(const e of Object.keys(s.color.ansi))u.has(e)||(p[e]={get(){const t=this.level;return function(){const n={open:s.color[c[t]][e].apply(null,arguments),close:s.color.close,closeRe:s.color.closeRe};return y.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}});s.bgColor.closeRe=new RegExp(i(s.bgColor.close),\"g\");for(const e of Object.keys(s.bgColor.ansi))u.has(e)||(p[\"bg\"+e[0].toUpperCase()+e.slice(1)]={get(){const t=this.level;return function(){const n={open:s.bgColor[c[t]][e].apply(null,arguments),close:s.bgColor.close,closeRe:s.bgColor.closeRe};return y.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}});const f=Object.defineProperties((()=>{}),p);function y(e,t,n){const r=function(){return m.apply(r,arguments)};r._styles=e,r._empty=t;const i=this;return Object.defineProperty(r,\"level\",{enumerable:!0,get:()=>i.level,set(e){i.level=e}}),Object.defineProperty(r,\"enabled\",{enumerable:!0,get:()=>i.enabled,set(e){i.enabled=e}}),r.hasGrey=this.hasGrey||\"gray\"===n||\"grey\"===n,r.__proto__=f,r}function m(){const e=arguments,t=e.length;let n=String(arguments[0]);if(0===t)return\"\";if(t>1)for(let r=1;r<t;r++)n+=\" \"+e[r];if(!this.enabled||this.level<=0||!n)return this._empty?\"\":n;const r=s.dim.open;l&&this.hasGrey&&(s.dim.open=\"\");for(const e of this._styles.slice().reverse())n=e.open+n.replace(e.closeRe,e.open)+e.close,n=n.replace(/\\r?\\n/g,`${e.close}$&${e.open}`);return s.dim.open=r,n}function T(e,t){if(!Array.isArray(t))return[].slice.call(arguments,1).join(\" \");const n=[].slice.call(arguments,2),r=[t.raw[0]];for(let e=1;e<t.length;e++)r.push(String(n[e-1]).replace(/[{}\\\\]/g,\"\\\\$&\")),r.push(String(t.raw[e]));return o(e,r.join(\"\"))}Object.defineProperties(d.prototype,p),e.exports=d(),e.exports.supportsColor=a,e.exports.default=e.exports},6864:e=>{\"use strict\";const t=/(?:\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi,n=/(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g,r=/^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/,i=/\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.)|([^\\\\])/gi,s=new Map([[\"n\",\"\\n\"],[\"r\",\"\\r\"],[\"t\",\"\\t\"],[\"b\",\"\\b\"],[\"f\",\"\\f\"],[\"v\",\"\\v\"],[\"0\",\"\\0\"],[\"\\\\\",\"\\\\\"],[\"e\",\"\u001b\"],[\"a\",\"\u0007\"]]);function a(e){return\"u\"===e[0]&&5===e.length||\"x\"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):s.get(e)||e}function o(e,t){const n=[],s=t.trim().split(/\\s*,\\s*/g);let o;for(const t of s)if(isNaN(t)){if(!(o=t.match(r)))throw new Error(`Invalid Chalk template style argument: ${t} (in style '${e}')`);n.push(o[2].replace(i,((e,t,n)=>t?a(t):n)))}else n.push(Number(t));return n}function l(e){n.lastIndex=0;const t=[];let r;for(;null!==(r=n.exec(e));){const e=r[1];if(r[2]){const n=o(e,r[2]);t.push([e].concat(n))}else t.push([e])}return t}function c(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const e of Object.keys(n))if(Array.isArray(n[e])){if(!(e in r))throw new Error(`Unknown Chalk style: ${e}`);r=n[e].length>0?r[e].apply(r,n[e]):r[e]}return r}e.exports=(e,n)=>{const r=[],i=[];let s=[];if(n.replace(t,((t,n,o,u,p,h)=>{if(n)s.push(a(n));else if(u){const t=s.join(\"\");s=[],i.push(0===r.length?t:c(e,r)(t)),r.push({inverse:o,styles:l(u)})}else if(p){if(0===r.length)throw new Error(\"Found extraneous } in Chalk template literal\");i.push(c(e,r)(s.join(\"\"))),s=[],r.pop()}else s.push(h)})),i.push(s.join(\"\")),r.length>0){const e=`Chalk template literal is missing ${r.length} closing bracket${1===r.length?\"\":\"s\"} (\\`}\\`)`;throw new Error(e)}return i.join(\"\")}},8168:(e,t,n)=>{var r=n(3515),i={};for(var s in r)r.hasOwnProperty(s)&&(i[r[s]]=s);var a=e.exports={rgb:{channels:3,labels:\"rgb\"},hsl:{channels:3,labels:\"hsl\"},hsv:{channels:3,labels:\"hsv\"},hwb:{channels:3,labels:\"hwb\"},cmyk:{channels:4,labels:\"cmyk\"},xyz:{channels:3,labels:\"xyz\"},lab:{channels:3,labels:\"lab\"},lch:{channels:3,labels:\"lch\"},hex:{channels:1,labels:[\"hex\"]},keyword:{channels:1,labels:[\"keyword\"]},ansi16:{channels:1,labels:[\"ansi16\"]},ansi256:{channels:1,labels:[\"ansi256\"]},hcg:{channels:3,labels:[\"h\",\"c\",\"g\"]},apple:{channels:3,labels:[\"r16\",\"g16\",\"b16\"]},gray:{channels:1,labels:[\"gray\"]}};for(var o in a)if(a.hasOwnProperty(o)){if(!(\"channels\"in a[o]))throw new Error(\"missing channels property: \"+o);if(!(\"labels\"in a[o]))throw new Error(\"missing channel labels property: \"+o);if(a[o].labels.length!==a[o].channels)throw new Error(\"channel and label counts mismatch: \"+o);var l=a[o].channels,c=a[o].labels;delete a[o].channels,delete a[o].labels,Object.defineProperty(a[o],\"channels\",{value:l}),Object.defineProperty(a[o],\"labels\",{value:c})}a.rgb.hsl=function(e){var t,n,r=e[0]/255,i=e[1]/255,s=e[2]/255,a=Math.min(r,i,s),o=Math.max(r,i,s),l=o-a;return o===a?t=0:r===o?t=(i-s)/l:i===o?t=2+(s-r)/l:s===o&&(t=4+(r-i)/l),(t=Math.min(60*t,360))<0&&(t+=360),n=(a+o)/2,[t,100*(o===a?0:n<=.5?l/(o+a):l/(2-o-a)),100*n]},a.rgb.hsv=function(e){var t,n,r=e[0],i=e[1],s=e[2],a=Math.min(r,i,s),o=Math.max(r,i,s),l=o-a;return n=0===o?0:l/o*1e3/10,o===a?t=0:r===o?t=(i-s)/l:i===o?t=2+(s-r)/l:s===o&&(t=4+(r-i)/l),(t=Math.min(60*t,360))<0&&(t+=360),[t,n,o/255*1e3/10]},a.rgb.hwb=function(e){var t=e[0],n=e[1],r=e[2];return[a.rgb.hsl(e)[0],1/255*Math.min(t,Math.min(n,r))*100,100*(r=1-1/255*Math.max(t,Math.max(n,r)))]},a.rgb.cmyk=function(e){var t,n=e[0]/255,r=e[1]/255,i=e[2]/255;return[100*((1-n-(t=Math.min(1-n,1-r,1-i)))/(1-t)||0),100*((1-r-t)/(1-t)||0),100*((1-i-t)/(1-t)||0),100*t]},a.rgb.keyword=function(e){var t=i[e];if(t)return t;var n,s,a,o=1/0;for(var l in r)if(r.hasOwnProperty(l)){var c=(s=e,a=r[l],Math.pow(s[0]-a[0],2)+Math.pow(s[1]-a[1],2)+Math.pow(s[2]-a[2],2));c<o&&(o=c,n=l)}return n},a.keyword.rgb=function(e){return r[e]},a.rgb.xyz=function(e){var t=e[0]/255,n=e[1]/255,r=e[2]/255;return[100*(.4124*(t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},a.rgb.lab=function(e){var t=a.rgb.xyz(e),n=t[0],r=t[1],i=t[2];return r/=100,i/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116)-16,500*(n-r),200*(r-(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116))]},a.hsl.rgb=function(e){var t,n,r,i,s,a=e[0]/360,o=e[1]/100,l=e[2]/100;if(0===o)return[s=255*l,s,s];t=2*l-(n=l<.5?l*(1+o):l+o-l*o),i=[0,0,0];for(var c=0;c<3;c++)(r=a+1/3*-(c-1))<0&&r++,r>1&&r--,s=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,i[c]=255*s;return i},a.hsl.hsv=function(e){var t=e[0],n=e[1]/100,r=e[2]/100,i=n,s=Math.max(r,.01);return n*=(r*=2)<=1?r:2-r,i*=s<=1?s:2-s,[t,100*(0===r?2*i/(s+i):2*n/(r+n)),(r+n)/2*100]},a.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,i=Math.floor(t)%6,s=t-Math.floor(t),a=255*r*(1-n),o=255*r*(1-n*s),l=255*r*(1-n*(1-s));switch(r*=255,i){case 0:return[r,l,a];case 1:return[o,r,a];case 2:return[a,r,l];case 3:return[a,o,r];case 4:return[l,a,r];case 5:return[r,a,o]}},a.hsv.hsl=function(e){var t,n,r,i=e[0],s=e[1]/100,a=e[2]/100,o=Math.max(a,.01);return r=(2-s)*a,n=s*o,[i,100*(n=(n/=(t=(2-s)*o)<=1?t:2-t)||0),100*(r/=2)]},a.hwb.rgb=function(e){var t,n,r,i,s,a,o,l=e[0]/360,c=e[1]/100,u=e[2]/100,p=c+u;switch(p>1&&(c/=p,u/=p),r=6*l-(t=Math.floor(6*l)),0!=(1&t)&&(r=1-r),i=c+r*((n=1-u)-c),t){default:case 6:case 0:s=n,a=i,o=c;break;case 1:s=i,a=n,o=c;break;case 2:s=c,a=n,o=i;break;case 3:s=c,a=i,o=n;break;case 4:s=i,a=c,o=n;break;case 5:s=n,a=c,o=i}return[255*s,255*a,255*o]},a.cmyk.rgb=function(e){var t=e[0]/100,n=e[1]/100,r=e[2]/100,i=e[3]/100;return[255*(1-Math.min(1,t*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i)),255*(1-Math.min(1,r*(1-i)+i))]},a.xyz.rgb=function(e){var t,n,r,i=e[0]/100,s=e[1]/100,a=e[2]/100;return n=-.9689*i+1.8758*s+.0415*a,r=.0557*i+-.204*s+1.057*a,t=(t=3.2406*i+-1.5372*s+-.4986*a)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(r=Math.min(Math.max(0,r),1))]},a.xyz.lab=function(e){var t=e[0],n=e[1],r=e[2];return n/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},a.lab.xyz=function(e){var t,n,r,i=e[0];t=e[1]/500+(n=(i+16)/116),r=n-e[2]/200;var s=Math.pow(n,3),a=Math.pow(t,3),o=Math.pow(r,3);return n=s>.008856?s:(n-16/116)/7.787,t=a>.008856?a:(t-16/116)/7.787,r=o>.008856?o:(r-16/116)/7.787,[t*=95.047,n*=100,r*=108.883]},a.lab.lch=function(e){var t,n=e[0],r=e[1],i=e[2];return(t=360*Math.atan2(i,r)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(r*r+i*i),t]},a.lch.lab=function(e){var t,n=e[0],r=e[1];return t=e[2]/360*2*Math.PI,[n,r*Math.cos(t),r*Math.sin(t)]},a.rgb.ansi16=function(e){var t=e[0],n=e[1],r=e[2],i=1 in arguments?arguments[1]:a.rgb.hsv(e)[2];if(0===(i=Math.round(i/50)))return 30;var s=30+(Math.round(r/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===i&&(s+=60),s},a.hsv.ansi16=function(e){return a.rgb.ansi16(a.hsv.rgb(e),e[2])},a.rgb.ansi256=function(e){var t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},a.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},a.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;return e-=16,[Math.floor(e/36)/5*255,Math.floor((n=e%36)/6)/5*255,n%6/5*255]},a.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return\"000000\".substring(t.length)+t},a.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split(\"\").map((function(e){return e+e})).join(\"\"));var r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},a.rgb.hcg=function(e){var t,n=e[0]/255,r=e[1]/255,i=e[2]/255,s=Math.max(Math.max(n,r),i),a=Math.min(Math.min(n,r),i),o=s-a;return t=o<=0?0:s===n?(r-i)/o%6:s===r?2+(i-n)/o:4+(n-r)/o+4,t/=6,[360*(t%=1),100*o,100*(o<1?a/(1-o):0)]},a.hsl.hcg=function(e){var t,n=e[1]/100,r=e[2]/100,i=0;return(t=r<.5?2*n*r:2*n*(1-r))<1&&(i=(r-.5*t)/(1-t)),[e[0],100*t,100*i]},a.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=t*n,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},a.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];var i,s=[0,0,0],a=t%1*6,o=a%1,l=1-o;switch(Math.floor(a)){case 0:s[0]=1,s[1]=o,s[2]=0;break;case 1:s[0]=l,s[1]=1,s[2]=0;break;case 2:s[0]=0,s[1]=1,s[2]=o;break;case 3:s[0]=0,s[1]=l,s[2]=1;break;case 4:s[0]=o,s[1]=0,s[2]=1;break;default:s[0]=1,s[1]=0,s[2]=l}return i=(1-n)*r,[255*(n*s[0]+i),255*(n*s[1]+i),255*(n*s[2]+i)]},a.hcg.hsv=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},a.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},a.hcg.hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},a.hwb.hcg=function(e){var t=e[1]/100,n=1-e[2]/100,r=n-t,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},a.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},a.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},a.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},a.gray.hsl=a.gray.hsv=function(e){return[0,0,e[0]]},a.gray.hwb=function(e){return[0,100,e[0]]},a.gray.cmyk=function(e){return[0,0,0,e[0]]},a.gray.lab=function(e){return[e[0],0,0]},a.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return\"000000\".substring(n.length)+n},a.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},2085:(e,t,n)=>{var r=n(8168),i=n(4111),s={};Object.keys(r).forEach((function(e){s[e]={},Object.defineProperty(s[e],\"channels\",{value:r[e].channels}),Object.defineProperty(s[e],\"labels\",{value:r[e].labels});var t=i(e);Object.keys(t).forEach((function(n){var r=t[n];s[e][n]=function(e){var t=function(t){if(null==t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if(\"object\"==typeof n)for(var r=n.length,i=0;i<r;i++)n[i]=Math.round(n[i]);return n};return\"conversion\"in e&&(t.conversion=e.conversion),t}(r),s[e][n].raw=function(e){var t=function(t){return null==t?t:(arguments.length>1&&(t=Array.prototype.slice.call(arguments)),e(t))};return\"conversion\"in e&&(t.conversion=e.conversion),t}(r)}))})),e.exports=s},4111:(e,t,n)=>{var r=n(8168);function i(e,t){return function(n){return t(e(n))}}function s(e,t){for(var n=[t[e].parent,e],s=r[t[e].parent][e],a=t[e].parent;t[a].parent;)n.unshift(t[a].parent),s=i(r[t[a].parent][a],s),a=t[a].parent;return s.conversion=n,s}e.exports=function(e){for(var t=function(e){var t=function(){for(var e={},t=Object.keys(r),n=t.length,i=0;i<n;i++)e[t[i]]={distance:-1,parent:null};return e}(),n=[e];for(t[e].distance=0;n.length;)for(var i=n.pop(),s=Object.keys(r[i]),a=s.length,o=0;o<a;o++){var l=s[o],c=t[l];-1===c.distance&&(c.distance=t[i].distance+1,c.parent=i,n.unshift(l))}return t}(e),n={},i=Object.keys(t),a=i.length,o=0;o<a;o++){var l=i[o];null!==t[l].parent&&(n[l]=s(l,t))}return n}},3515:e=>{\"use strict\";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},1227:(e,t,n)=>{var r=n(4155);t.log=function(...e){return\"object\"==typeof console&&console.log&&console.log(...e)},t.formatArgs=function(t){if(t[0]=(this.useColors?\"%c\":\"\")+this.namespace+(this.useColors?\" %c\":\" \")+t[0]+(this.useColors?\"%c \":\" \")+\"+\"+e.exports.humanize(this.diff),!this.useColors)return;const n=\"color: \"+this.color;t.splice(1,0,n,\"color: inherit\");let r=0,i=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{\"%%\"!==e&&(r++,\"%c\"===e&&(i=r))})),t.splice(i,0,n)},t.save=function(e){try{e?t.storage.setItem(\"debug\",e):t.storage.removeItem(\"debug\")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem(\"debug\")}catch(e){}return!e&&void 0!==r&&\"env\"in r&&(e=r.env.DEBUG),e},t.useColors=function(){return!(\"undefined\"==typeof window||!window.process||\"renderer\"!==window.process.type&&!window.process.__nwjs)||(\"undefined\"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/))&&(\"undefined\"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||\"undefined\"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/))},t.storage=function(){try{return localStorage}catch(e){}}(),t.colors=[\"#0000CC\",\"#0000FF\",\"#0033CC\",\"#0033FF\",\"#0066CC\",\"#0066FF\",\"#0099CC\",\"#0099FF\",\"#00CC00\",\"#00CC33\",\"#00CC66\",\"#00CC99\",\"#00CCCC\",\"#00CCFF\",\"#3300CC\",\"#3300FF\",\"#3333CC\",\"#3333FF\",\"#3366CC\",\"#3366FF\",\"#3399CC\",\"#3399FF\",\"#33CC00\",\"#33CC33\",\"#33CC66\",\"#33CC99\",\"#33CCCC\",\"#33CCFF\",\"#6600CC\",\"#6600FF\",\"#6633CC\",\"#6633FF\",\"#66CC00\",\"#66CC33\",\"#9900CC\",\"#9900FF\",\"#9933CC\",\"#9933FF\",\"#99CC00\",\"#99CC33\",\"#CC0000\",\"#CC0033\",\"#CC0066\",\"#CC0099\",\"#CC00CC\",\"#CC00FF\",\"#CC3300\",\"#CC3333\",\"#CC3366\",\"#CC3399\",\"#CC33CC\",\"#CC33FF\",\"#CC6600\",\"#CC6633\",\"#CC9900\",\"#CC9933\",\"#CCCC00\",\"#CCCC33\",\"#FF0000\",\"#FF0033\",\"#FF0066\",\"#FF0099\",\"#FF00CC\",\"#FF00FF\",\"#FF3300\",\"#FF3333\",\"#FF3366\",\"#FF3399\",\"#FF33CC\",\"#FF33FF\",\"#FF6600\",\"#FF6633\",\"#FF9900\",\"#FF9933\",\"#FFCC00\",\"#FFCC33\"],e.exports=n(2447)(t);const{formatters:i}=e.exports;i.j=function(e){try{return JSON.stringify(e)}catch(e){return\"[UnexpectedJSONParseError]: \"+e.message}}},2447:(e,t,n)=>{e.exports=function(e){function t(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return r.colors[Math.abs(t)%r.colors.length]}function r(e){let n;function a(...e){if(!a.enabled)return;const t=a,i=Number(new Date),s=i-(n||i);t.diff=s,t.prev=n,t.curr=i,n=i,e[0]=r.coerce(e[0]),\"string\"!=typeof e[0]&&e.unshift(\"%O\");let o=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((n,i)=>{if(\"%%\"===n)return n;o++;const s=r.formatters[i];if(\"function\"==typeof s){const r=e[o];n=s.call(t,r),e.splice(o,1),o--}return n})),r.formatArgs.call(t,e),(t.log||r.log).apply(t,e)}return a.namespace=e,a.enabled=r.enabled(e),a.useColors=r.useColors(),a.color=t(e),a.destroy=i,a.extend=s,\"function\"==typeof r.init&&r.init(a),r.instances.push(a),a}function i(){const e=r.instances.indexOf(this);return-1!==e&&(r.instances.splice(e,1),!0)}function s(e,t){const n=r(this.namespace+(void 0===t?\":\":t)+e);return n.log=this.log,n}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\\.\\*\\?$/,\"*\")}return r.debug=r,r.default=r,r.coerce=function(e){return e instanceof Error?e.stack||e.message:e},r.disable=function(){const e=[...r.names.map(a),...r.skips.map(a).map((e=>\"-\"+e))].join(\",\");return r.enable(\"\"),e},r.enable=function(e){let t;r.save(e),r.names=[],r.skips=[];const n=(\"string\"==typeof e?e:\"\").split(/[\\s,]+/),i=n.length;for(t=0;t<i;t++)n[t]&&(\"-\"===(e=n[t].replace(/\\*/g,\".*?\"))[0]?r.skips.push(new RegExp(\"^\"+e.substr(1)+\"$\")):r.names.push(new RegExp(\"^\"+e+\"$\")));for(t=0;t<r.instances.length;t++){const e=r.instances[t];e.enabled=r.enabled(e.namespace)}},r.enabled=function(e){if(\"*\"===e[e.length-1])return!0;let t,n;for(t=0,n=r.skips.length;t<n;t++)if(r.skips[t].test(e))return!1;for(t=0,n=r.names.length;t<n;t++)if(r.names[t].test(e))return!0;return!1},r.humanize=n(7824),Object.keys(e).forEach((t=>{r[t]=e[t]})),r.instances=[],r.names=[],r.skips=[],r.formatters={},r.selectColor=t,r.enable(r.load()),r}},9996:e=>{\"use strict\";var t=function(e){return function(e){return!!e&&\"object\"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return\"[object RegExp]\"===t||\"[object Date]\"===t||function(e){return e.$$typeof===n}(e)}(e)},n=\"function\"==typeof Symbol&&Symbol.for?Symbol.for(\"react.element\"):60103;function r(e,t){return!1!==t.clone&&t.isMergeableObject(e)?o((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function i(e,t,n){return e.concat(t).map((function(e){return r(e,n)}))}function s(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function a(e,t){try{return t in e}catch(e){return!1}}function o(e,n,l){(l=l||{}).arrayMerge=l.arrayMerge||i,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=r;var c=Array.isArray(n);return c===Array.isArray(e)?c?l.arrayMerge(e,n,l):function(e,t,n){var i={};return n.isMergeableObject(e)&&s(e).forEach((function(t){i[t]=r(e[t],n)})),s(t).forEach((function(s){(function(e,t){return a(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,s)||(a(e,s)&&n.isMergeableObject(t[s])?i[s]=function(e,t){if(!t.customMerge)return o;var n=t.customMerge(e);return\"function\"==typeof n?n:o}(s,n)(e[s],t[s],n):i[s]=r(t[s],n))})),i}(e,n,l):r(n,l)}o.all=function(e,t){if(!Array.isArray(e))throw new Error(\"first argument should be an array\");return e.reduce((function(e,n){return o(e,n,t)}),{})};var l=o;e.exports=l},4021:e=>{var t={};function n(e){return e.match(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[^\\uD800-\\uDFFF]/g)||[]}e.exports=t,t.eastAsianWidth=function(e){var t=e.charCodeAt(0),n=2==e.length?e.charCodeAt(1):0,r=t;return 55296<=t&&t<=56319&&56320<=n&&n<=57343&&(r=(t&=1023)<<10|(n&=1023),r+=65536),12288==r||65281<=r&&r<=65376||65504<=r&&r<=65510?\"F\":8361==r||65377<=r&&r<=65470||65474<=r&&r<=65479||65482<=r&&r<=65487||65490<=r&&r<=65495||65498<=r&&r<=65500||65512<=r&&r<=65518?\"H\":4352<=r&&r<=4447||4515<=r&&r<=4519||4602<=r&&r<=4607||9001<=r&&r<=9002||11904<=r&&r<=11929||11931<=r&&r<=12019||12032<=r&&r<=12245||12272<=r&&r<=12283||12289<=r&&r<=12350||12353<=r&&r<=12438||12441<=r&&r<=12543||12549<=r&&r<=12589||12593<=r&&r<=12686||12688<=r&&r<=12730||12736<=r&&r<=12771||12784<=r&&r<=12830||12832<=r&&r<=12871||12880<=r&&r<=13054||13056<=r&&r<=19903||19968<=r&&r<=42124||42128<=r&&r<=42182||43360<=r&&r<=43388||44032<=r&&r<=55203||55216<=r&&r<=55238||55243<=r&&r<=55291||63744<=r&&r<=64255||65040<=r&&r<=65049||65072<=r&&r<=65106||65108<=r&&r<=65126||65128<=r&&r<=65131||110592<=r&&r<=110593||127488<=r&&r<=127490||127504<=r&&r<=127546||127552<=r&&r<=127560||127568<=r&&r<=127569||131072<=r&&r<=194367||177984<=r&&r<=196605||196608<=r&&r<=262141?\"W\":32<=r&&r<=126||162<=r&&r<=163||165<=r&&r<=166||172==r||175==r||10214<=r&&r<=10221||10629<=r&&r<=10630?\"Na\":161==r||164==r||167<=r&&r<=168||170==r||173<=r&&r<=174||176<=r&&r<=180||182<=r&&r<=186||188<=r&&r<=191||198==r||208==r||215<=r&&r<=216||222<=r&&r<=225||230==r||232<=r&&r<=234||236<=r&&r<=237||240==r||242<=r&&r<=243||247<=r&&r<=250||252==r||254==r||257==r||273==r||275==r||283==r||294<=r&&r<=295||299==r||305<=r&&r<=307||312==r||319<=r&&r<=322||324==r||328<=r&&r<=331||333==r||338<=r&&r<=339||358<=r&&r<=359||363==r||462==r||464==r||466==r||468==r||470==r||472==r||474==r||476==r||593==r||609==r||708==r||711==r||713<=r&&r<=715||717==r||720==r||728<=r&&r<=731||733==r||735==r||768<=r&&r<=879||913<=r&&r<=929||931<=r&&r<=937||945<=r&&r<=961||963<=r&&r<=969||1025==r||1040<=r&&r<=1103||1105==r||8208==r||8211<=r&&r<=8214||8216<=r&&r<=8217||8220<=r&&r<=8221||8224<=r&&r<=8226||8228<=r&&r<=8231||8240==r||8242<=r&&r<=8243||8245==r||8251==r||8254==r||8308==r||8319==r||8321<=r&&r<=8324||8364==r||8451==r||8453==r||8457==r||8467==r||8470==r||8481<=r&&r<=8482||8486==r||8491==r||8531<=r&&r<=8532||8539<=r&&r<=8542||8544<=r&&r<=8555||8560<=r&&r<=8569||8585==r||8592<=r&&r<=8601||8632<=r&&r<=8633||8658==r||8660==r||8679==r||8704==r||8706<=r&&r<=8707||8711<=r&&r<=8712||8715==r||8719==r||8721==r||8725==r||8730==r||8733<=r&&r<=8736||8739==r||8741==r||8743<=r&&r<=8748||8750==r||8756<=r&&r<=8759||8764<=r&&r<=8765||8776==r||8780==r||8786==r||8800<=r&&r<=8801||8804<=r&&r<=8807||8810<=r&&r<=8811||8814<=r&&r<=8815||8834<=r&&r<=8835||8838<=r&&r<=8839||8853==r||8857==r||8869==r||8895==r||8978==r||9312<=r&&r<=9449||9451<=r&&r<=9547||9552<=r&&r<=9587||9600<=r&&r<=9615||9618<=r&&r<=9621||9632<=r&&r<=9633||9635<=r&&r<=9641||9650<=r&&r<=9651||9654<=r&&r<=9655||9660<=r&&r<=9661||9664<=r&&r<=9665||9670<=r&&r<=9672||9675==r||9678<=r&&r<=9681||9698<=r&&r<=9701||9711==r||9733<=r&&r<=9734||9737==r||9742<=r&&r<=9743||9748<=r&&r<=9749||9756==r||9758==r||9792==r||9794==r||9824<=r&&r<=9825||9827<=r&&r<=9829||9831<=r&&r<=9834||9836<=r&&r<=9837||9839==r||9886<=r&&r<=9887||9918<=r&&r<=9919||9924<=r&&r<=9933||9935<=r&&r<=9953||9955==r||9960<=r&&r<=9983||10045==r||10071==r||10102<=r&&r<=10111||11093<=r&&r<=11097||12872<=r&&r<=12879||57344<=r&&r<=63743||65024<=r&&r<=65039||65533==r||127232<=r&&r<=127242||127248<=r&&r<=127277||127280<=r&&r<=127337||127344<=r&&r<=127386||917760<=r&&r<=917999||983040<=r&&r<=1048573||1048576<=r&&r<=1114109?\"A\":\"N\"},t.characterLength=function(e){var t=this.eastAsianWidth(e);return\"F\"==t||\"W\"==t||\"A\"==t?2:1},t.length=function(e){for(var t=n(e),r=0,i=0;i<t.length;i++)r+=this.characterLength(t[i]);return r},t.slice=function(e,r,i){textLen=t.length(e),i=i||1,(r=r||0)<0&&(r=textLen+r),i<0&&(i=textLen+i);for(var s=\"\",a=0,o=n(e),l=0;l<o.length;l++){var c=o[l],u=t.length(c);if(a>=r-(2==u?1:0)){if(!(a+u<=i))break;s+=c}a+=u}return s}},3150:e=>{\"use strict\";var t=/[|\\\\{}()[\\]^$+*?.]/g;e.exports=function(e){if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(t,\"\\\\$&\")}},1272:(e,t,n)=>{\"use strict\";e.exports=n(8487)},645:(e,t)=>{t.read=function(e,t,n,r,i){var s,a,o=8*i-r-1,l=(1<<o)-1,c=l>>1,u=-7,p=n?i-1:0,h=n?-1:1,d=e[t+p];for(p+=h,s=d&(1<<-u)-1,d>>=-u,u+=o;u>0;s=256*s+e[t+p],p+=h,u-=8);for(a=s&(1<<-u)-1,s>>=-u,u+=r;u>0;a=256*a+e[t+p],p+=h,u-=8);if(0===s)s=1-c;else{if(s===l)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,r),s-=c}return(d?-1:1)*a*Math.pow(2,s-r)},t.write=function(e,t,n,r,i,s){var a,o,l,c=8*s-i-1,u=(1<<c)-1,p=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:s-1,f=r?1:-1,y=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+p>=1?h/l:h*Math.pow(2,1-p))*l>=2&&(a++,l/=2),a+p>=u?(o=0,a=u):a+p>=1?(o=(t*l-1)*Math.pow(2,i),a+=p):(o=t*Math.pow(2,p-1)*Math.pow(2,i),a=0));i>=8;e[n+d]=255&o,d+=f,o/=256,i-=8);for(a=a<<i|o,c+=i;c>0;e[n+d]=255&a,d+=f,a/=256,c-=8);e[n+d-f]|=128*y}},6188:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.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,t.matchToToken=function(e){var t={type:\"invalid\",value:e[0],closed:void 0};return e[1]?(t.type=\"string\",t.closed=!(!e[3]&&!e[4])):e[5]?t.type=\"comment\":e[6]?(t.type=\"comment\",t.closed=!!e[7]):e[8]?t.type=\"regex\":e[9]?t.type=\"number\":e[10]?t.type=\"name\":e[11]?t.type=\"punctuator\":e[12]&&(t.type=\"whitespace\"),t}},3312:(e,t,n)=>{\"use strict\";var r=n(8764).lW;const i={},s=i.hasOwnProperty,a=(e,t)=>{for(const n in e)s.call(e,n)&&t(n,e[n])},o=i.toString,l=Array.isArray,c=r.isBuffer,u={'\"':'\\\\\"',\"'\":\"\\\\'\",\"\\\\\":\"\\\\\\\\\",\"\\b\":\"\\\\b\",\"\\f\":\"\\\\f\",\"\\n\":\"\\\\n\",\"\\r\":\"\\\\r\",\"\\t\":\"\\\\t\"},p=/[\"'\\\\\\b\\f\\n\\r\\t]/,h=/[0-9]/,d=/[ !#-&\\(-\\[\\]-~]/,f=(e,t)=>{const n=()=>{E=b,++t.indentLevel,b=t.indent.repeat(t.indentLevel)},r={escapeEverything:!1,minimal:!1,isScriptContext:!1,quotes:\"single\",wrap:!1,es6:!1,json:!1,compact:!0,lowercaseHex:!1,numbers:\"decimal\",indent:\"\\t\",indentLevel:0,__inline1__:!1,__inline2__:!1},i=t&&t.json;var s,y;i&&(r.quotes=\"double\",r.wrap=!0),s=r,t=(y=t)?(a(y,((e,t)=>{s[e]=t})),s):s,\"single\"!=t.quotes&&\"double\"!=t.quotes&&\"backtick\"!=t.quotes&&(t.quotes=\"single\");const m=\"double\"==t.quotes?'\"':\"backtick\"==t.quotes?\"`\":\"'\",T=t.compact,g=t.lowercaseHex;let b=t.indent.repeat(t.indentLevel),E=\"\";const S=t.__inline1__,P=t.__inline2__,x=T?\"\":\"\\n\";let D,A=!0;const v=\"binary\"==t.numbers,C=\"octal\"==t.numbers,w=\"decimal\"==t.numbers,O=\"hexadecimal\"==t.numbers;if(i&&e&&\"function\"==typeof e.toJSON&&(e=e.toJSON()),\"string\"!=typeof(I=e)&&\"[object String]\"!=o.call(I)){if((e=>\"[object Map]\"==o.call(e))(e))return 0==e.size?\"new Map()\":(T||(t.__inline1__=!0,t.__inline2__=!1),\"new Map(\"+f(Array.from(e),t)+\")\");if((e=>\"[object Set]\"==o.call(e))(e))return 0==e.size?\"new Set()\":\"new Set(\"+f(Array.from(e),t)+\")\";if(c(e))return 0==e.length?\"Buffer.from([])\":\"Buffer.from(\"+f(Array.from(e),t)+\")\";if(l(e))return D=[],t.wrap=!0,S&&(t.__inline1__=!1,t.__inline2__=!0),P||n(),((e,t)=>{const n=e.length;let r=-1;for(;++r<n;)t(e[r])})(e,(e=>{A=!1,P&&(t.__inline2__=!1),D.push((T||P?\"\":b)+f(e,t))})),A?\"[]\":P?\"[\"+D.join(\", \")+\"]\":\"[\"+x+D.join(\",\"+x)+x+(T?\"\":E)+\"]\";if(!(e=>\"number\"==typeof e||\"[object Number]\"==o.call(e))(e))return(e=>\"[object Object]\"==o.call(e))(e)?(D=[],t.wrap=!0,n(),a(e,((e,n)=>{A=!1,D.push((T?\"\":b)+f(e,t)+\":\"+(T?\"\":\" \")+f(n,t))})),A?\"{}\":\"{\"+x+D.join(\",\"+x)+x+(T?\"\":E)+\"}\"):i?JSON.stringify(e)||\"null\":String(e);if(i)return JSON.stringify(e);if(w)return String(e);if(O){let t=e.toString(16);return g||(t=t.toUpperCase()),\"0x\"+t}if(v)return\"0b\"+e.toString(2);if(C)return\"0o\"+e.toString(8)}var I;const N=e;let F=-1;const k=N.length;for(D=\"\";++F<k;){const e=N.charAt(F);if(t.es6){const e=N.charCodeAt(F);if(e>=55296&&e<=56319&&k>F+1){const t=N.charCodeAt(F+1);if(t>=56320&&t<=57343){let n=(1024*(e-55296)+t-56320+65536).toString(16);g||(n=n.toUpperCase()),D+=\"\\\\u{\"+n+\"}\",++F;continue}}}if(!t.escapeEverything){if(d.test(e)){D+=e;continue}if('\"'==e){D+=m==e?'\\\\\"':e;continue}if(\"`\"==e){D+=m==e?\"\\\\`\":e;continue}if(\"'\"==e){D+=m==e?\"\\\\'\":e;continue}}if(\"\\0\"==e&&!i&&!h.test(N.charAt(F+1))){D+=\"\\\\0\";continue}if(p.test(e)){D+=u[e];continue}const n=e.charCodeAt(0);if(t.minimal&&8232!=n&&8233!=n){D+=e;continue}let r=n.toString(16);g||(r=r.toUpperCase());const s=r.length>2||i,a=\"\\\\\"+(s?\"u\":\"x\")+(\"0000\"+r).slice(s?-4:-2);D+=a}return t.wrap&&(D=m+D+m),\"`\"==m&&(D=D.replace(/\\$\\{/g,\"\\\\${\")),t.isScriptContext?D.replace(/<\\/(script|style)/gi,\"<\\\\/$1\").replace(/<!--/g,i?\"\\\\u003C!--\":\"\\\\x3C!--\"):D};f.version=\"2.5.1\",e.exports=f},7824:e=>{var t=1e3,n=60*t,r=60*n,i=24*r;function s(e,t,n,r){var i=t>=1.5*n;return Math.round(e/n)+\" \"+r+(i?\"s\":\"\")}e.exports=function(e,a){a=a||{};var o,l,c=typeof e;if(\"string\"===c&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var s=/^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(s){var a=parseFloat(s[1]);switch((s[2]||\"ms\").toLowerCase()){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return 315576e5*a;case\"weeks\":case\"week\":case\"w\":return 6048e5*a;case\"days\":case\"day\":case\"d\":return a*i;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return a*r;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return a*n;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return a*t;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return a;default:return}}}}(e);if(\"number\"===c&&isFinite(e))return a.long?(o=e,(l=Math.abs(o))>=i?s(o,l,i,\"day\"):l>=r?s(o,l,r,\"hour\"):l>=n?s(o,l,n,\"minute\"):l>=t?s(o,l,t,\"second\"):o+\" ms\"):function(e){var s=Math.abs(e);return s>=i?Math.round(e/i)+\"d\":s>=r?Math.round(e/r)+\"h\":s>=n?Math.round(e/n)+\"m\":s>=t?Math.round(e/t)+\"s\":e+\"ms\"}(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))}},4155:e=>{var t,n,r=e.exports={};function i(){throw new Error(\"setTimeout has not been defined\")}function s(){throw new Error(\"clearTimeout has not been defined\")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t=\"function\"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{n=\"function\"==typeof clearTimeout?clearTimeout:s}catch(e){n=s}}();var o,l=[],c=!1,u=-1;function p(){c&&o&&(c=!1,o.length?l=o.concat(l):u=-1,l.length&&h())}function h(){if(!c){var e=a(p);c=!0;for(var t=l.length;t;){for(o=l,l=[];++u<t;)o&&o[u].run();u=-1,t=l.length}o=null,c=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===s||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function d(e,t){this.fun=e,this.array=t}function f(){}r.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new d(e,t)),1!==l.length||c||a(h)},d.prototype.run=function(){this.fun.apply(null,this.array)},r.title=\"browser\",r.browser=!0,r.env={},r.argv=[],r.version=\"\",r.versions={},r.on=f,r.addListener=f,r.once=f,r.off=f,r.removeListener=f,r.removeAllListeners=f,r.emit=f,r.prependListener=f,r.prependOnceListener=f,r.listeners=function(e){return[]},r.binding=function(e){throw new Error(\"process.binding is not supported\")},r.cwd=function(){return\"/\"},r.chdir=function(e){throw new Error(\"process.chdir is not supported\")},r.umask=function(){return 0}},8555:e=>{\"use strict\";e.exports={stdout:!1,stderr:!1}},3164:e=>{\"use strict\";let t=null;function n(e){if(null!==t&&(t.property,1)){const e=t;return t=n.prototype=null,e}return t=n.prototype=null==e?Object.create(null):e,new n}n(),e.exports=function(e){return n(e)}},737:e=>{(e.exports=function e(t,n){var r;if(null!=t)return n=(n||\"\").replace(/[^&\"<>\\']/g,\"\"),r=\"([&\\\"<>'])\".replace(new RegExp(\"[\"+n+\"]\",\"g\"),\"\"),t.replace(new RegExp(r,\"g\"),(function(t,n){return e.map[n]}))}).map={\">\":\"&gt;\",\"<\":\"&lt;\",\"'\":\"&apos;\",'\"':\"&quot;\",\"&\":\"&amp;\"}},4704:(e,t,n)=>{\"use strict\";var r=n(4155);Object.defineProperty(t,\"__esModule\",{value:!0}),t.codeFrameColumns=u,t.default=function(e,t,n,i={}){if(!l){l=!0;const e=\"Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.\";r.emitWarning?r.emitWarning(e,\"DeprecationWarning\"):(new Error(e).name=\"DeprecationWarning\",console.warn(new Error(e)))}return u(e,{start:{column:n=Math.max(n,0),line:t}},i)};var i=n(8530),s=function(e,t){if(null===e||\"object\"!=typeof e&&\"function\"!=typeof e)return{default:e};var n=a(true);if(n&&n.has(e))return n.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(\"default\"!==s&&Object.prototype.hasOwnProperty.call(e,s)){var o=i?Object.getOwnPropertyDescriptor(e,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=e[s]}return r.default=e,n&&n.set(e,r),r}(n(2589));function a(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(a=function(e){return e?n:t})(e)}let o,l=!1;const c=/\\r\\n|[\\n\\r\\u2028\\u2029]/;function u(e,t,n={}){const r=(n.highlightCode||n.forceColor)&&(0,i.shouldHighlight)(n),a=n.forceColor?(null!=o||(o=new s.default.constructor({enabled:!0,level:1})),o):s.default,l=function(e){return{gutter:e.grey,marker:e.red.bold,message:e.red.bold}}(a),u=(e,t)=>r?e(t):t,p=e.split(c),{start:h,end:d,markerLines:f}=function(e,t,n){const r=Object.assign({column:0,line:-1},e.start),i=Object.assign({},r,e.end),{linesAbove:s=2,linesBelow:a=3}=n||{},o=r.line,l=r.column,c=i.line,u=i.column;let p=Math.max(o-(s+1),0),h=Math.min(t.length,c+a);-1===o&&(p=0),-1===c&&(h=t.length);const d=c-o,f={};if(d)for(let e=0;e<=d;e++){const n=e+o;if(l)if(0===e){const e=t[n-1].length;f[n]=[l,e-l+1]}else if(e===d)f[n]=[0,u];else{const r=t[n-e].length;f[n]=[0,r]}else f[n]=!0}else f[o]=l===u?!l||[l,0]:[l,u-l];return{start:p,end:h,markerLines:f}}(t,p,n),y=t.start&&\"number\"==typeof t.start.column,m=String(d).length;let T=(r?(0,i.default)(e,n):e).split(c,d).slice(h,d).map(((e,t)=>{const r=h+1+t,i=` ${` ${r}`.slice(-m)} |`,s=f[r],a=!f[r+1];if(s){let t=\"\";if(Array.isArray(s)){const r=e.slice(0,Math.max(s[0]-1,0)).replace(/[^\\t]/g,\" \"),o=s[1]||1;t=[\"\\n \",u(l.gutter,i.replace(/\\d/g,\" \")),\" \",r,u(l.marker,\"^\").repeat(o)].join(\"\"),a&&n.message&&(t+=\" \"+u(l.message,n.message))}return[u(l.marker,\">\"),u(l.gutter,i),e.length>0?` ${e}`:\"\",t].join(\"\")}return` ${u(l.gutter,i)}${e.length>0?` ${e}`:\"\"}`})).join(\"\\n\");return n.message&&!y&&(T=`${\" \".repeat(m+1)}${n.message}\\n${T}`),r?a.reset(T):T}},8726:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0,t.default=class{constructor(e){this._map=null,this._buf=\"\",this._str=\"\",this._appendCount=0,this._last=0,this._queue=[],this._queueCursor=0,this._canMarkIdName=!0,this._position={line:1,column:0},this._sourcePosition={identifierName:void 0,identifierNamePos:void 0,line:void 0,column:void 0,filename:void 0},this._map=e,this._allocQueue()}_allocQueue(){const e=this._queue;for(let t=0;t<16;t++)e.push({char:0,repeat:1,line:void 0,column:void 0,identifierName:void 0,identifierNamePos:void 0,filename:\"\"})}_pushQueue(e,t,n,r,i){const s=this._queueCursor;s===this._queue.length&&this._allocQueue();const a=this._queue[s];a.char=e,a.repeat=t,a.line=n,a.column=r,a.filename=i,this._queueCursor++}_popQueue(){if(0===this._queueCursor)throw new Error(\"Cannot pop from empty queue\");return this._queue[--this._queueCursor]}get(){this._flush();const e=this._map,t={code:(this._buf+this._str).trimRight(),decodedMap:null==e?void 0:e.getDecoded(),get __mergedMap(){return this.map},get map(){const n=e?e.get():null;return t.map=n,n},set map(e){Object.defineProperty(t,\"map\",{value:e,writable:!0})},get rawMappings(){const n=null==e?void 0:e.getRawMappings();return t.rawMappings=n,n},set rawMappings(e){Object.defineProperty(t,\"rawMappings\",{value:e,writable:!0})}};return t}append(e,t){this._flush(),this._append(e,this._sourcePosition,t)}appendChar(e){this._flush(),this._appendChar(e,1,this._sourcePosition)}queue(e){if(10===e)for(;0!==this._queueCursor;){const e=this._queue[this._queueCursor-1].char;if(32!==e&&9!==e)break;this._queueCursor--}const t=this._sourcePosition;this._pushQueue(e,1,t.line,t.column,t.filename)}queueIndentation(e,t){this._pushQueue(e,t,void 0,void 0,void 0)}_flush(){const e=this._queueCursor,t=this._queue;for(let n=0;n<e;n++){const e=t[n];this._appendChar(e.char,e.repeat,e)}this._queueCursor=0}_appendChar(e,t,n){this._last=e,this._str+=t>1?String.fromCharCode(e).repeat(t):String.fromCharCode(e),10!==e?(this._mark(n.line,n.column,n.identifierName,n.identifierNamePos,n.filename),this._position.column+=t):(this._position.line++,this._position.column=0),this._canMarkIdName&&(n.identifierName=void 0,n.identifierNamePos=void 0)}_append(e,t,n){const r=e.length,i=this._position;if(this._last=e.charCodeAt(r-1),++this._appendCount>4096?(this._str,this._buf+=this._str,this._str=e,this._appendCount=0):this._str+=e,!n&&!this._map)return void(i.column+=r);const{column:s,identifierName:a,identifierNamePos:o,filename:l}=t;let c=t.line;null==a&&null==o||!this._canMarkIdName||(t.identifierName=void 0,t.identifierNamePos=void 0);let u=e.indexOf(\"\\n\"),p=0;for(0!==u&&this._mark(c,s,a,o,l);-1!==u;)i.line++,i.column=0,p=u+1,p<r&&void 0!==c&&this._mark(++c,0,null,null,l),u=e.indexOf(\"\\n\",p);i.column+=r-p}_mark(e,t,n,r,i){var s;null==(s=this._map)||s.mark(this._position,e,t,n,r,i)}removeTrailingNewline(){const e=this._queueCursor;0!==e&&10===this._queue[e-1].char&&this._queueCursor--}removeLastSemicolon(){const e=this._queueCursor;0!==e&&59===this._queue[e-1].char&&this._queueCursor--}getLastChar(){const e=this._queueCursor;return 0!==e?this._queue[e-1].char:this._last}getNewlineCount(){const e=this._queueCursor;let t=0;if(0===e)return 10===this._last?1:0;for(let n=e-1;n>=0&&10===this._queue[n].char;n--)t++;return t===e&&10===this._last?t+1:t}endsWithCharAndNewline(){const e=this._queue,t=this._queueCursor;if(0!==t){if(10!==e[t-1].char)return;return t>1?e[t-2].char:this._last}}hasContent(){return 0!==this._queueCursor||!!this._last}exactSource(e,t){if(!this._map)return void t();this.source(\"start\",e);const n=e.identifierName,r=this._sourcePosition;n&&(this._canMarkIdName=!1,r.identifierName=n),t(),n&&(this._canMarkIdName=!0,r.identifierName=void 0,r.identifierNamePos=void 0),this.source(\"end\",e)}source(e,t){this._map&&this._normalizePosition(e,t,0)}sourceWithOffset(e,t,n){this._map&&this._normalizePosition(e,t,n)}withSource(e,t,n){this._map&&this.source(e,t),n()}_normalizePosition(e,t,n){const r=t[e],i=this._sourcePosition;r&&(i.line=r.line,i.column=Math.max(r.column+n,0),i.filename=t.filename)}getCurrentColumn(){const e=this._queue,t=this._queueCursor;let n=-1,r=0;for(let i=0;i<t;i++){const t=e[i];10===t.char&&(n=r),r+=t.repeat}return-1===n?this._position.column+r:r-1-n}getCurrentLine(){let e=0;const t=this._queue;for(let n=0;n<this._queueCursor;n++)10===t[n].char&&e++;return this._position.line+e}}},9230:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.BlockStatement=function(e){var t;this.tokenChar(123);const n=null==(t=e.directives)?void 0:t.length;if(n){var r;const t=e.body.length?2:1;this.printSequence(e.directives,e,{indent:!0,trailingCommentsLineOffset:t}),null!=(r=e.directives[n-1].trailingComments)&&r.length||this.newline(t)}this.printSequence(e.body,e,{indent:!0}),this.rightBrace(e)},t.Directive=function(e){this.print(e.value,e),this.semicolon()},t.DirectiveLiteral=function(e){const t=this.getPossibleRaw(e);if(!this.format.minified&&void 0!==t)return void this.token(t);const{value:i}=e;if(r.test(i)){if(n.test(i))throw new Error(\"Malformed AST: it is not possible to print a directive containing both unescaped single and double quotes.\");this.token(`'${i}'`)}else this.token(`\"${i}\"`)},t.File=function(e){e.program&&this.print(e.program.interpreter,e),this.print(e.program,e)},t.InterpreterDirective=function(e){this.token(`#!${e.value}`),this.newline(1,!0)},t.Placeholder=function(e){this.token(\"%%\"),this.print(e.name),this.token(\"%%\"),\"Statement\"===e.expectedNode&&this.semicolon()},t.Program=function(e){var t;this.noIndentInnerCommentsHere(),this.printInnerComments();const n=null==(t=e.directives)?void 0:t.length;if(n){var r;const t=e.body.length?2:1;this.printSequence(e.directives,e,{trailingCommentsLineOffset:t}),null!=(r=e.directives[n-1].trailingComments)&&r.length||this.newline(t)}this.printSequence(e.body,e)};const n=/(?:^|[^\\\\])(?:\\\\\\\\)*'/,r=/(?:^|[^\\\\])(?:\\\\\\\\)*\"/},695:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ClassAccessorProperty=function(e){var t;this.printJoin(e.decorators,e);const n=null==(t=e.key.loc)||null==(t=t.end)?void 0:t.line;n&&this.catchUp(n),this.tsPrintClassMemberModifiers(e),this.word(\"accessor\",!0),this.space(),e.computed?(this.tokenChar(91),this.print(e.key,e),this.tokenChar(93)):(this._variance(e),this.print(e.key,e)),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation,e),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value,e)),this.semicolon()},t.ClassBody=function(e){this.tokenChar(123),0===e.body.length?this.tokenChar(125):(this.newline(),this.printSequence(e.body,e,{indent:!0}),this.endsWith(10)||this.newline(),this.rightBrace(e))},t.ClassExpression=t.ClassDeclaration=function(e,t){(i(t)||s(t))&&this._shouldPrintDecoratorsBeforeExport(t)||this.printJoin(e.decorators,e),e.declare&&(this.word(\"declare\"),this.space()),e.abstract&&(this.word(\"abstract\"),this.space()),this.word(\"class\"),e.id&&(this.space(),this.print(e.id,e)),this.print(e.typeParameters,e),e.superClass&&(this.space(),this.word(\"extends\"),this.space(),this.print(e.superClass,e),this.print(e.superTypeParameters,e)),e.implements&&(this.space(),this.word(\"implements\"),this.space(),this.printList(e.implements,e)),this.space(),this.print(e.body,e)},t.ClassMethod=function(e){this._classMethodHead(e),this.space(),this.print(e.body,e)},t.ClassPrivateMethod=function(e){this._classMethodHead(e),this.space(),this.print(e.body,e)},t.ClassPrivateProperty=function(e){this.printJoin(e.decorators,e),e.static&&(this.word(\"static\"),this.space()),this.print(e.key,e),this.print(e.typeAnnotation,e),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value,e)),this.semicolon()},t.ClassProperty=function(e){var t;this.printJoin(e.decorators,e);const n=null==(t=e.key.loc)||null==(t=t.end)?void 0:t.line;n&&this.catchUp(n),this.tsPrintClassMemberModifiers(e),e.computed?(this.tokenChar(91),this.print(e.key,e),this.tokenChar(93)):(this._variance(e),this.print(e.key,e)),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation,e),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value,e)),this.semicolon()},t.StaticBlock=function(e){this.word(\"static\"),this.space(),this.tokenChar(123),0===e.body.length?this.tokenChar(125):(this.newline(),this.printSequence(e.body,e,{indent:!0}),this.rightBrace(e))},t._classMethodHead=function(e){var t;this.printJoin(e.decorators,e);const n=null==(t=e.key.loc)||null==(t=t.end)?void 0:t.line;n&&this.catchUp(n),this.tsPrintClassMemberModifiers(e),this._methodHead(e)};var r=n(6067);const{isExportDefaultDeclaration:i,isExportNamedDeclaration:s}=r},7240:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.LogicalExpression=t.BinaryExpression=t.AssignmentExpression=function(e,t){const n=this.inForStatementInitCounter&&\"in\"===e.operator&&!i.needsParens(e,t);n&&this.tokenChar(40),this.print(e.left,e),this.space(),\"in\"===e.operator||\"instanceof\"===e.operator?this.word(e.operator):this.token(e.operator),this.space(),this.print(e.right,e),n&&this.tokenChar(41)},t.AssignmentPattern=function(e){this.print(e.left,e),e.left.optional&&this.tokenChar(63),this.print(e.left.typeAnnotation,e),this.space(),this.tokenChar(61),this.space(),this.print(e.right,e)},t.AwaitExpression=function(e){this.word(\"await\"),e.argument&&(this.space(),this.printTerminatorless(e.argument,e,!1))},t.BindExpression=function(e){this.print(e.object,e),this.token(\"::\"),this.print(e.callee,e)},t.CallExpression=function(e){this.print(e.callee,e),this.print(e.typeArguments,e),this.print(e.typeParameters,e),this.tokenChar(40),this.printList(e.arguments,e),this.rightParens(e)},t.ConditionalExpression=function(e){this.print(e.test,e),this.space(),this.tokenChar(63),this.space(),this.print(e.consequent,e),this.space(),this.tokenChar(58),this.space(),this.print(e.alternate,e)},t.Decorator=function(e){this.tokenChar(64);const{expression:t}=e;!function(e){return\"ParenthesizedExpression\"!==e.type&&!c(\"CallExpression\"===e.type?e.callee:e)}(t)?this.print(t,e):(this.tokenChar(40),this.print(t,e),this.tokenChar(41)),this.newline()},t.DoExpression=function(e){e.async&&(this.word(\"async\",!0),this.space()),this.word(\"do\"),this.space(),this.print(e.body,e)},t.EmptyStatement=function(){this.semicolon(!0)},t.ExpressionStatement=function(e){this.print(e.expression,e),this.semicolon()},t.Import=function(){this.word(\"import\")},t.MemberExpression=function(e){if(this.print(e.object,e),!e.computed&&o(e.property))throw new TypeError(\"Got a MemberExpression for MemberExpression property\");let t=e.computed;a(e.property)&&\"number\"==typeof e.property.value&&(t=!0),t?(this.tokenChar(91),this.print(e.property,e),this.tokenChar(93)):(this.tokenChar(46),this.print(e.property,e))},t.MetaProperty=function(e){this.print(e.meta,e),this.tokenChar(46),this.print(e.property,e)},t.ModuleExpression=function(e){this.word(\"module\",!0),this.space(),this.tokenChar(123),this.indent();const{body:t}=e;(t.body.length||t.directives.length)&&this.newline(),this.print(t,e),this.dedent(),this.rightBrace(e)},t.NewExpression=function(e,t){this.word(\"new\"),this.space(),this.print(e.callee,e),(!this.format.minified||0!==e.arguments.length||e.optional||s(t,{callee:e})||o(t)||l(t))&&(this.print(e.typeArguments,e),this.print(e.typeParameters,e),e.optional&&this.token(\"?.\"),this.tokenChar(40),this.printList(e.arguments,e),this.rightParens(e))},t.OptionalCallExpression=function(e){this.print(e.callee,e),this.print(e.typeParameters,e),e.optional&&this.token(\"?.\"),this.print(e.typeArguments,e),this.tokenChar(40),this.printList(e.arguments,e),this.rightParens(e)},t.OptionalMemberExpression=function(e){let{computed:t}=e;const{optional:n,property:r}=e;if(this.print(e.object,e),!t&&o(r))throw new TypeError(\"Got a MemberExpression for MemberExpression property\");a(r)&&\"number\"==typeof r.value&&(t=!0),n&&this.token(\"?.\"),t?(this.tokenChar(91),this.print(r,e),this.tokenChar(93)):(n||this.tokenChar(46),this.print(r,e))},t.ParenthesizedExpression=function(e){this.tokenChar(40),this.print(e.expression,e),this.rightParens(e)},t.PrivateName=function(e){this.tokenChar(35),this.print(e.id,e)},t.SequenceExpression=function(e){this.printList(e.expressions,e)},t.Super=function(){this.word(\"super\")},t.ThisExpression=function(){this.word(\"this\")},t.UnaryExpression=function(e){const{operator:t}=e;\"void\"===t||\"delete\"===t||\"typeof\"===t||\"throw\"===t?(this.word(t),this.space()):this.token(t),this.print(e.argument,e)},t.UpdateExpression=function(e){e.prefix?(this.token(e.operator),this.print(e.argument,e)):(this.printTerminatorless(e.argument,e,!0),this.token(e.operator))},t.V8IntrinsicIdentifier=function(e){this.tokenChar(37),this.word(e.name)},t.YieldExpression=function(e){this.word(\"yield\",!0),e.delegate?(this.tokenChar(42),e.argument&&(this.space(),this.print(e.argument,e))):e.argument&&(this.space(),this.printTerminatorless(e.argument,e,!1))},t._shouldPrintDecoratorsBeforeExport=function(e){return\"boolean\"==typeof this.format.decoratorsBeforeExport?this.format.decoratorsBeforeExport:\"number\"==typeof e.start&&e.start===e.declaration.start};var r=n(6067),i=n(7533);const{isCallExpression:s,isLiteral:a,isMemberExpression:o,isNewExpression:l}=r;function c(e){switch(e.type){case\"Identifier\":return!0;case\"MemberExpression\":return!e.computed&&\"Identifier\"===e.property.type&&c(e.object);default:return!1}}},4735:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.AnyTypeAnnotation=function(){this.word(\"any\")},t.ArrayTypeAnnotation=function(e){this.print(e.elementType,e,!0),this.tokenChar(91),this.tokenChar(93)},t.BooleanLiteralTypeAnnotation=function(e){this.word(e.value?\"true\":\"false\")},t.BooleanTypeAnnotation=function(){this.word(\"boolean\")},t.DeclareClass=function(e,t){a(t)||(this.word(\"declare\"),this.space()),this.word(\"class\"),this.space(),this._interfaceish(e)},t.DeclareExportAllDeclaration=function(e){this.word(\"declare\"),this.space(),i.ExportAllDeclaration.call(this,e)},t.DeclareExportDeclaration=function(e){this.word(\"declare\"),this.space(),this.word(\"export\"),this.space(),e.default&&(this.word(\"default\"),this.space()),p.call(this,e)},t.DeclareFunction=function(e,t){a(t)||(this.word(\"declare\"),this.space()),this.word(\"function\"),this.space(),this.print(e.id,e),this.print(e.id.typeAnnotation.typeAnnotation,e),e.predicate&&(this.space(),this.print(e.predicate,e)),this.semicolon()},t.DeclareInterface=function(e){this.word(\"declare\"),this.space(),this.InterfaceDeclaration(e)},t.DeclareModule=function(e){this.word(\"declare\"),this.space(),this.word(\"module\"),this.space(),this.print(e.id,e),this.space(),this.print(e.body,e)},t.DeclareModuleExports=function(e){this.word(\"declare\"),this.space(),this.word(\"module\"),this.tokenChar(46),this.word(\"exports\"),this.print(e.typeAnnotation,e)},t.DeclareOpaqueType=function(e,t){a(t)||(this.word(\"declare\"),this.space()),this.OpaqueType(e)},t.DeclareTypeAlias=function(e){this.word(\"declare\"),this.space(),this.TypeAlias(e)},t.DeclareVariable=function(e,t){a(t)||(this.word(\"declare\"),this.space()),this.word(\"var\"),this.space(),this.print(e.id,e),this.print(e.id.typeAnnotation,e),this.semicolon()},t.DeclaredPredicate=function(e){this.tokenChar(37),this.word(\"checks\"),this.tokenChar(40),this.print(e.value,e),this.tokenChar(41)},t.EmptyTypeAnnotation=function(){this.word(\"empty\")},t.EnumBooleanBody=function(e){const{explicitType:t}=e;l(this,\"boolean\",t),c(this,e)},t.EnumBooleanMember=function(e){u(this,e)},t.EnumDeclaration=function(e){const{id:t,body:n}=e;this.word(\"enum\"),this.space(),this.print(t,e),this.print(n,e)},t.EnumDefaultedMember=function(e){const{id:t}=e;this.print(t,e),this.tokenChar(44)},t.EnumNumberBody=function(e){const{explicitType:t}=e;l(this,\"number\",t),c(this,e)},t.EnumNumberMember=function(e){u(this,e)},t.EnumStringBody=function(e){const{explicitType:t}=e;l(this,\"string\",t),c(this,e)},t.EnumStringMember=function(e){u(this,e)},t.EnumSymbolBody=function(e){l(this,\"symbol\",!0),c(this,e)},t.ExistsTypeAnnotation=function(){this.tokenChar(42)},t.FunctionTypeAnnotation=function(e,t){this.print(e.typeParameters,e),this.tokenChar(40),e.this&&(this.word(\"this\"),this.tokenChar(58),this.space(),this.print(e.this.typeAnnotation,e),(e.params.length||e.rest)&&(this.tokenChar(44),this.space())),this.printList(e.params,e),e.rest&&(e.params.length&&(this.tokenChar(44),this.space()),this.token(\"...\"),this.print(e.rest,e)),this.tokenChar(41);const n=null==t?void 0:t.type;null!=n&&(\"ObjectTypeCallProperty\"===n||\"ObjectTypeInternalSlot\"===n||\"DeclareFunction\"===n||\"ObjectTypeProperty\"===n&&t.method)?this.tokenChar(58):(this.space(),this.token(\"=>\")),this.space(),this.print(e.returnType,e)},t.FunctionTypeParam=function(e){this.print(e.name,e),e.optional&&this.tokenChar(63),e.name&&(this.tokenChar(58),this.space()),this.print(e.typeAnnotation,e)},t.IndexedAccessType=function(e){this.print(e.objectType,e,!0),this.tokenChar(91),this.print(e.indexType,e),this.tokenChar(93)},t.InferredPredicate=function(){this.tokenChar(37),this.word(\"checks\")},t.InterfaceDeclaration=function(e){this.word(\"interface\"),this.space(),this._interfaceish(e)},t.GenericTypeAnnotation=t.ClassImplements=t.InterfaceExtends=function(e){this.print(e.id,e),this.print(e.typeParameters,e,!0)},t.InterfaceTypeAnnotation=function(e){var t;this.word(\"interface\"),null!=(t=e.extends)&&t.length&&(this.space(),this.word(\"extends\"),this.space(),this.printList(e.extends,e)),this.space(),this.print(e.body,e)},t.IntersectionTypeAnnotation=function(e){this.printJoin(e.types,e,{separator:h})},t.MixedTypeAnnotation=function(){this.word(\"mixed\")},t.NullLiteralTypeAnnotation=function(){this.word(\"null\")},t.NullableTypeAnnotation=function(e){this.tokenChar(63),this.print(e.typeAnnotation,e)},Object.defineProperty(t,\"NumberLiteralTypeAnnotation\",{enumerable:!0,get:function(){return s.NumericLiteral}}),t.NumberTypeAnnotation=function(){this.word(\"number\")},t.ObjectTypeAnnotation=function(e){e.exact?this.token(\"{|\"):this.tokenChar(123);const t=[...e.properties,...e.callProperties||[],...e.indexers||[],...e.internalSlots||[]];t.length&&(this.newline(),this.space(),this.printJoin(t,e,{addNewlines(e){if(e&&!t[0])return 1},indent:!0,statement:!0,iterator:()=>{(1!==t.length||e.inexact)&&(this.tokenChar(44),this.space())}}),this.space()),e.inexact&&(this.indent(),this.token(\"...\"),t.length&&this.newline(),this.dedent()),e.exact?this.token(\"|}\"):this.tokenChar(125)},t.ObjectTypeCallProperty=function(e){e.static&&(this.word(\"static\"),this.space()),this.print(e.value,e)},t.ObjectTypeIndexer=function(e){e.static&&(this.word(\"static\"),this.space()),this._variance(e),this.tokenChar(91),e.id&&(this.print(e.id,e),this.tokenChar(58),this.space()),this.print(e.key,e),this.tokenChar(93),this.tokenChar(58),this.space(),this.print(e.value,e)},t.ObjectTypeInternalSlot=function(e){e.static&&(this.word(\"static\"),this.space()),this.tokenChar(91),this.tokenChar(91),this.print(e.id,e),this.tokenChar(93),this.tokenChar(93),e.optional&&this.tokenChar(63),e.method||(this.tokenChar(58),this.space()),this.print(e.value,e)},t.ObjectTypeProperty=function(e){e.proto&&(this.word(\"proto\"),this.space()),e.static&&(this.word(\"static\"),this.space()),\"get\"!==e.kind&&\"set\"!==e.kind||(this.word(e.kind),this.space()),this._variance(e),this.print(e.key,e),e.optional&&this.tokenChar(63),e.method||(this.tokenChar(58),this.space()),this.print(e.value,e)},t.ObjectTypeSpreadProperty=function(e){this.token(\"...\"),this.print(e.argument,e)},t.OpaqueType=function(e){this.word(\"opaque\"),this.space(),this.word(\"type\"),this.space(),this.print(e.id,e),this.print(e.typeParameters,e),e.supertype&&(this.tokenChar(58),this.space(),this.print(e.supertype,e)),e.impltype&&(this.space(),this.tokenChar(61),this.space(),this.print(e.impltype,e)),this.semicolon()},t.OptionalIndexedAccessType=function(e){this.print(e.objectType,e),e.optional&&this.token(\"?.\"),this.tokenChar(91),this.print(e.indexType,e),this.tokenChar(93)},t.QualifiedTypeIdentifier=function(e){this.print(e.qualification,e),this.tokenChar(46),this.print(e.id,e)},Object.defineProperty(t,\"StringLiteralTypeAnnotation\",{enumerable:!0,get:function(){return s.StringLiteral}}),t.StringTypeAnnotation=function(){this.word(\"string\")},t.SymbolTypeAnnotation=function(){this.word(\"symbol\")},t.ThisTypeAnnotation=function(){this.word(\"this\")},t.TupleTypeAnnotation=function(e){this.tokenChar(91),this.printList(e.types,e),this.tokenChar(93)},t.TypeAlias=function(e){this.word(\"type\"),this.space(),this.print(e.id,e),this.print(e.typeParameters,e),this.space(),this.tokenChar(61),this.space(),this.print(e.right,e),this.semicolon()},t.TypeAnnotation=function(e){this.tokenChar(58),this.space(),e.optional&&this.tokenChar(63),this.print(e.typeAnnotation,e)},t.TypeCastExpression=function(e){this.tokenChar(40),this.print(e.expression,e),this.print(e.typeAnnotation,e),this.tokenChar(41)},t.TypeParameter=function(e){this._variance(e),this.word(e.name),e.bound&&this.print(e.bound,e),e.default&&(this.space(),this.tokenChar(61),this.space(),this.print(e.default,e))},t.TypeParameterDeclaration=t.TypeParameterInstantiation=function(e){this.tokenChar(60),this.printList(e.params,e,{}),this.tokenChar(62)},t.TypeofTypeAnnotation=function(e){this.word(\"typeof\"),this.space(),this.print(e.argument,e)},t.UnionTypeAnnotation=function(e){this.printJoin(e.types,e,{separator:d})},t.Variance=function(e){\"plus\"===e.kind?this.tokenChar(43):this.tokenChar(45)},t.VoidTypeAnnotation=function(){this.word(\"void\")},t._interfaceish=function(e){var t,n,r;(this.print(e.id,e),this.print(e.typeParameters,e),null!=(t=e.extends)&&t.length&&(this.space(),this.word(\"extends\"),this.space(),this.printList(e.extends,e)),\"DeclareClass\"===e.type)&&(null!=(n=e.mixins)&&n.length&&(this.space(),this.word(\"mixins\"),this.space(),this.printList(e.mixins,e)),null!=(r=e.implements)&&r.length&&(this.space(),this.word(\"implements\"),this.space(),this.printList(e.implements,e)));this.space(),this.print(e.body,e)},t._variance=function(e){var t;const n=null==(t=e.variance)?void 0:t.kind;null!=n&&(\"plus\"===n?this.tokenChar(43):\"minus\"===n&&this.tokenChar(45))};var r=n(6067),i=n(4272),s=n(7585);const{isDeclareExportDeclaration:a,isStatement:o}=r;function l(e,t,n){n&&(e.space(),e.word(\"of\"),e.space(),e.word(t)),e.space()}function c(e,t){const{members:n}=t;e.token(\"{\"),e.indent(),e.newline();for(const r of n)e.print(r,t),e.newline();t.hasUnknownMembers&&(e.token(\"...\"),e.newline()),e.dedent(),e.token(\"}\")}function u(e,t){const{id:n,init:r}=t;e.print(n,t),e.space(),e.token(\"=\"),e.space(),e.print(r,t),e.token(\",\")}function p(e){if(e.declaration){const t=e.declaration;this.print(t,e),o(t)||this.semicolon()}else this.tokenChar(123),e.specifiers.length&&(this.space(),this.printList(e.specifiers,e),this.space()),this.tokenChar(125),e.source&&(this.space(),this.word(\"from\"),this.space(),this.print(e.source,e)),this.semicolon()}function h(){this.space(),this.tokenChar(38),this.space()}function d(){this.space(),this.tokenChar(124),this.space()}},4236:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(9716);Object.keys(r).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var i=n(7240);Object.keys(i).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(e in t&&t[e]===i[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}}))}));var s=n(5448);Object.keys(s).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(e in t&&t[e]===s[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return s[e]}}))}));var a=n(695);Object.keys(a).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(7011);Object.keys(o).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}));var l=n(4272);Object.keys(l).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(e in t&&t[e]===l[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return l[e]}}))}));var c=n(7585);Object.keys(c).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(e in t&&t[e]===c[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return c[e]}}))}));var u=n(4735);Object.keys(u).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(e in t&&t[e]===u[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return u[e]}}))}));var p=n(9230);Object.keys(p).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(e in t&&t[e]===p[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return p[e]}}))}));var h=n(7878);Object.keys(h).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(e in t&&t[e]===h[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return h[e]}}))}));var d=n(5447);Object.keys(d).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(e in t&&t[e]===d[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return d[e]}}))}))},7878:(e,t)=>{\"use strict\";function n(){this.space()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.JSXAttribute=function(e){this.print(e.name,e),e.value&&(this.tokenChar(61),this.print(e.value,e))},t.JSXClosingElement=function(e){this.token(\"</\"),this.print(e.name,e),this.tokenChar(62)},t.JSXClosingFragment=function(){this.token(\"</\"),this.tokenChar(62)},t.JSXElement=function(e){const t=e.openingElement;if(this.print(t,e),!t.selfClosing){this.indent();for(const t of e.children)this.print(t,e);this.dedent(),this.print(e.closingElement,e)}},t.JSXEmptyExpression=function(){this.printInnerComments()},t.JSXExpressionContainer=function(e){this.tokenChar(123),this.print(e.expression,e),this.tokenChar(125)},t.JSXFragment=function(e){this.print(e.openingFragment,e),this.indent();for(const t of e.children)this.print(t,e);this.dedent(),this.print(e.closingFragment,e)},t.JSXIdentifier=function(e){this.word(e.name)},t.JSXMemberExpression=function(e){this.print(e.object,e),this.tokenChar(46),this.print(e.property,e)},t.JSXNamespacedName=function(e){this.print(e.namespace,e),this.tokenChar(58),this.print(e.name,e)},t.JSXOpeningElement=function(e){this.tokenChar(60),this.print(e.name,e),this.print(e.typeParameters,e),e.attributes.length>0&&(this.space(),this.printJoin(e.attributes,e,{separator:n})),e.selfClosing?(this.space(),this.token(\"/>\")):this.tokenChar(62)},t.JSXOpeningFragment=function(){this.tokenChar(60),this.tokenChar(62)},t.JSXSpreadAttribute=function(e){this.tokenChar(123),this.token(\"...\"),this.print(e.argument,e),this.tokenChar(125)},t.JSXSpreadChild=function(e){this.tokenChar(123),this.token(\"...\"),this.print(e.expression,e),this.tokenChar(125)},t.JSXText=function(e){const t=this.getPossibleRaw(e);void 0!==t?this.token(t,!0):this.token(e.value,!0)}},7011:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ArrowFunctionExpression=function(e,t){let n;e.async&&(this.word(\"async\",!0),this.space()),this.format.retainLines||1!==e.params.length||!i(n=e.params[0])||function(e,t){var n,r;return!!(e.typeParameters||e.returnType||e.predicate||t.typeAnnotation||t.optional||null!=(n=t.leadingComments)&&n.length||null!=(r=t.trailingComments)&&r.length)}(e,n)?this._params(e,void 0,t):this.print(n,e,!0),this._predicate(e,!0),this.space(),this.printInnerComments(),this.token(\"=>\"),this.space(),this.print(e.body,e)},t.FunctionDeclaration=t.FunctionExpression=function(e,t){this._functionHead(e,t),this.space(),this.print(e.body,e)},t._functionHead=function(e,t){e.async&&(this.word(\"async\"),this._endsWithInnerRaw=!1,this.space()),this.word(\"function\"),e.generator&&(this._endsWithInnerRaw=!1,this.tokenChar(42)),this.space(),e.id&&this.print(e.id,e),this._params(e,e.id,t),\"TSDeclareFunction\"!==e.type&&this._predicate(e)},t._methodHead=function(e){const t=e.kind,n=e.key;\"get\"!==t&&\"set\"!==t||(this.word(t),this.space()),e.async&&(this.word(\"async\",!0),this.space()),\"method\"!==t&&\"init\"!==t||e.generator&&this.tokenChar(42),e.computed?(this.tokenChar(91),this.print(n,e),this.tokenChar(93)):this.print(n,e),e.optional&&this.tokenChar(63),this._params(e,e.computed&&\"StringLiteral\"!==e.key.type?void 0:e.key,void 0)},t._param=function(e,t){this.printJoin(e.decorators,e),this.print(e,t),e.optional&&this.tokenChar(63),this.print(e.typeAnnotation,e)},t._parameters=function(e,t){const n=e.length;for(let r=0;r<n;r++)this._param(e[r],t),r<e.length-1&&(this.tokenChar(44),this.space())},t._params=function(e,t,n){this.print(e.typeParameters,e);const r=s.call(this,t,n);r&&this.sourceIdentifierName(r.name,r.pos),this.tokenChar(40),this._parameters(e.params,e),this.tokenChar(41);const i=\"ArrowFunctionExpression\"===e.type;this.print(e.returnType,e,i),this._noLineTerminator=i},t._predicate=function(e,t){e.predicate&&(e.returnType||this.tokenChar(58),this.space(),this.print(e.predicate,e,t))};var r=n(6067);const{isIdentifier:i}=r;function s(e,t){let n,r=e;if(!r&&t){const e=t.type;\"VariableDeclarator\"===e?r=t.id:\"AssignmentExpression\"===e||\"AssignmentPattern\"===e?r=t.left:\"ObjectProperty\"===e||\"ClassProperty\"===e?t.computed&&\"StringLiteral\"!==t.key.type||(r=t.key):\"ClassPrivateProperty\"!==e&&\"ClassAccessorProperty\"!==e||(r=t.key)}if(r){var i,s;if(\"Identifier\"===r.type)n={pos:null==(i=r.loc)?void 0:i.start,name:(null==(s=r.loc)?void 0:s.identifierName)||r.name};else if(\"PrivateName\"===r.type){var a;n={pos:null==(a=r.loc)?void 0:a.start,name:\"#\"+r.id.name}}else if(\"StringLiteral\"===r.type){var o;n={pos:null==(o=r.loc)?void 0:o.start,name:r.value}}return n}}},4272:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ExportAllDeclaration=function(e){var t,n;this.word(\"export\"),this.space(),\"type\"===e.exportKind&&(this.word(\"type\"),this.space()),this.tokenChar(42),this.space(),this.word(\"from\"),this.space(),null!=(t=e.attributes)&&t.length||null!=(n=e.assertions)&&n.length?(this.print(e.source,e,!0),this.space(),this._printAttributes(e)):this.print(e.source,e),this.semicolon()},t.ExportDefaultDeclaration=function(e){p(this,e),this.word(\"export\"),this.noIndentInnerCommentsHere(),this.space(),this.word(\"default\"),this.space();const t=e.declaration;this.print(t,e),c(t)||this.semicolon()},t.ExportDefaultSpecifier=function(e){this.print(e.exported,e)},t.ExportNamedDeclaration=function(e){if(p(this,e),this.word(\"export\"),this.space(),e.declaration){const t=e.declaration;this.print(t,e),c(t)||this.semicolon()}else{\"type\"===e.exportKind&&(this.word(\"type\"),this.space());const r=e.specifiers.slice(0);let i=!1;for(;;){const t=r[0];if(!s(t)&&!a(t))break;i=!0,this.print(r.shift(),e),r.length&&(this.tokenChar(44),this.space())}var t,n;(r.length||!r.length&&!i)&&(this.tokenChar(123),r.length&&(this.space(),this.printList(r,e),this.space()),this.tokenChar(125)),e.source&&(this.space(),this.word(\"from\"),this.space(),null!=(t=e.attributes)&&t.length||null!=(n=e.assertions)&&n.length?(this.print(e.source,e,!0),this.space(),this._printAttributes(e)):this.print(e.source,e)),this.semicolon()}},t.ExportNamespaceSpecifier=function(e){this.tokenChar(42),this.space(),this.word(\"as\"),this.space(),this.print(e.exported,e)},t.ExportSpecifier=function(e){\"type\"===e.exportKind&&(this.word(\"type\"),this.space()),this.print(e.local,e),e.exported&&e.local.name!==e.exported.name&&(this.space(),this.word(\"as\"),this.space(),this.print(e.exported,e))},t.ImportAttribute=function(e){this.print(e.key),this.tokenChar(58),this.space(),this.print(e.value)},t.ImportDeclaration=function(e){var t,n;this.word(\"import\"),this.space();const r=\"type\"===e.importKind||\"typeof\"===e.importKind;r?(this.noIndentInnerCommentsHere(),this.word(e.importKind),this.space()):e.module&&(this.noIndentInnerCommentsHere(),this.word(\"module\"),this.space());const i=e.specifiers.slice(0),s=!!i.length;for(;s;){const t=i[0];if(!o(t)&&!l(t))break;this.print(i.shift(),e),i.length&&(this.tokenChar(44),this.space())}i.length?(this.tokenChar(123),this.space(),this.printList(i,e),this.space(),this.tokenChar(125)):r&&!s&&(this.tokenChar(123),this.tokenChar(125)),(s||r)&&(this.space(),this.word(\"from\"),this.space()),null!=(t=e.attributes)&&t.length||null!=(n=e.assertions)&&n.length?(this.print(e.source,e,!0),this.space(),this._printAttributes(e)):this.print(e.source,e),this.semicolon()},t.ImportDefaultSpecifier=function(e){this.print(e.local,e)},t.ImportNamespaceSpecifier=function(e){this.tokenChar(42),this.space(),this.word(\"as\"),this.space(),this.print(e.local,e)},t.ImportSpecifier=function(e){\"type\"!==e.importKind&&\"typeof\"!==e.importKind||(this.word(e.importKind),this.space()),this.print(e.imported,e),e.local&&e.local.name!==e.imported.name&&(this.space(),this.word(\"as\"),this.space(),this.print(e.local,e))},t._printAttributes=function(e){const{importAttributesKeyword:t}=this.format,{attributes:n,assertions:r}=e;!n||t||u||(u=!0,console.warn('You 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'));const i=\"assert\"===t||!t&&r;this.word(i?\"assert\":\"with\"),this.space(),i||\"with\"===t?(this.tokenChar(123),this.space(),this.printList(n||r,e),this.space(),this.tokenChar(125)):this.printList(n||r,e)};var r=n(6067);const{isClassDeclaration:i,isExportDefaultSpecifier:s,isExportNamespaceSpecifier:a,isImportDefaultSpecifier:o,isImportNamespaceSpecifier:l,isStatement:c}=r;let u=!1;function p(e,t){i(t.declaration)&&e._shouldPrintDecoratorsBeforeExport(t)&&e.printJoin(t.declaration.decorators,t)}},5448:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.BreakStatement=function(e){this.word(\"break\"),h(this,e.label,e,!0)},t.CatchClause=function(e){this.word(\"catch\"),this.space(),e.param&&(this.tokenChar(40),this.print(e.param,e),this.print(e.param.typeAnnotation,e),this.tokenChar(41),this.space()),this.print(e.body,e)},t.ContinueStatement=function(e){this.word(\"continue\"),h(this,e.label,e,!0)},t.DebuggerStatement=function(){this.word(\"debugger\"),this.semicolon()},t.DoWhileStatement=function(e){this.word(\"do\"),this.space(),this.print(e.body,e),this.space(),this.word(\"while\"),this.space(),this.tokenChar(40),this.print(e.test,e),this.tokenChar(41),this.semicolon()},t.ForOfStatement=t.ForInStatement=void 0,t.ForStatement=function(e){this.word(\"for\"),this.space(),this.tokenChar(40),this.inForStatementInitCounter++,this.print(e.init,e),this.inForStatementInitCounter--,this.tokenChar(59),e.test&&(this.space(),this.print(e.test,e)),this.tokenChar(59),e.update&&(this.space(),this.print(e.update,e)),this.tokenChar(41),this.printBlock(e)},t.IfStatement=function(e){this.word(\"if\"),this.space(),this.tokenChar(40),this.print(e.test,e),this.tokenChar(41),this.space();const t=e.alternate&&a(l(e.consequent));t&&(this.tokenChar(123),this.newline(),this.indent()),this.printAndIndentOnComments(e.consequent,e),t&&(this.dedent(),this.newline(),this.tokenChar(125)),e.alternate&&(this.endsWith(125)&&this.space(),this.word(\"else\"),this.space(),this.printAndIndentOnComments(e.alternate,e))},t.LabeledStatement=function(e){this.print(e.label,e),this.tokenChar(58),this.space(),this.print(e.body,e)},t.ReturnStatement=function(e){this.word(\"return\"),h(this,e.argument,e,!1)},t.SwitchCase=function(e){e.test?(this.word(\"case\"),this.space(),this.print(e.test,e),this.tokenChar(58)):(this.word(\"default\"),this.tokenChar(58)),e.consequent.length&&(this.newline(),this.printSequence(e.consequent,e,{indent:!0}))},t.SwitchStatement=function(e){this.word(\"switch\"),this.space(),this.tokenChar(40),this.print(e.discriminant,e),this.tokenChar(41),this.space(),this.tokenChar(123),this.printSequence(e.cases,e,{indent:!0,addNewlines(t,n){if(!t&&e.cases[e.cases.length-1]===n)return-1}}),this.rightBrace(e)},t.ThrowStatement=function(e){this.word(\"throw\"),h(this,e.argument,e,!1)},t.TryStatement=function(e){this.word(\"try\"),this.space(),this.print(e.block,e),this.space(),e.handlers?this.print(e.handlers[0],e):this.print(e.handler,e),e.finalizer&&(this.space(),this.word(\"finally\"),this.space(),this.print(e.finalizer,e))},t.VariableDeclaration=function(e,t){e.declare&&(this.word(\"declare\"),this.space());const{kind:n}=e;this.word(n,\"using\"===n||\"await using\"===n),this.space();let r=!1;if(!i(t))for(const t of e.declarations)t.init&&(r=!0);if(this.printList(e.declarations,e,{separator:r?function(){this.tokenChar(44),this.newline()}:void 0,indent:e.declarations.length>1}),i(t))if(s(t)){if(t.init===e)return}else if(t.left===e)return;this.semicolon()},t.VariableDeclarator=function(e){this.print(e.id,e),e.definite&&this.tokenChar(33),this.print(e.id.typeAnnotation,e),e.init&&(this.space(),this.tokenChar(61),this.space(),this.print(e.init,e))},t.WhileStatement=function(e){this.word(\"while\"),this.space(),this.tokenChar(40),this.print(e.test,e),this.tokenChar(41),this.printBlock(e)},t.WithStatement=function(e){this.word(\"with\"),this.space(),this.tokenChar(40),this.print(e.object,e),this.tokenChar(41),this.printBlock(e)};var r=n(6067);const{isFor:i,isForStatement:s,isIfStatement:a,isStatement:o}=r;function l(e){const{body:t}=e;return!1===o(t)?e:l(t)}function c(e){this.word(\"for\"),this.space();const t=\"ForOfStatement\"===e.type;t&&e.await&&(this.word(\"await\"),this.space()),this.noIndentInnerCommentsHere(),this.tokenChar(40),this.print(e.left,e),this.space(),this.word(t?\"of\":\"in\"),this.space(),this.print(e.right,e),this.tokenChar(41),this.printBlock(e)}const u=c;t.ForInStatement=u;const p=c;function h(e,t,n,r){t&&(e.space(),e.printTerminatorless(t,n,r)),e.semicolon()}t.ForOfStatement=p},9716:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaggedTemplateExpression=function(e){this.print(e.tag,e),this.print(e.typeParameters,e),this.print(e.quasi,e)},t.TemplateElement=function(e,t){const n=t.quasis[0]===e,r=t.quasis[t.quasis.length-1]===e,i=(n?\"`\":\"}\")+e.value.raw+(r?\"`\":\"${\");this.token(i,!0)},t.TemplateLiteral=function(e){const t=e.quasis;for(let n=0;n<t.length;n++)this.print(t[n],e),n+1<t.length&&this.print(e.expressions[n],e)}},7585:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ArgumentPlaceholder=function(){this.tokenChar(63)},t.ArrayPattern=t.ArrayExpression=function(e){const t=e.elements,n=t.length;this.tokenChar(91);for(let r=0;r<t.length;r++){const i=t[r];i?(r>0&&this.space(),this.print(i,e),r<n-1&&this.tokenChar(44)):this.tokenChar(44)}this.tokenChar(93)},t.BigIntLiteral=function(e){const t=this.getPossibleRaw(e);this.format.minified||void 0===t?this.word(e.value+\"n\"):this.word(t)},t.BooleanLiteral=function(e){this.word(e.value?\"true\":\"false\")},t.DecimalLiteral=function(e){const t=this.getPossibleRaw(e);this.format.minified||void 0===t?this.word(e.value+\"m\"):this.word(t)},t.Identifier=function(e){var t;this.sourceIdentifierName((null==(t=e.loc)?void 0:t.identifierName)||e.name),this.word(e.name)},t.NullLiteral=function(){this.word(\"null\")},t.NumericLiteral=function(e){const t=this.getPossibleRaw(e),n=this.format.jsescOption,r=e.value+\"\";n.numbers?this.number(i(e.value,n)):null==t?this.number(r):this.format.minified?this.number(t.length<r.length?t:r):this.number(t)},t.ObjectPattern=t.ObjectExpression=function(e){const t=e.properties;this.tokenChar(123),t.length&&(this.space(),this.printList(t,e,{indent:!0,statement:!0}),this.space()),this.sourceWithOffset(\"end\",e.loc,-1),this.tokenChar(125)},t.ObjectMethod=function(e){this.printJoin(e.decorators,e),this._methodHead(e),this.space(),this.print(e.body,e)},t.ObjectProperty=function(e){if(this.printJoin(e.decorators,e),e.computed)this.tokenChar(91),this.print(e.key,e),this.tokenChar(93);else{if(s(e.value)&&a(e.key)&&e.key.name===e.value.left.name)return void this.print(e.value,e);if(this.print(e.key,e),e.shorthand&&a(e.key)&&a(e.value)&&e.key.name===e.value.name)return}this.tokenChar(58),this.space(),this.print(e.value,e)},t.PipelineBareFunction=function(e){this.print(e.callee,e)},t.PipelinePrimaryTopicReference=function(){this.tokenChar(35)},t.PipelineTopicExpression=function(e){this.print(e.expression,e)},t.RecordExpression=function(e){const t=e.properties;let n,r;if(\"bar\"===this.format.recordAndTupleSyntaxType)n=\"{|\",r=\"|}\";else{if(\"hash\"!==this.format.recordAndTupleSyntaxType&&null!=this.format.recordAndTupleSyntaxType)throw new Error(`The \"recordAndTupleSyntaxType\" generator option must be \"bar\" or \"hash\" (${JSON.stringify(this.format.recordAndTupleSyntaxType)} received).`);n=\"#{\",r=\"}\"}this.token(n),t.length&&(this.space(),this.printList(t,e,{indent:!0,statement:!0}),this.space()),this.token(r)},t.RegExpLiteral=function(e){this.word(`/${e.pattern}/${e.flags}`)},t.SpreadElement=t.RestElement=function(e){this.token(\"...\"),this.print(e.argument,e)},t.StringLiteral=function(e){const t=this.getPossibleRaw(e);if(!this.format.minified&&void 0!==t)return void this.token(t);const n=i(e.value,this.format.jsescOption);this.token(n)},t.TopicReference=function(){const{topicToken:e}=this.format;if(!o.has(e)){const t=JSON.stringify(e),n=Array.from(o,(e=>JSON.stringify(e)));throw new Error(`The \"topicToken\" generator option must be one of ${n.join(\", \")} (${t} received instead).`)}this.token(e)},t.TupleExpression=function(e){const t=e.elements,n=t.length;let r,i;if(\"bar\"===this.format.recordAndTupleSyntaxType)r=\"[|\",i=\"|]\";else{if(\"hash\"!==this.format.recordAndTupleSyntaxType)throw new Error(`${this.format.recordAndTupleSyntaxType} is not a valid recordAndTuple syntax type`);r=\"#[\",i=\"]\"}this.token(r);for(let r=0;r<t.length;r++){const i=t[r];i&&(r>0&&this.space(),this.print(i,e),r<n-1&&this.tokenChar(44))}this.token(i)};var r=n(6067),i=n(3312);const{isAssignmentPattern:s,isIdentifier:a}=r,o=new Set([\"^^\",\"@@\",\"^\",\"%\",\"#\"])},5447:(e,t)=>{\"use strict\";function n(e,t,n){if(e.token(\"{\"),t.length){e.indent(),e.newline();for(const r of t)e.print(r,n),e.newline();e.dedent()}e.rightBrace(n)}function r(e,t,n){e.printJoin(t.types,t,{separator(){this.space(),this.token(n),this.space()}})}function i(e,t){!0!==t&&e.token(t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.TSAnyKeyword=function(){this.word(\"any\")},t.TSArrayType=function(e){this.print(e.elementType,e,!0),this.token(\"[]\")},t.TSSatisfiesExpression=t.TSAsExpression=function(e){var t;const{type:n,expression:r,typeAnnotation:i}=e,s=!(null==(t=r.trailingComments)||!t.length);this.print(r,e,!0,void 0,s),this.space(),this.word(\"TSAsExpression\"===n?\"as\":\"satisfies\"),this.space(),this.print(i,e)},t.TSBigIntKeyword=function(){this.word(\"bigint\")},t.TSBooleanKeyword=function(){this.word(\"boolean\")},t.TSCallSignatureDeclaration=function(e){this.tsPrintSignatureDeclarationBase(e),this.tokenChar(59)},t.TSConditionalType=function(e){this.print(e.checkType),this.space(),this.word(\"extends\"),this.space(),this.print(e.extendsType),this.space(),this.tokenChar(63),this.space(),this.print(e.trueType),this.space(),this.tokenChar(58),this.space(),this.print(e.falseType)},t.TSConstructSignatureDeclaration=function(e){this.word(\"new\"),this.space(),this.tsPrintSignatureDeclarationBase(e),this.tokenChar(59)},t.TSConstructorType=function(e){e.abstract&&(this.word(\"abstract\"),this.space()),this.word(\"new\"),this.space(),this.tsPrintFunctionOrConstructorType(e)},t.TSDeclareFunction=function(e,t){e.declare&&(this.word(\"declare\"),this.space()),this._functionHead(e,t),this.tokenChar(59)},t.TSDeclareMethod=function(e){this._classMethodHead(e),this.tokenChar(59)},t.TSEnumDeclaration=function(e){const{declare:t,const:r,id:i,members:s}=e;t&&(this.word(\"declare\"),this.space()),r&&(this.word(\"const\"),this.space()),this.word(\"enum\"),this.space(),this.print(i,e),this.space(),n(this,s,e)},t.TSEnumMember=function(e){const{id:t,initializer:n}=e;this.print(t,e),n&&(this.space(),this.tokenChar(61),this.space(),this.print(n,e)),this.tokenChar(44)},t.TSExportAssignment=function(e){this.word(\"export\"),this.space(),this.tokenChar(61),this.space(),this.print(e.expression,e),this.tokenChar(59)},t.TSExpressionWithTypeArguments=function(e){this.print(e.expression,e),this.print(e.typeParameters,e)},t.TSExternalModuleReference=function(e){this.token(\"require(\"),this.print(e.expression,e),this.tokenChar(41)},t.TSFunctionType=function(e){this.tsPrintFunctionOrConstructorType(e)},t.TSImportEqualsDeclaration=function(e){const{isExport:t,id:n,moduleReference:r}=e;t&&(this.word(\"export\"),this.space()),this.word(\"import\"),this.space(),this.print(n,e),this.space(),this.tokenChar(61),this.space(),this.print(r,e),this.tokenChar(59)},t.TSImportType=function(e){const{argument:t,qualifier:n,typeParameters:r}=e;this.word(\"import\"),this.tokenChar(40),this.print(t,e),this.tokenChar(41),n&&(this.tokenChar(46),this.print(n,e)),r&&this.print(r,e)},t.TSIndexSignature=function(e){const{readonly:t,static:n}=e;n&&(this.word(\"static\"),this.space()),t&&(this.word(\"readonly\"),this.space()),this.tokenChar(91),this._parameters(e.parameters,e),this.tokenChar(93),this.print(e.typeAnnotation,e),this.tokenChar(59)},t.TSIndexedAccessType=function(e){this.print(e.objectType,e,!0),this.tokenChar(91),this.print(e.indexType,e),this.tokenChar(93)},t.TSInferType=function(e){this.token(\"infer\"),this.space(),this.print(e.typeParameter)},t.TSInstantiationExpression=function(e){this.print(e.expression,e),this.print(e.typeParameters,e)},t.TSInterfaceBody=function(e){this.tsPrintTypeLiteralOrInterfaceBody(e.body,e)},t.TSInterfaceDeclaration=function(e){const{declare:t,id:n,typeParameters:r,extends:i,body:s}=e;t&&(this.word(\"declare\"),this.space()),this.word(\"interface\"),this.space(),this.print(n,e),this.print(r,e),null!=i&&i.length&&(this.space(),this.word(\"extends\"),this.space(),this.printList(i,e)),this.space(),this.print(s,e)},t.TSIntersectionType=function(e){r(this,e,\"&\")},t.TSIntrinsicKeyword=function(){this.word(\"intrinsic\")},t.TSLiteralType=function(e){this.print(e.literal,e)},t.TSMappedType=function(e){const{nameType:t,optional:n,readonly:r,typeParameter:s}=e;this.tokenChar(123),this.space(),r&&(i(this,r),this.word(\"readonly\"),this.space()),this.tokenChar(91),this.word(s.name),this.space(),this.word(\"in\"),this.space(),this.print(s.constraint,s),t&&(this.space(),this.word(\"as\"),this.space(),this.print(t,e)),this.tokenChar(93),n&&(i(this,n),this.tokenChar(63)),this.tokenChar(58),this.space(),this.print(e.typeAnnotation,e),this.space(),this.tokenChar(125)},t.TSMethodSignature=function(e){const{kind:t}=e;\"set\"!==t&&\"get\"!==t||(this.word(t),this.space()),this.tsPrintPropertyOrMethodName(e),this.tsPrintSignatureDeclarationBase(e),this.tokenChar(59)},t.TSModuleBlock=function(e){n(this,e.body,e)},t.TSModuleDeclaration=function(e){const{declare:t,id:n}=e;if(t&&(this.word(\"declare\"),this.space()),e.global||(this.word(\"Identifier\"===n.type?\"namespace\":\"module\"),this.space()),this.print(n,e),!e.body)return void this.tokenChar(59);let r=e.body;for(;\"TSModuleDeclaration\"===r.type;)this.tokenChar(46),this.print(r.id,r),r=r.body;this.space(),this.print(r,e)},t.TSNamedTupleMember=function(e){this.print(e.label,e),e.optional&&this.tokenChar(63),this.tokenChar(58),this.space(),this.print(e.elementType,e)},t.TSNamespaceExportDeclaration=function(e){this.word(\"export\"),this.space(),this.word(\"as\"),this.space(),this.word(\"namespace\"),this.space(),this.print(e.id,e)},t.TSNeverKeyword=function(){this.word(\"never\")},t.TSNonNullExpression=function(e){this.print(e.expression,e),this.tokenChar(33)},t.TSNullKeyword=function(){this.word(\"null\")},t.TSNumberKeyword=function(){this.word(\"number\")},t.TSObjectKeyword=function(){this.word(\"object\")},t.TSOptionalType=function(e){this.print(e.typeAnnotation,e),this.tokenChar(63)},t.TSParameterProperty=function(e){e.accessibility&&(this.word(e.accessibility),this.space()),e.readonly&&(this.word(\"readonly\"),this.space()),this._param(e.parameter)},t.TSParenthesizedType=function(e){this.tokenChar(40),this.print(e.typeAnnotation,e),this.tokenChar(41)},t.TSPropertySignature=function(e){const{readonly:t,initializer:n}=e;t&&(this.word(\"readonly\"),this.space()),this.tsPrintPropertyOrMethodName(e),this.print(e.typeAnnotation,e),n&&(this.space(),this.tokenChar(61),this.space(),this.print(n,e)),this.tokenChar(59)},t.TSQualifiedName=function(e){this.print(e.left,e),this.tokenChar(46),this.print(e.right,e)},t.TSRestType=function(e){this.token(\"...\"),this.print(e.typeAnnotation,e)},t.TSStringKeyword=function(){this.word(\"string\")},t.TSSymbolKeyword=function(){this.word(\"symbol\")},t.TSThisType=function(){this.word(\"this\")},t.TSTupleType=function(e){this.tokenChar(91),this.printList(e.elementTypes,e),this.tokenChar(93)},t.TSTypeAliasDeclaration=function(e){const{declare:t,id:n,typeParameters:r,typeAnnotation:i}=e;t&&(this.word(\"declare\"),this.space()),this.word(\"type\"),this.space(),this.print(n,e),this.print(r,e),this.space(),this.tokenChar(61),this.space(),this.print(i,e),this.tokenChar(59)},t.TSTypeAnnotation=function(e){this.tokenChar(58),this.space(),e.optional&&this.tokenChar(63),this.print(e.typeAnnotation,e)},t.TSTypeAssertion=function(e){const{typeAnnotation:t,expression:n}=e;this.tokenChar(60),this.print(t,e),this.tokenChar(62),this.space(),this.print(n,e)},t.TSTypeLiteral=function(e){this.tsPrintTypeLiteralOrInterfaceBody(e.members,e)},t.TSTypeOperator=function(e){this.word(e.operator),this.space(),this.print(e.typeAnnotation,e)},t.TSTypeParameter=function(e){e.in&&(this.word(\"in\"),this.space()),e.out&&(this.word(\"out\"),this.space()),this.word(e.name),e.constraint&&(this.space(),this.word(\"extends\"),this.space(),this.print(e.constraint,e)),e.default&&(this.space(),this.tokenChar(61),this.space(),this.print(e.default,e))},t.TSTypeParameterDeclaration=t.TSTypeParameterInstantiation=function(e,t){this.tokenChar(60),this.printList(e.params,e,{}),\"ArrowFunctionExpression\"===t.type&&1===e.params.length&&this.tokenChar(44),this.tokenChar(62)},t.TSTypePredicate=function(e){e.asserts&&(this.word(\"asserts\"),this.space()),this.print(e.parameterName),e.typeAnnotation&&(this.space(),this.word(\"is\"),this.space(),this.print(e.typeAnnotation.typeAnnotation))},t.TSTypeQuery=function(e){this.word(\"typeof\"),this.space(),this.print(e.exprName),e.typeParameters&&this.print(e.typeParameters,e)},t.TSTypeReference=function(e){this.print(e.typeName,e,!0),this.print(e.typeParameters,e,!0)},t.TSUndefinedKeyword=function(){this.word(\"undefined\")},t.TSUnionType=function(e){r(this,e,\"|\")},t.TSUnknownKeyword=function(){this.word(\"unknown\")},t.TSVoidKeyword=function(){this.word(\"void\")},t.tsPrintClassMemberModifiers=function(e){const t=\"ClassAccessorProperty\"===e.type||\"ClassProperty\"===e.type;t&&e.declare&&(this.word(\"declare\"),this.space()),e.accessibility&&(this.word(e.accessibility),this.space()),e.static&&(this.word(\"static\"),this.space()),e.override&&(this.word(\"override\"),this.space()),e.abstract&&(this.word(\"abstract\"),this.space()),t&&e.readonly&&(this.word(\"readonly\"),this.space())},t.tsPrintFunctionOrConstructorType=function(e){const{typeParameters:t}=e,n=e.parameters;this.print(t,e),this.tokenChar(40),this._parameters(n,e),this.tokenChar(41),this.space(),this.token(\"=>\"),this.space();const r=e.typeAnnotation;this.print(r.typeAnnotation,e)},t.tsPrintPropertyOrMethodName=function(e){e.computed&&this.tokenChar(91),this.print(e.key,e),e.computed&&this.tokenChar(93),e.optional&&this.tokenChar(63)},t.tsPrintSignatureDeclarationBase=function(e){const{typeParameters:t}=e,n=e.parameters;this.print(t,e),this.tokenChar(40),this._parameters(n,e),this.tokenChar(41);const r=e.typeAnnotation;this.print(r,e)},t.tsPrintTypeLiteralOrInterfaceBody=function(e,t){n(this,e,t)}},7848:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.CodeGenerator=void 0,t.default=function(e,t,n){return new s(e,t,n).generate()};var r=n(2564),i=n(516);class s extends i.default{constructor(e,t={},n){const i=function(e,t){var n;const r={auxiliaryCommentBefore:t.auxiliaryCommentBefore,auxiliaryCommentAfter:t.auxiliaryCommentAfter,shouldPrintComment:t.shouldPrintComment,retainLines:t.retainLines,retainFunctionParens:t.retainFunctionParens,comments:null==t.comments||t.comments,compact:t.compact,minified:t.minified,concise:t.concise,indent:{adjustMultilineComment:!0,style:\"  \"},jsescOption:Object.assign({quotes:\"double\",wrap:!0,minimal:!1},t.jsescOption),recordAndTupleSyntaxType:null!=(n=t.recordAndTupleSyntaxType)?n:\"hash\",topicToken:t.topicToken,importAttributesKeyword:t.importAttributesKeyword};r.decoratorsBeforeExport=t.decoratorsBeforeExport,r.jsescOption.json=t.jsonCompatibleStrings,r.minified?(r.compact=!0,r.shouldPrintComment=r.shouldPrintComment||(()=>r.comments)):r.shouldPrintComment=r.shouldPrintComment||(e=>r.comments||e.includes(\"@license\")||e.includes(\"@preserve\")),\"auto\"===r.compact&&(r.compact=\"string\"==typeof e&&e.length>5e5,r.compact&&console.error(`[BABEL] Note: The code generator has deoptimised the styling of ${t.filename} as it exceeds the max of 500KB.`)),r.compact&&(r.indent.adjustMultilineComment=!1);const{auxiliaryCommentBefore:i,auxiliaryCommentAfter:s,shouldPrintComment:a}=r;return i&&!a(i)&&(r.auxiliaryCommentBefore=void 0),s&&!a(s)&&(r.auxiliaryCommentAfter=void 0),r}(n,t);super(i,t.sourceMaps?new r.default(t,n):null),this.ast=void 0,this.ast=e}generate(){return super.generate(this.ast)}}t.CodeGenerator=class{constructor(e,t,n){this._generator=void 0,this._generator=new s(e,t,n)}generate(){return this._generator.generate()}}},7533:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.needsParens=function(e,t,n){return!!t&&(!(!u(t)||t.callee!==e||!y(e))||f(h,e,t,n))},t.needsWhitespace=m,t.needsWhitespaceAfter=function(e,t){return m(e,t,2)},t.needsWhitespaceBefore=function(e,t){return m(e,t,1)};var r=n(9750),i=n(7363),s=n(6067);const{FLIPPED_ALIAS_KEYS:a,isCallExpression:o,isExpressionStatement:l,isMemberExpression:c,isNewExpression:u}=s;function p(e){const t={};function n(e,n){const r=t[e];t[e]=r?function(e,t,i){const s=r(e,t,i);return null==s?n(e,t,i):s}:n}for(const t of Object.keys(e)){const r=a[t];if(r)for(const i of r)n(i,e[t]);else n(t,e[t])}return t}const h=p(i),d=p(r.nodes);function f(e,t,n,r){const i=e[t.type];return i?i(t,n,r):null}function y(e){return!!o(e)||c(e)&&y(e.object)}function m(e,t,n){if(!e)return!1;l(e)&&(e=e.expression);const r=f(d,e,t);return\"number\"==typeof r&&0!=(r&n)}},7363:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ArrowFunctionExpression=function(e,t){return m(t)||ae(e,t)},t.AssignmentExpression=function(e,t){return!!N(e.left)||ae(e,t)},t.Binary=function(e,t){if(\"**\"===e.operator&&c(t,{operator:\"**\"}))return t.left===e;if(re(e,t))return!0;if(ie(e,t)||$(t)||o(t))return!0;if(l(t)){const n=t.operator,r=te[n],i=e.operator,s=te[i];if(r===s&&t.right===e&&!C(t)||r>s)return!0}},t.BinaryExpression=function(e,t){return\"in\"===e.operator&&(z(t)||b(t))},t.ClassExpression=function(e,t,n){return oe(n,5)},t.ConditionalExpression=ae,t.DoExpression=function(e,t,n){return!e.async&&oe(n,1)},t.FunctionExpression=function(e,t,n){return oe(n,5)},t.FunctionTypeAnnotation=function(e,t,n){if(!(n.length<3))return G(t)||v(t)||i(t)||J(t)&&s(n[n.length-3])},t.Identifier=function(e,t,n){var r;return!(null==(r=e.extra)||!r.parenthesized||!a(t,{left:e})||!x(t.right)&&!d(t.right)||null!=t.right.id)||(\"let\"===e.name?oe(n,w(t,{object:e,computed:!0})||k(t,{object:e,computed:!0,optional:!1})?57:32):\"async\"===e.name&&S(t)&&e===t.left)},t.LogicalExpression=function(e,t){if(ne(t))return!0;switch(e.operator){case\"||\":return!!C(t)&&(\"??\"===t.operator||\"&&\"===t.operator);case\"&&\":return C(t,{operator:\"??\"});case\"??\":return C(t)&&\"??\"!==t.operator}},t.NullableTypeAnnotation=function(e,t){return i(t)},t.ObjectExpression=function(e,t,n){return oe(n,3)},t.OptionalIndexedAccessType=function(e,t){return A(t,{objectType:e})},t.OptionalCallExpression=t.OptionalMemberExpression=function(e,t){return p(t,{callee:e})||w(t,{object:e})},t.SequenceExpression=function(e,t){return!(P(t)||H(t)||L(t)||D(t)&&t.test===e||Q(t)&&t.test===e||E(t)&&t.right===e||M(t)&&t.discriminant===e||g(t)&&t.expression===e)},t.TSTypeAssertion=t.TSSatisfiesExpression=t.TSAsExpression=function(){return!0},t.TSInferType=function(e,t){return B(t)||K(t)},t.TSInstantiationExpression=function(e,t){return(p(t)||F(t)||O(t)||R(t))&&!!t.typeParameters},t.TSIntersectionType=t.TSUnionType=function(e,t){return B(t)||K(t)||U(t)||Y(t)||W(t)},t.UnaryLike=se,t.IntersectionTypeAnnotation=t.UnionTypeAnnotation=function(e,t){return i(t)||I(t)||v(t)||G(t)},t.UpdateExpression=function(e,t){return ie(e,t)||re(e,t)},t.AwaitExpression=t.YieldExpression=function(e,t){return l(t)||$(t)||ie(e,t)||o(t)&&Z(e)||y(t)&&e===t.test||re(e,t)};var r=n(6067);const{isArrayTypeAnnotation:i,isArrowFunctionExpression:s,isAssignmentExpression:a,isAwaitExpression:o,isBinary:l,isBinaryExpression:c,isUpdateExpression:u,isCallExpression:p,isClass:h,isClassExpression:d,isConditional:f,isConditionalExpression:y,isExportDeclaration:m,isExportDefaultDeclaration:T,isExpressionStatement:g,isFor:b,isForInStatement:E,isForOfStatement:S,isForStatement:P,isFunctionExpression:x,isIfStatement:D,isIndexedAccessType:A,isIntersectionTypeAnnotation:v,isLogicalExpression:C,isMemberExpression:w,isNewExpression:O,isNullableTypeAnnotation:I,isObjectPattern:N,isOptionalCallExpression:F,isOptionalMemberExpression:k,isReturnStatement:L,isSequenceExpression:_,isSwitchStatement:M,isTSArrayType:B,isTSAsExpression:j,isTSInstantiationExpression:R,isTSIntersectionType:U,isTSNonNullExpression:V,isTSOptionalType:K,isTSRestType:W,isTSTypeAssertion:X,isTSUnionType:Y,isTaggedTemplateExpression:q,isThrowStatement:H,isTypeAnnotation:J,isUnaryLike:$,isUnionTypeAnnotation:G,isVariableDeclarator:z,isWhileStatement:Q,isYieldExpression:Z,isTSSatisfiesExpression:ee}=r,te={\"||\":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};function ne(e){return j(e)||ee(e)||X(e)}const re=(e,t)=>h(t,{superClass:e}),ie=(e,t)=>(w(t)||k(t))&&t.object===e||(p(t)||F(t)||O(t))&&t.callee===e||q(t)&&t.tag===e||V(t);function se(e,t){return ie(e,t)||c(t,{operator:\"**\",left:e})||re(e,t)}function ae(e,t){return!!($(t)||l(t)||y(t,{test:e})||o(t)||ne(t))||se(e,t)}function oe(e,t){const n=1&t,r=2&t,i=4&t,o=8&t,c=16&t,p=32&t;let h=e.length-1;if(h<=0)return;let d=e[h];h--;let y=e[h];for(;h>=0;){if(n&&g(y,{expression:d})||i&&T(y,{declaration:d})||r&&s(y,{body:d})||o&&P(y,{init:d})||c&&E(y,{left:d})||p&&S(y,{left:d}))return!0;if(!(h>0&&(ie(d,y)&&!O(y)||_(y)&&y.expressions[0]===d||u(y)&&!y.prefix||f(y,{test:d})||l(y,{left:d})||a(y,{left:d}))))return!1;d=y,h--,y=e[h]}return!1}},9750:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.nodes=void 0;var r=n(6067);const{FLIPPED_ALIAS_KEYS:i,isArrayExpression:s,isAssignmentExpression:a,isBinary:o,isBlockStatement:l,isCallExpression:c,isFunction:u,isIdentifier:p,isLiteral:h,isMemberExpression:d,isObjectExpression:f,isOptionalCallExpression:y,isOptionalMemberExpression:m,isStringLiteral:T}=r;function g(e,t){return e?(d(e)||m(e)?(g(e.object,t),e.computed&&g(e.property,t)):o(e)||a(e)?(g(e.left,t),g(e.right,t)):c(e)||y(e)?(t.hasCall=!0,g(e.callee,t)):u(e)?t.hasFunction=!0:p(e)&&(t.hasHelper=t.hasHelper||e.callee&&E(e.callee)),t):t}function b(e){return g(e,{hasCall:!1,hasFunction:!1,hasHelper:!1})}function E(e){return!!e&&(d(e)?E(e.object)||E(e.property):p(e)?\"require\"===e.name||95===e.name.charCodeAt(0):c(e)?E(e.callee):!(!o(e)&&!a(e))&&(p(e.left)&&E(e.left)||E(e.right)))}function S(e){return h(e)||f(e)||s(e)||p(e)||d(e)}const P={AssignmentExpression(e){const t=b(e.right);if(t.hasCall&&t.hasHelper||t.hasFunction)return t.hasFunction?3:2},SwitchCase:(e,t)=>(e.consequent.length||t.cases[0]===e?1:0)|(e.consequent.length||t.cases[t.cases.length-1]!==e?0:2),LogicalExpression(e){if(u(e.left)||u(e.right))return 2},Literal(e){if(T(e)&&\"use strict\"===e.value)return 2},CallExpression(e){if(u(e.callee)||E(e))return 3},OptionalCallExpression(e){if(u(e.callee))return 3},VariableDeclaration(e){for(let t=0;t<e.declarations.length;t++){const n=e.declarations[t];let r=E(n.id)&&!S(n.init);if(!r&&n.init){const e=b(n.init);r=E(n.init)&&e.hasCall||e.hasFunction}if(r)return 3}},IfStatement(e){if(l(e.consequent))return 3}};t.nodes=P,P.ObjectProperty=P.ObjectTypeProperty=P.ObjectMethod=function(e,t){if(t.properties[0]===e)return 1},P.ObjectTypeCallProperty=function(e,t){var n;if(t.callProperties[0]===e&&(null==(n=t.properties)||!n.length))return 1},P.ObjectTypeIndexer=function(e,t){var n,r;if(!(t.indexers[0]!==e||null!=(n=t.properties)&&n.length||null!=(r=t.callProperties)&&r.length))return 1},P.ObjectTypeInternalSlot=function(e,t){var n,r,i;if(!(t.internalSlots[0]!==e||null!=(n=t.properties)&&n.length||null!=(r=t.callProperties)&&r.length||null!=(i=t.indexers)&&i.length))return 1},[[\"Function\",!0],[\"Class\",!0],[\"Loop\",!0],[\"LabeledStatement\",!0],[\"SwitchStatement\",!0],[\"TryStatement\",!0]].forEach((function([e,t]){[e].concat(i[e]||[]).forEach((function(e){const n=t?3:0;P[e]=()=>n}))}))},516:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var r=n(8726),i=n(7533),s=n(6067),a=n(4236);const{isFunction:o,isStatement:l,isClassBody:c,isTSInterfaceBody:u,isTSEnumDeclaration:p}=s,h=/e/i,d=/\\.0+$/,f=/^0[box]/,y=/^\\s*[@#]__PURE__\\s*$/,m=/[\\n\\r\\u2028\\u2029]/,T=/\\*\\//,{needsParens:g}=i;class b{constructor(e,t){this.inForStatementInitCounter=0,this._printStack=[],this._indent=0,this._indentChar=0,this._indentRepeat=0,this._insideAux=!1,this._parenPushNewlineState=null,this._noLineTerminator=!1,this._printAuxAfterOnNextUserNode=!1,this._printedComments=new Set,this._endsWithInteger=!1,this._endsWithWord=!1,this._lastCommentLine=0,this._endsWithInnerRaw=!1,this._indentInnerComments=!0,this.format=e,this._buf=new r.default(t),this._indentChar=e.indent.style.charCodeAt(0),this._indentRepeat=e.indent.style.length,this._inputMap=null==t?void 0:t._inputMap}generate(e){return this.print(e),this._maybeAddAuxComment(),this._buf.get()}indent(){this.format.compact||this.format.concise||this._indent++}dedent(){this.format.compact||this.format.concise||this._indent--}semicolon(e=!1){this._maybeAddAuxComment(),e?this._appendChar(59):this._queue(59),this._noLineTerminator=!1}rightBrace(e){this.format.minified&&this._buf.removeLastSemicolon(),this.sourceWithOffset(\"end\",e.loc,-1),this.tokenChar(125)}rightParens(e){this.sourceWithOffset(\"end\",e.loc,-1),this.tokenChar(41)}space(e=!1){if(!this.format.compact)if(e)this._space();else if(this._buf.hasContent()){const e=this.getLastChar();32!==e&&10!==e&&this._space()}}word(e,t=!1){this._maybePrintInnerComments(),(this._endsWithWord||47===e.charCodeAt(0)&&this.endsWith(47))&&this._space(),this._maybeAddAuxComment(),this._append(e,!1),this._endsWithWord=!0,this._noLineTerminator=t}number(e){this.word(e),this._endsWithInteger=Number.isInteger(+e)&&!f.test(e)&&!h.test(e)&&!d.test(e)&&46!==e.charCodeAt(e.length-1)}token(e,t=!1){this._maybePrintInnerComments();const n=this.getLastChar(),r=e.charCodeAt(0);(33===n&&(\"--\"===e||61===r)||43===r&&43===n||45===r&&45===n||46===r&&this._endsWithInteger)&&this._space(),this._maybeAddAuxComment(),this._append(e,t),this._noLineTerminator=!1}tokenChar(e){this._maybePrintInnerComments();const t=this.getLastChar();(43===e&&43===t||45===e&&45===t||46===e&&this._endsWithInteger)&&this._space(),this._maybeAddAuxComment(),this._appendChar(e),this._noLineTerminator=!1}newline(e=1,t){if(!(e<=0)){if(!t){if(this.format.retainLines||this.format.compact)return;if(this.format.concise)return void this.space()}e>2&&(e=2),e-=this._buf.getNewlineCount();for(let t=0;t<e;t++)this._newline()}}endsWith(e){return this.getLastChar()===e}getLastChar(){return this._buf.getLastChar()}endsWithCharAndNewline(){return this._buf.endsWithCharAndNewline()}removeTrailingNewline(){this._buf.removeTrailingNewline()}exactSource(e,t){e?(this._catchUp(\"start\",e),this._buf.exactSource(e,t)):t()}source(e,t){t&&(this._catchUp(e,t),this._buf.source(e,t))}sourceWithOffset(e,t,n){t&&(this._catchUp(e,t),this._buf.sourceWithOffset(e,t,n))}withSource(e,t,n){t?(this._catchUp(e,t),this._buf.withSource(e,t,n)):n()}sourceIdentifierName(e,t){if(!this._buf._canMarkIdName)return;const n=this._buf._sourcePosition;n.identifierNamePos=t,n.identifierName=e}_space(){this._queue(32)}_newline(){this._queue(10)}_append(e,t){this._maybeAddParen(e),this._maybeIndent(e.charCodeAt(0)),this._buf.append(e,t),this._endsWithWord=!1,this._endsWithInteger=!1}_appendChar(e){this._maybeAddParenChar(e),this._maybeIndent(e),this._buf.appendChar(e),this._endsWithWord=!1,this._endsWithInteger=!1}_queue(e){this._maybeAddParenChar(e),this._maybeIndent(e),this._buf.queue(e),this._endsWithWord=!1,this._endsWithInteger=!1}_maybeIndent(e){this._indent&&10!==e&&this.endsWith(10)&&this._buf.queueIndentation(this._indentChar,this._getIndent())}_shouldIndent(e){if(this._indent&&10!==e&&this.endsWith(10))return!0}_maybeAddParenChar(e){const t=this._parenPushNewlineState;t&&32!==e&&(10===e?(this.tokenChar(40),this.indent(),t.printed=!0):this._parenPushNewlineState=null)}_maybeAddParen(e){const t=this._parenPushNewlineState;if(!t)return;const n=e.length;let r;for(r=0;r<n&&32===e.charCodeAt(r);r++)continue;if(r===n)return;const i=e.charCodeAt(r);if(10!==i){if(47!==i||r+1===n)return void(this._parenPushNewlineState=null);const t=e.charCodeAt(r+1);if(42===t){if(y.test(e.slice(r+2,n-2)))return}else if(47!==t)return void(this._parenPushNewlineState=null)}this.tokenChar(40),this.indent(),t.printed=!0}catchUp(e){if(!this.format.retainLines)return;const t=e-this._buf.getCurrentLine();for(let e=0;e<t;e++)this._newline()}_catchUp(e,t){var n;if(!this.format.retainLines)return;const r=null==t||null==(n=t[e])?void 0:n.line;if(null!=r){const e=r-this._buf.getCurrentLine();for(let t=0;t<e;t++)this._newline()}}_getIndent(){return this._indentRepeat*this._indent}printTerminatorless(e,t,n){if(n)this._noLineTerminator=!0,this.print(e,t);else{const n={printed:!1};this._parenPushNewlineState=n,this.print(e,t),n.printed&&(this.dedent(),this.newline(),this.tokenChar(41))}}print(e,t,n,r,i){var s;if(!e)return;this._endsWithInnerRaw=!1;const a=e.type,o=this.format,l=o.concise;e._compact&&(o.concise=!0);const c=this[a];if(void 0===c)throw new ReferenceError(`unknown node of type ${JSON.stringify(a)} with constructor ${JSON.stringify(e.constructor.name)}`);this._printStack.push(e);const u=this._insideAux;this._insideAux=null==e.loc,this._maybeAddAuxComment(this._insideAux&&!u);const p=i||o.retainFunctionParens&&\"FunctionExpression\"===a&&(null==(s=e.extra)?void 0:s.parenthesized)||g(e,t,this._printStack);p&&(this.tokenChar(40),this._endsWithInnerRaw=!1),this._lastCommentLine=0,this._printLeadingComments(e,t);const h=\"Program\"===a||\"File\"===a?null:e.loc;this.exactSource(h,c.bind(this,e,t)),p?(this._printTrailingComments(e,t),this.tokenChar(41),this._noLineTerminator=n):n&&!this._noLineTerminator?(this._noLineTerminator=!0,this._printTrailingComments(e,t)):this._printTrailingComments(e,t,r),this._printStack.pop(),o.concise=l,this._insideAux=u,this._endsWithInnerRaw=!1}_maybeAddAuxComment(e){e&&this._printAuxBeforeComment(),this._insideAux||this._printAuxAfterComment()}_printAuxBeforeComment(){if(this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=!0;const e=this.format.auxiliaryCommentBefore;e&&this._printComment({type:\"CommentBlock\",value:e},0)}_printAuxAfterComment(){if(!this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=!1;const e=this.format.auxiliaryCommentAfter;e&&this._printComment({type:\"CommentBlock\",value:e},0)}getPossibleRaw(e){const t=e.extra;if(null!=(null==t?void 0:t.raw)&&null!=t.rawValue&&e.value===t.rawValue)return t.raw}printJoin(e,t,n={}){if(null==e||!e.length)return;let{indent:r}=n;if(null==r&&this.format.retainLines){var i;const t=null==(i=e[0].loc)?void 0:i.start.line;null!=t&&t!==this._buf.getCurrentLine()&&(r=!0)}r&&this.indent();const s={addNewlines:n.addNewlines,nextNodeStartLine:0},a=n.separator?n.separator.bind(this):null,o=e.length;for(let r=0;r<o;r++){const i=e[r];if(i&&(n.statement&&this._printNewline(0===r,s),this.print(i,t,void 0,n.trailingCommentsLineOffset||0),null==n.iterator||n.iterator(i,r),r<o-1&&(null==a||a()),n.statement))if(r+1===o)this.newline(1);else{var l;const t=e[r+1];s.nextNodeStartLine=(null==(l=t.loc)?void 0:l.start.line)||0,this._printNewline(!0,s)}}r&&this.dedent()}printAndIndentOnComments(e,t){const n=e.leadingComments&&e.leadingComments.length>0;n&&this.indent(),this.print(e,t),n&&this.dedent()}printBlock(e){const t=e.body;\"EmptyStatement\"!==t.type&&this.space(),this.print(t,e)}_printTrailingComments(e,t,n){const{innerComments:r,trailingComments:i}=e;null!=r&&r.length&&this._printComments(2,r,e,t,n),null!=i&&i.length&&this._printComments(2,i,e,t,n)}_printLeadingComments(e,t){const n=e.leadingComments;null!=n&&n.length&&this._printComments(0,n,e,t)}_maybePrintInnerComments(){this._endsWithInnerRaw&&this.printInnerComments(),this._endsWithInnerRaw=!0,this._indentInnerComments=!0}printInnerComments(){const e=this._printStack[this._printStack.length-1],t=e.innerComments;if(null==t||!t.length)return;const n=this.endsWith(32),r=this._indentInnerComments,i=this._printedComments.size;r&&this.indent(),this._printComments(1,t,e),n&&i!==this._printedComments.size&&this.space(),r&&this.dedent()}noIndentInnerCommentsHere(){this._indentInnerComments=!1}printSequence(e,t,n={}){n.statement=!0,null!=n.indent||(n.indent=!1),this.printJoin(e,t,n)}printList(e,t,n={}){null==n.separator&&(n.separator=S),this.printJoin(e,t,n)}_printNewline(e,t){const n=this.format;if(n.retainLines||n.compact)return;if(n.concise)return void this.space();if(!e)return;const r=t.nextNodeStartLine,i=this._lastCommentLine;if(r>0&&i>0){const e=r-i;if(e>=0)return void this.newline(e||1)}this._buf.hasContent()&&this.newline(1)}_shouldPrintComment(e){return e.ignore||this._printedComments.has(e)?0:this._noLineTerminator&&(m.test(e.value)||T.test(e.value))?2:(this._printedComments.add(e),this.format.shouldPrintComment(e.value)?1:0)}_printComment(e,t){const n=this._noLineTerminator,r=\"CommentBlock\"===e.type,i=r&&1!==t&&!this._noLineTerminator;i&&this._buf.hasContent()&&2!==t&&this.newline(1);const s=this.getLastChar();let a;if(91!==s&&123!==s&&this.space(),r){if(a=`/*${e.value}*/`,this.format.indent.adjustMultilineComment){var o;const t=null==(o=e.loc)?void 0:o.start.column;if(t){const e=new RegExp(\"\\\\n\\\\s{1,\"+t+\"}\",\"g\");a=a.replace(e,\"\\n\")}let n=this.format.retainLines?0:this._buf.getCurrentColumn();(this._shouldIndent(47)||this.format.retainLines)&&(n+=this._getIndent()),a=a.replace(/\\n(?!$)/g,`\\n${\" \".repeat(n)}`)}}else a=n?`/*${e.value}*/`:`//${e.value}`;this.endsWith(47)&&this._space(),this.source(\"start\",e.loc),this._append(a,r),r||n||this.newline(1,!0),i&&3!==t&&this.newline(1)}_printComments(e,t,n,r,i=0){const s=n.loc,a=t.length;let h=!!s;const d=h?s.start.line:0,f=h?s.end.line:0;let y=0,T=0;const g=this._noLineTerminator?function(){}:this.newline.bind(this);for(let s=0;s<a;s++){const b=t[s],E=this._shouldPrintComment(b);if(2===E){h=!1;break}if(h&&b.loc&&1===E){const t=b.loc.start.line,n=b.loc.end.line;if(0===e){let e=0;0===s?!this._buf.hasContent()||\"CommentLine\"!==b.type&&t==n||(e=T=1):e=t-y,y=n,g(e),this._printComment(b,1),s+1===a&&(g(Math.max(d-y,T)),y=d)}else if(1===e){const e=t-(0===s?d:y);y=n,g(e),this._printComment(b,1),s+1===a&&(g(Math.min(1,f-y)),y=f)}else{const e=t-(0===s?f-i:y);y=n,g(e),this._printComment(b,1)}}else{if(h=!1,1!==E)continue;if(1===a){const t=b.loc?b.loc.start.line===b.loc.end.line:!m.test(b.value),i=t&&!l(n)&&!c(r)&&!u(r)&&!p(r);0===e?this._printComment(b,i&&\"ObjectExpression\"!==n.type||t&&o(r,{body:n})?1:0):i&&2===e?this._printComment(b,1):this._printComment(b,0)}else 1!==e||\"ObjectExpression\"===n.type&&n.properties.length>1||\"ClassBody\"===n.type||\"TSInterfaceBody\"===n.type?this._printComment(b,0):this._printComment(b,0===s?2:s===a-1?3:0)}}2===e&&h&&y&&(this._lastCommentLine=y)}}Object.assign(b.prototype,a),b.prototype.Noop=function(){};var E=b;function S(){this.tokenChar(44),this.space()}t.default=E},2564:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var r=n(2509),i=n(3446);t.default=class{constructor(e,t){var n;this._map=void 0,this._rawMappings=void 0,this._sourceFileName=void 0,this._lastGenLine=0,this._lastSourceLine=0,this._lastSourceColumn=0,this._inputMap=void 0;const s=this._map=new r.GenMapping({sourceRoot:e.sourceRoot});if(this._sourceFileName=null==(n=e.sourceFileName)?void 0:n.replace(/\\\\/g,\"/\"),this._rawMappings=void 0,e.inputSourceMap){this._inputMap=new i.TraceMap(e.inputSourceMap);const t=this._inputMap.resolvedSources;if(t.length)for(let e=0;e<t.length;e++){var a;(0,r.setSourceContent)(s,t[e],null==(a=this._inputMap.sourcesContent)?void 0:a[e])}}if(\"string\"!=typeof t||e.inputSourceMap){if(\"object\"==typeof t)for(const e of Object.keys(t))(0,r.setSourceContent)(s,e.replace(/\\\\/g,\"/\"),t[e])}else(0,r.setSourceContent)(s,this._sourceFileName,t)}get(){return(0,r.toEncodedMap)(this._map)}getDecoded(){return(0,r.toDecodedMap)(this._map)}getRawMappings(){return this._rawMappings||(this._rawMappings=(0,r.allMappings)(this._map))}mark(e,t,n,s,a,o){var l;let c;if(this._rawMappings=void 0,null!=t)if(this._inputMap){if(c=(0,i.originalPositionFor)(this._inputMap,{line:t,column:n}),!c.name&&a){const e=(0,i.originalPositionFor)(this._inputMap,a);e.name&&(s=e.name)}}else c={source:(null==o?void 0:o.replace(/\\\\/g,\"/\"))||this._sourceFileName,line:t,column:n};(0,r.maybeAddMapping)(this._map,{name:s,generated:e,source:null==(l=c)?void 0:l.source,original:c})}}},4705:(e,t)=>{\"use strict\";function n(e){const{context:t,node:n}=e;if(n.computed&&t.maybeQueue(e.get(\"key\")),n.decorators)for(const n of e.get(\"decorators\"))t.maybeQueue(n)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0,t.requeueComputedKeyAndDecorators=n,t.skipAllButComputedKey=function(e){e.skip(),e.node.computed&&e.context.maybeQueue(e.get(\"key\"))};var r={FunctionParent(e){e.isArrowFunctionExpression()||(e.skip(),e.isMethod()&&n(e))},Property(e){e.isObjectProperty()||(e.skip(),n(e))}};t.default=r},2023:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function({node:e,parent:t,scope:n,id:r},i=!1,D=!1){if(e.id)return;if(!y(t)&&!f(t,{kind:\"method\"})||t.computed&&!h(t.key)){if(b(t)){if(r=t.id,p(r)&&!i){const t=n.parent.getBinding(r.name);if(t&&t.constant&&n.getBinding(r.name)===t)return e.id=a(r),void(e.id[s]=!0)}}else if(l(t,{operator:\"=\"}))r=t.left;else if(!r)return}else r=t.key;let A;if(r&&h(r)?A=function(e){return d(e)?\"null\":m(e)?`_${e.pattern}_${e.flags}`:g(e)?e.quasis.map((e=>e.value.raw)).join(\"\"):void 0!==e.value?e.value+\"\":\"\"}(r):r&&p(r)&&(A=r.name),void 0===A)return;if(!D&&u(e)&&/[\\uD800-\\uDFFF]/.test(A))return;A=E(A);const v=o(A);return v[s]=!0,function(e,t,n,r){if(e.selfReference){if(!r.hasBinding(n.name)||r.hasGlobal(n.name)){if(!u(t))return;let e=S;t.generator&&(e=P);const i=e({FUNCTION:t,FUNCTION_ID:n,FUNCTION_KEY:r.generateUidIdentifier(n.name)}).expression,s=i.callee.body.body[0].params;for(let e=0,n=function(e){const t=e.params.findIndex((e=>c(e)||T(e)));return-1===t?e.params.length:t}(t);e<n;e++)s.push(r.generateUidIdentifier(\"x\"));return i}r.rename(n.name)}t.id=n,r.getProgramParent().references[n.name]=!0}(function(e,t,n){const r={selfAssignment:!1,selfReference:!1,outerDeclar:n.getBindingIdentifier(t),name:t},i=n.getOwnBinding(t);return i?\"param\"===i.kind&&(r.selfReference=!0):(r.outerDeclar||n.hasGlobal(t))&&n.traverse(e,x,r),r}(e,A,n),e,v,n)||e};var r=n(6849),i=n(6067);const{NOT_LOCAL_BINDING:s,cloneNode:a,identifier:o,isAssignmentExpression:l,isAssignmentPattern:c,isFunction:u,isIdentifier:p,isLiteral:h,isNullLiteral:d,isObjectMethod:f,isObjectProperty:y,isRegExpLiteral:m,isRestElement:T,isTemplateLiteral:g,isVariableDeclarator:b,toBindingIdentifierName:E}=i,S=r.default.statement(\"\\n  (function (FUNCTION_KEY) {\\n    function FUNCTION_ID() {\\n      return FUNCTION_KEY.apply(this, arguments);\\n    }\\n\\n    FUNCTION_ID.toString = function () {\\n      return FUNCTION_KEY.toString();\\n    }\\n\\n    return FUNCTION_ID;\\n  })(FUNCTION)\\n\"),P=r.default.statement(\"\\n  (function (FUNCTION_KEY) {\\n    function* FUNCTION_ID() {\\n      return yield* FUNCTION_KEY.apply(this, arguments);\\n    }\\n\\n    FUNCTION_ID.toString = function () {\\n      return FUNCTION_KEY.toString();\\n    };\\n\\n    return FUNCTION_ID;\\n  })(FUNCTION)\\n\"),x={\"ReferencedIdentifier|BindingIdentifier\"(e,t){e.node.name===t.name&&e.scope.getBindingIdentifier(t.name)===t.outerDeclar&&(t.selfReference=!0,e.stop())}}},7438:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n=\"var\"){e.traverse(o,{kind:n,emit:t})};var r=n(6067);const{assignmentExpression:i,expressionStatement:s,identifier:a}=r,o={Scope(e,t){\"let\"===t.kind&&e.skip()},FunctionParent(e){e.skip()},VariableDeclaration(e,t){if(t.kind&&e.node.kind!==t.kind)return;const n=[],r=e.get(\"declarations\");let o;for(const e of r){o=e.node.id,e.node.init&&n.push(s(i(\"=\",e.node.id,e.node.init)));for(const n of Object.keys(e.getBindingIdentifiers()))t.emit(a(n),n,null!==e.node.init)}e.parentPath.isFor({left:e.node})?e.replaceWith(o):e.replaceWithMultiple(n)}}},3472:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){if(!e.isExportDeclaration()||e.isExportAllDeclaration())throw new Error(\"Only default and named export declarations can be split.\");if(e.isExportDefaultDeclaration()){const t=e.get(\"declaration\"),n=t.isFunctionDeclaration()||t.isClassDeclaration(),r=t.isFunctionExpression()||t.isClassExpression(),u=t.isScope()?t.scope.parent:t.scope;let p=t.node.id,h=!1;p?r&&u.hasBinding(p.name)&&(h=!0,p=u.generateUidIdentifier(p.name)):(h=!0,p=u.generateUidIdentifier(\"default\"),(n||r)&&(t.node.id=i(p)));const d=n?t.node:l(\"var\",[c(i(p),t.node)]),f=s(null,[a(i(p),o(\"default\"))]);return e.insertAfter(f),e.replaceWith(d),h&&u.registerDeclaration(e),e}if(e.get(\"specifiers\").length>0)throw new Error(\"It doesn't make sense to split exported specifiers.\");const t=e.get(\"declaration\"),n=t.getOuterBindingIdentifiers(),r=Object.keys(n).map((e=>a(o(e),o(e)))),u=s(null,r);return e.insertAfter(u),e.replaceWith(t.node),e};var r=n(6067);const{cloneNode:i,exportNamedDeclaration:s,exportSpecifier:a,identifier:o,variableDeclaration:l,variableDeclarator:c}=r},7648:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.readCodePoint=c,t.readInt=l,t.readStringContents=function(e,t,n,r,i,o){const l=n,c=r,u=i;let p=\"\",h=null,d=n;const{length:f}=t;for(;;){if(n>=f){o.unterminated(l,c,u),p+=t.slice(d,n);break}const y=t.charCodeAt(n);if(s(e,y,t,n)){p+=t.slice(d,n);break}if(92===y){p+=t.slice(d,n);const s=a(t,n,r,i,\"template\"===e,o);null!==s.ch||h?p+=s.ch:h={pos:n,lineStart:r,curLine:i},({pos:n,lineStart:r,curLine:i}=s),d=n}else 8232===y||8233===y?(++i,r=++n):10===y||13===y?\"template\"===e?(p+=t.slice(d,n)+\"\\n\",++n,13===y&&10===t.charCodeAt(n)&&++n,++i,d=r=n):o.unterminated(l,c,u):++n}return{pos:n,str:p,firstInvalidLoc:h,lineStart:r,curLine:i,containsInvalid:!!h}};var n=function(e){return e>=48&&e<=57};const r={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},i={bin:e=>48===e||49===e,oct:e=>e>=48&&e<=55,dec:e=>e>=48&&e<=57,hex:e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};function s(e,t,n,r){return\"template\"===e?96===t||36===t&&123===n.charCodeAt(r+1):t===(\"double\"===e?34:39)}function a(e,t,n,r,i,s){const a=!i;t++;const l=e=>({pos:t,ch:e,lineStart:n,curLine:r}),u=e.charCodeAt(t++);switch(u){case 110:return l(\"\\n\");case 114:return l(\"\\r\");case 120:{let i;return({code:i,pos:t}=o(e,t,n,r,2,!1,a,s)),l(null===i?null:String.fromCharCode(i))}case 117:{let i;return({code:i,pos:t}=c(e,t,n,r,a,s)),l(null===i?null:String.fromCodePoint(i))}case 116:return l(\"\\t\");case 98:return l(\"\\b\");case 118:return l(\"\\v\");case 102:return l(\"\\f\");case 13:10===e.charCodeAt(t)&&++t;case 10:n=t,++r;case 8232:case 8233:return l(\"\");case 56:case 57:if(i)return l(null);s.strictNumericEscape(t-1,n,r);default:if(u>=48&&u<=55){const a=t-1;let o=e.slice(a,t+2).match(/^[0-7]+/)[0],c=parseInt(o,8);c>255&&(o=o.slice(0,-1),c=parseInt(o,8)),t+=o.length-1;const u=e.charCodeAt(t);if(\"0\"!==o||56===u||57===u){if(i)return l(null);s.strictNumericEscape(a,n,r)}return l(String.fromCharCode(c))}return l(String.fromCharCode(u))}}function o(e,t,n,r,i,s,a,o){const c=t;let u;return({n:u,pos:t}=l(e,t,n,r,16,i,s,!1,o,!a)),null===u&&(a?o.invalidEscapeSequence(c,n,r):t=c-1),{code:u,pos:t}}function l(e,t,s,a,o,l,c,u,p,h){const d=t,f=16===o?r.hex:r.decBinOct,y=16===o?i.hex:10===o?i.dec:8===o?i.oct:i.bin;let m=!1,T=0;for(let r=0,i=null==l?1/0:l;r<i;++r){const r=e.charCodeAt(t);let i;if(95!==r||\"bail\"===u){if(i=r>=97?r-97+10:r>=65?r-65+10:n(r)?r-48:1/0,i>=o){if(i<=9&&h)return{n:null,pos:t};if(i<=9&&p.invalidDigit(t,s,a,o))i=0;else{if(!c)break;i=0,m=!0}}++t,T=T*o+i}else{const n=e.charCodeAt(t-1),r=e.charCodeAt(t+1);if(u){if(Number.isNaN(r)||!y(r)||f.has(n)||f.has(r)){if(h)return{n:null,pos:t};p.unexpectedNumericSeparator(t,s,a)}}else{if(h)return{n:null,pos:t};p.numericSeparatorInEscapeSequence(t,s,a)}++t}}return t===d||null!=l&&t-d!==l||m?{n:null,pos:t}:{n:T,pos:t}}function c(e,t,n,r,i,s){let a;if(123===e.charCodeAt(t)){if(++t,({code:a,pos:t}=o(e,t,n,r,e.indexOf(\"}\",t)-t,!0,i,s)),++t,null!==a&&a>1114111){if(!i)return{code:null,pos:t};s.invalidCodePoint(t,n,r)}}else({code:a,pos:t}=o(e,t,n,r,4,!1,i,s));return{code:a,pos:t}}},7749:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.isIdentifierChar=u,t.isIdentifierName=function(e){let t=!0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(55296==(64512&r)&&n+1<e.length){const t=e.charCodeAt(++n);56320==(64512&t)&&(r=65536+((1023&r)<<10)+(1023&t))}if(t){if(t=!1,!c(r))return!1}else if(!u(r))return!1}return!t},t.isIdentifierStart=c;let n=\"ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ﬀ-ﬆﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼＡ-Ｚａ-ｚｦ-ﾾￂ-ￇￊ-ￏￒ-ￗￚ-ￜ\",r=\"‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏０-９＿\";const i=new RegExp(\"[\"+n+\"]\"),s=new RegExp(\"[\"+n+r+\"]\");n=r=null;const a=[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,68,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,349,41,7,1,79,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,159,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,264,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,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,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,757,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,3104,541,1507,4938,6,4191],o=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,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,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,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,406,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,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,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,983,6,110,6,6,9,4759,9,787719,239];function l(e,t){let n=65536;for(let r=0,i=t.length;r<i;r+=2){if(n+=t[r],n>e)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function c(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&i.test(String.fromCharCode(e)):l(e,a)))}function u(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&s.test(String.fromCharCode(e)):l(e,a)||l(e,o))))}},9649:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),Object.defineProperty(t,\"isIdentifierChar\",{enumerable:!0,get:function(){return r.isIdentifierChar}}),Object.defineProperty(t,\"isIdentifierName\",{enumerable:!0,get:function(){return r.isIdentifierName}}),Object.defineProperty(t,\"isIdentifierStart\",{enumerable:!0,get:function(){return r.isIdentifierStart}}),Object.defineProperty(t,\"isKeyword\",{enumerable:!0,get:function(){return i.isKeyword}}),Object.defineProperty(t,\"isReservedWord\",{enumerable:!0,get:function(){return i.isReservedWord}}),Object.defineProperty(t,\"isStrictBindOnlyReservedWord\",{enumerable:!0,get:function(){return i.isStrictBindOnlyReservedWord}}),Object.defineProperty(t,\"isStrictBindReservedWord\",{enumerable:!0,get:function(){return i.isStrictBindReservedWord}}),Object.defineProperty(t,\"isStrictReservedWord\",{enumerable:!0,get:function(){return i.isStrictReservedWord}});var r=n(7749),i=n(5562)},5562:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.isKeyword=function(e){return n.has(e)},t.isReservedWord=s,t.isStrictBindOnlyReservedWord=o,t.isStrictBindReservedWord=function(e,t){return a(e,t)||o(e)},t.isStrictReservedWord=a;const n=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\"]),r=new Set([\"implements\",\"interface\",\"let\",\"package\",\"private\",\"protected\",\"public\",\"static\",\"yield\"]),i=new Set([\"eval\",\"arguments\"]);function s(e,t){return t&&\"await\"===e||\"enum\"===e}function a(e,t){return s(e,t)||r.has(e)}function o(e){return i.has(e)}},8530:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t={}){return\"\"!==e&&h(t)?function(e,t){let n=\"\";for(const{type:r,value:i}of u(t)){const t=e[r];n+=t?i.split(l).map((e=>t(e))).join(\"\\n\"):i}return n}({keyword:(n=d(t.forceColor)).cyan,capitalized:n.yellow,jsxIdentifier:n.yellow,punctuator:n.yellow,number:n.magenta,string:n.green,regex:n.magenta,comment:n.grey,invalid:n.white.bgRed.bold},e):e;var n},t.shouldHighlight=h;var r=n(6188),i=n(9649),s=function(e,t){if(null===e||\"object\"!=typeof e&&\"function\"!=typeof e)return{default:e};var n=a(true);if(n&&n.has(e))return n.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(\"default\"!==s&&Object.prototype.hasOwnProperty.call(e,s)){var o=i?Object.getOwnPropertyDescriptor(e,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=e[s]}return r.default=e,n&&n.set(e,r),r}(n(2589));function a(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(a=function(e){return e?n:t})(e)}const o=new Set([\"as\",\"async\",\"from\",\"get\",\"of\",\"set\"]),l=/\\r\\n|[\\n\\r\\u2028\\u2029]/,c=/^[()[\\]{}]$/;let u,p;{const e=/^[a-z][\\w-]*$/i,t=function(t,n,r){if(\"name\"===t.type){if((0,i.isKeyword)(t.value)||(0,i.isStrictReservedWord)(t.value,!0)||o.has(t.value))return\"keyword\";if(e.test(t.value)&&(\"<\"===r[n-1]||\"</\"==r.slice(n-2,n)))return\"jsxIdentifier\";if(t.value[0]!==t.value[0].toLowerCase())return\"capitalized\"}return\"punctuator\"===t.type&&c.test(t.value)?\"bracket\":\"invalid\"!==t.type||\"@\"!==t.value&&\"#\"!==t.value?t.type:\"punctuator\"};u=function*(e){let n;for(;n=r.default.exec(e);){const i=r.matchToToken(n);yield{type:t(i,n.index,e),value:i.value}}}}function h(e){return s.default.level>0||e.forceColor}function d(e){return e?(null!=p||(p=new s.default.constructor({enabled:!0,level:1})),p):s.default}t.getChalk=e=>d(e.forceColor)},7191:(e,t)=>{\"use strict\";function n(e,t){if(null==e)return{};var n,r,i={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}class r{constructor(e,t,n){this.line=void 0,this.column=void 0,this.index=void 0,this.line=e,this.column=t,this.index=n}}class i{constructor(e,t){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=e,this.end=t}}function s(e,t){const{line:n,column:i,index:s}=e;return new r(n,i+t,s+t)}const a=\"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED\";var o={ImportMetaOutsideModule:{message:\"import.meta may appear only with 'sourceType: \\\"module\\\"'\",code:a},ImportOutsideModule:{message:\"'import' and 'export' may appear only with 'sourceType: \\\"module\\\"'\",code:a}};const l={ArrayPattern:\"array destructuring pattern\",AssignmentExpression:\"assignment expression\",AssignmentPattern:\"assignment expression\",ArrowFunctionExpression:\"arrow function expression\",ConditionalExpression:\"conditional expression\",CatchClause:\"catch clause\",ForOfStatement:\"for-of statement\",ForInStatement:\"for-in statement\",ForStatement:\"for-loop\",FormalParameters:\"function parameter list\",Identifier:\"identifier\",ImportSpecifier:\"import specifier\",ImportDefaultSpecifier:\"import default specifier\",ImportNamespaceSpecifier:\"import namespace specifier\",ObjectPattern:\"object destructuring pattern\",ParenthesizedExpression:\"parenthesized expression\",RestElement:\"rest element\",UpdateExpression:{true:\"prefix operation\",false:\"postfix operation\"},VariableDeclarator:\"variable declaration\",YieldExpression:\"yield expression\"},c=({type:e,prefix:t})=>\"UpdateExpression\"===e?l.UpdateExpression[String(t)]:l[e];var u={AccessorIsGenerator:({kind:e})=>`A ${e}ter cannot be a generator.`,ArgumentsInClass:\"'arguments' is only allowed in functions and class methods.\",AsyncFunctionInSingleStatementContext:\"Async functions can only be declared at the top level or inside a block.\",AwaitBindingIdentifier:\"Can not use 'await' as identifier inside an async function.\",AwaitBindingIdentifierInStaticBlock:\"Can not use 'await' as identifier inside a static block.\",AwaitExpressionFormalParameter:\"'await' is not allowed in async function parameters.\",AwaitUsingNotInAsyncContext:\"'await using' is only allowed within async functions and at the top levels of modules.\",AwaitNotInAsyncContext:\"'await' is only allowed within async functions and at the top levels of modules.\",AwaitNotInAsyncFunction:\"'await' is only allowed within async functions.\",BadGetterArity:\"A 'get' accessor must not have any formal parameters.\",BadSetterArity:\"A 'set' accessor must have exactly one formal parameter.\",BadSetterRestParameter:\"A 'set' accessor function argument must not be a rest parameter.\",ConstructorClassField:\"Classes may not have a field named 'constructor'.\",ConstructorClassPrivateField:\"Classes may not have a private field named '#constructor'.\",ConstructorIsAccessor:\"Class constructor may not be an accessor.\",ConstructorIsAsync:\"Constructor can't be an async function.\",ConstructorIsGenerator:\"Constructor can't be a generator.\",DeclarationMissingInitializer:({kind:e})=>`Missing initializer in ${e} declaration.`,DecoratorArgumentsOutsideParentheses:\"Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.\",DecoratorBeforeExport:\"Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.\",DecoratorsBeforeAfterExport:\"Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.\",DecoratorConstructor:\"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?\",DecoratorExportClass:\"Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.\",DecoratorSemicolon:\"Decorators must not be followed by a semicolon.\",DecoratorStaticBlock:\"Decorators can't be used with a static block.\",DeletePrivateField:\"Deleting a private field is not allowed.\",DestructureNamedImport:\"ES2015 named imports do not destructure. Use another statement for destructuring after the import.\",DuplicateConstructor:\"Duplicate constructor in the same class.\",DuplicateDefaultExport:\"Only one default export allowed per module.\",DuplicateExport:({exportName:e})=>`\\`${e}\\` has already been exported. Exported identifiers must be unique.`,DuplicateProto:\"Redefinition of __proto__ property.\",DuplicateRegExpFlags:\"Duplicate regular expression flag.\",ElementAfterRest:\"Rest element must be last element.\",EscapedCharNotAnIdentifier:\"Invalid Unicode escape.\",ExportBindingIsString:({localName:e,exportName:t})=>`A string literal cannot be used as an exported binding without \\`from\\`.\\n- Did you mean \\`export { '${e}' as '${t}' } from 'some-module'\\`?`,ExportDefaultFromAsIdentifier:\"'from' is not allowed as an identifier after 'export default'.\",ForInOfLoopInitializer:({type:e})=>`'${\"ForInStatement\"===e?\"for-in\":\"for-of\"}' loop variable declaration may not have an initializer.`,ForInUsing:\"For-in loop may not start with 'using' declaration.\",ForOfAsync:\"The left-hand side of a for-of loop may not be 'async'.\",ForOfLet:\"The left-hand side of a for-of loop may not start with 'let'.\",GeneratorInSingleStatementContext:\"Generators can only be declared at the top level or inside a block.\",IllegalBreakContinue:({type:e})=>`Unsyntactic ${\"BreakStatement\"===e?\"break\":\"continue\"}.`,IllegalLanguageModeDirective:\"Illegal 'use strict' directive in function with non-simple parameter list.\",IllegalReturn:\"'return' outside of function.\",ImportAttributesUseAssert:\"The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedAssertSyntax: true` option in the import attributes plugin to suppress this error.\",ImportBindingIsString:({importName:e})=>`A string literal cannot be used as an imported binding.\\n- Did you mean \\`import { \"${e}\" as foo }\\`?`,ImportCallArgumentTrailingComma:\"Trailing comma is disallowed inside import(...) arguments.\",ImportCallArity:({maxArgumentCount:e})=>`\\`import()\\` requires exactly ${1===e?\"one argument\":\"one or two arguments\"}.`,ImportCallNotNewExpression:\"Cannot use new with import(...).\",ImportCallSpreadArgument:\"`...` is not allowed in `import()`.\",ImportJSONBindingNotDefault:\"A JSON module can only be imported with `default`.\",ImportReflectionHasAssertion:\"`import module x` cannot have assertions.\",ImportReflectionNotBinding:'Only `import module x from \"./module\"` is valid.',IncompatibleRegExpUVFlags:\"The 'u' and 'v' regular expression flags cannot be enabled at the same time.\",InvalidBigIntLiteral:\"Invalid BigIntLiteral.\",InvalidCodePoint:\"Code point out of bounds.\",InvalidCoverInitializedName:\"Invalid shorthand property initializer.\",InvalidDecimal:\"Invalid decimal.\",InvalidDigit:({radix:e})=>`Expected number in radix ${e}.`,InvalidEscapeSequence:\"Bad character escape sequence.\",InvalidEscapeSequenceTemplate:\"Invalid escape sequence in template.\",InvalidEscapedReservedWord:({reservedWord:e})=>`Escape sequence in keyword ${e}.`,InvalidIdentifier:({identifierName:e})=>`Invalid identifier ${e}.`,InvalidLhs:({ancestor:e})=>`Invalid left-hand side in ${c(e)}.`,InvalidLhsBinding:({ancestor:e})=>`Binding invalid left-hand side in ${c(e)}.`,InvalidNumber:\"Invalid number.\",InvalidOrMissingExponent:\"Floating-point numbers require a valid exponent after the 'e'.\",InvalidOrUnexpectedToken:({unexpected:e})=>`Unexpected character '${e}'.`,InvalidParenthesizedAssignment:\"Invalid parenthesized assignment pattern.\",InvalidPrivateFieldResolution:({identifierName:e})=>`Private name #${e} is not defined.`,InvalidPropertyBindingPattern:\"Binding member expression.\",InvalidRecordProperty:\"Only properties and spread elements are allowed in record definitions.\",InvalidRestAssignmentPattern:\"Invalid rest operator's argument.\",LabelRedeclaration:({labelName:e})=>`Label '${e}' is already declared.`,LetInLexicalBinding:\"'let' is disallowed as a lexically bound name.\",LineTerminatorBeforeArrow:\"No line break is allowed before '=>'.\",MalformedRegExpFlags:\"Invalid regular expression flag.\",MissingClassName:\"A class name is required.\",MissingEqInAssignment:\"Only '=' operator can be used for specifying default value.\",MissingSemicolon:\"Missing semicolon.\",MissingPlugin:({missingPlugin:e})=>`This experimental syntax requires enabling the parser plugin: ${e.map((e=>JSON.stringify(e))).join(\", \")}.`,MissingOneOfPlugins:({missingPlugin:e})=>`This experimental syntax requires enabling one of the following parser plugin(s): ${e.map((e=>JSON.stringify(e))).join(\", \")}.`,MissingUnicodeEscape:\"Expecting Unicode escape sequence \\\\uXXXX.\",MixingCoalesceWithLogical:\"Nullish coalescing operator(??) requires parens when mixing with logical operators.\",ModuleAttributeDifferentFromType:\"The only accepted module attribute is `type`.\",ModuleAttributeInvalidValue:\"Only string literals are allowed as module attribute values.\",ModuleAttributesWithDuplicateKeys:({key:e})=>`Duplicate key \"${e}\" is not allowed in module attributes.`,ModuleExportNameHasLoneSurrogate:({surrogateCharCode:e})=>`An export name cannot include a lone surrogate, found '\\\\u${e.toString(16)}'.`,ModuleExportUndefined:({localName:e})=>`Export '${e}' is not defined.`,MultipleDefaultsInSwitch:\"Multiple default clauses.\",NewlineAfterThrow:\"Illegal newline after throw.\",NoCatchOrFinally:\"Missing catch or finally clause.\",NumberIdentifier:\"Identifier directly after number.\",NumericSeparatorInEscapeSequence:\"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.\",ObsoleteAwaitStar:\"'await*' has been removed from the async functions proposal. Use Promise.all() instead.\",OptionalChainingNoNew:\"Constructors in/after an Optional Chain are not allowed.\",OptionalChainingNoTemplate:\"Tagged Template Literals are not allowed in optionalChain.\",OverrideOnConstructor:\"'override' modifier cannot appear on a constructor declaration.\",ParamDupe:\"Argument name clash.\",PatternHasAccessor:\"Object pattern can't contain getter or setter.\",PatternHasMethod:\"Object pattern can't contain methods.\",PrivateInExpectedIn:({identifierName:e})=>`Private names are only allowed in property accesses (\\`obj.#${e}\\`) or in \\`in\\` expressions (\\`#${e} in obj\\`).`,PrivateNameRedeclaration:({identifierName:e})=>`Duplicate private name #${e}.`,RecordExpressionBarIncorrectEndSyntaxType:\"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",RecordExpressionBarIncorrectStartSyntaxType:\"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",RecordExpressionHashIncorrectStartSyntaxType:\"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.\",RecordNoProto:\"'__proto__' is not allowed in Record expressions.\",RestTrailingComma:\"Unexpected trailing comma after rest element.\",SloppyFunction:\"In non-strict mode code, functions can only be declared at top level or inside a block.\",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.\",StaticPrototype:\"Classes may not have static property named prototype.\",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?\",SuperPrivateField:\"Private fields can't be accessed on super.\",TrailingDecorator:\"Decorators must be attached to a class element.\",TupleExpressionBarIncorrectEndSyntaxType:\"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",TupleExpressionBarIncorrectStartSyntaxType:\"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",TupleExpressionHashIncorrectStartSyntaxType:\"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.\",UnexpectedArgumentPlaceholder:\"Unexpected argument placeholder.\",UnexpectedAwaitAfterPipelineBody:'Unexpected \"await\" after pipeline body; await must have parentheses in minimal proposal.',UnexpectedDigitAfterHash:\"Unexpected digit after hash token.\",UnexpectedImportExport:\"'import' and 'export' may only appear at the top level.\",UnexpectedKeyword:({keyword:e})=>`Unexpected keyword '${e}'.`,UnexpectedLeadingDecorator:\"Leading decorators must be attached to a class declaration.\",UnexpectedLexicalDeclaration:\"Lexical declaration cannot appear in a single-statement context.\",UnexpectedNewTarget:\"`new.target` can only be used in functions or class properties.\",UnexpectedNumericSeparator:\"A numeric separator is only allowed between two digits.\",UnexpectedPrivateField:\"Unexpected private name.\",UnexpectedReservedWord:({reservedWord:e})=>`Unexpected reserved word '${e}'.`,UnexpectedSuper:\"'super' is only allowed in object methods and classes.\",UnexpectedToken:({expected:e,unexpected:t})=>`Unexpected token${t?` '${t}'.`:\"\"}${e?`, expected \"${e}\"`:\"\"}`,UnexpectedTokenUnaryExponentiation:\"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.\",UnexpectedUsingDeclaration:\"Using declaration cannot appear in the top level when source type is `script`.\",UnsupportedBind:\"Binding should be performed on object property.\",UnsupportedDecoratorExport:\"A decorated export must export a class declaration.\",UnsupportedDefaultExport:\"Only expressions, functions or classes are allowed as the `default` export.\",UnsupportedImport:\"`import` can only be used in `import()` or `import.meta`.\",UnsupportedMetaProperty:({target:e,onlyValidPropertyName:t})=>`The only valid meta property for ${e} is ${e}.${t}.`,UnsupportedParameterDecorator:\"Decorators cannot be used to decorate parameters.\",UnsupportedPropertyDecorator:\"Decorators cannot be used to decorate object literal properties.\",UnsupportedSuper:\"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).\",UnterminatedComment:\"Unterminated comment.\",UnterminatedRegExp:\"Unterminated regular expression.\",UnterminatedString:\"Unterminated string constant.\",UnterminatedTemplate:\"Unterminated template.\",UsingDeclarationHasBindingPattern:\"Using declaration cannot have destructuring patterns.\",VarRedeclaration:({identifierName:e})=>`Identifier '${e}' has already been declared.`,YieldBindingIdentifier:\"Can not use 'yield' as identifier inside a generator.\",YieldInParameter:\"Yield expression is not allowed in formal parameters.\",ZeroDigitNumericSeparator:\"Numeric separator can not be used after leading 0.\"};const p=new Set([\"ArrowFunctionExpression\",\"AssignmentExpression\",\"ConditionalExpression\",\"YieldExpression\"]);var h={PipeBodyIsTighter:\"Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.\",PipeTopicRequiresHackPipes:'Topic reference is used, but the pipelineOperator plugin was not passed a \"proposal\": \"hack\" or \"smart\" option.',PipeTopicUnbound:\"Topic reference is unbound; it must be inside a pipe body.\",PipeTopicUnconfiguredToken:({token:e})=>`Invalid topic token ${e}. In order to use ${e} as a topic reference, the pipelineOperator plugin must be configured with { \"proposal\": \"hack\", \"topicToken\": \"${e}\" }.`,PipeTopicUnused:\"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.\",PipeUnparenthesizedBody:({type:e})=>`Hack-style pipe body cannot be an unparenthesized ${c({type:e})}; please wrap it in parentheses.`,PipelineBodyNoArrow:'Unexpected arrow \"=>\" after pipeline body; arrow function in pipeline body must be parenthesized.',PipelineBodySequenceExpression:\"Pipeline body may not be a comma-separated sequence expression.\",PipelineHeadSequenceExpression:\"Pipeline head should not be a comma-separated sequence expression.\",PipelineTopicUnused:\"Pipeline is in topic style but does not use topic reference.\",PrimaryTopicNotAllowed:\"Topic reference was used in a lexical context without topic binding.\",PrimaryTopicRequiresSmartPipeline:'Topic reference is used, but the pipelineOperator plugin was not passed a \"proposal\": \"hack\" or \"smart\" option.'};const d=[\"toMessage\"],f=[\"message\"];function y(e,t,n){Object.defineProperty(e,t,{enumerable:!1,configurable:!0,value:n})}function m(e){let{toMessage:t}=e,i=n(e,d);return function e({loc:n,details:s}){const a=new SyntaxError;return Object.assign(a,i,{loc:n,pos:n.index}),\"missingPlugin\"in s&&Object.assign(a,{missingPlugin:s.missingPlugin}),y(a,\"clone\",(function(t={}){var i;const{line:a,column:o,index:l}=null!=(i=t.loc)?i:n;return e({loc:new r(a,o,l),details:Object.assign({},s,t.details)})})),y(a,\"details\",s),Object.defineProperty(a,\"message\",{configurable:!0,get(){const e=`${t(s)} (${n.line}:${n.column})`;return this.message=e,e},set(e){Object.defineProperty(this,\"message\",{value:e,writable:!0})}}),a}}function T(e,t){if(Array.isArray(e))return t=>T(t,e[0]);const r={};for(const i of Object.keys(e)){const s=e[i],a=\"string\"==typeof s?{message:()=>s}:\"function\"==typeof s?{message:s}:s,{message:o}=a,l=n(a,f),c=\"string\"==typeof o?()=>o:o;r[i]=m(Object.assign({code:\"BABEL_PARSER_SYNTAX_ERROR\",reasonCode:i,toMessage:c},t?{syntaxPlugin:t}:{},l))}return r}const g=Object.assign({},T(o),T(u),T({StrictDelete:\"Deleting local variable in strict mode.\",StrictEvalArguments:({referenceName:e})=>`Assigning to '${e}' in strict mode.`,StrictEvalArgumentsBinding:({bindingName:e})=>`Binding '${e}' in strict mode.`,StrictFunction:\"In strict mode code, functions can only be declared at top level or inside a block.\",StrictNumericEscape:\"The only valid numeric escape in strict mode is '\\\\0'.\",StrictOctalLiteral:\"Legacy octal literals are not allowed in strict mode.\",StrictWith:\"'with' in strict mode.\"}),T`pipelineOperator`(h)),{defineProperty:b}=Object,E=(e,t)=>b(e,t,{enumerable:!1,value:e[t]});function S(e){return e.loc.start&&E(e.loc.start,\"index\"),e.loc.end&&E(e.loc.end,\"index\"),e}class P{constructor(e,t){this.token=void 0,this.preserveSpace=void 0,this.token=e,this.preserveSpace=!!t}}const x={brace:new P(\"{\"),j_oTag:new P(\"<tag\"),j_cTag:new P(\"</tag\"),j_expr:new P(\"<tag>...</tag>\",!0)};x.template=new P(\"`\",!0);const D=!0,A=!0,v=!0,C=!0,w=!0;class O{constructor(e,t={}){this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.rightAssociative=!!t.rightAssociative,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=null!=t.binop?t.binop:null,this.updateContext=null}}const I=new Map;function N(e,t={}){t.keyword=e;const n=U(e,t);return I.set(e,n),n}function F(e,t){return U(e,{beforeExpr:D,binop:t})}let k=-1;const L=[],_=[],M=[],B=[],j=[],R=[];function U(e,t={}){var n,r,i,s;return++k,_.push(e),M.push(null!=(n=t.binop)?n:-1),B.push(null!=(r=t.beforeExpr)&&r),j.push(null!=(i=t.startsExpr)&&i),R.push(null!=(s=t.prefix)&&s),L.push(new O(e,t)),k}function V(e,t={}){var n,r,i,s;return++k,I.set(e,k),_.push(e),M.push(null!=(n=t.binop)?n:-1),B.push(null!=(r=t.beforeExpr)&&r),j.push(null!=(i=t.startsExpr)&&i),R.push(null!=(s=t.prefix)&&s),L.push(new O(\"name\",t)),k}const K={bracketL:U(\"[\",{beforeExpr:D,startsExpr:A}),bracketHashL:U(\"#[\",{beforeExpr:D,startsExpr:A}),bracketBarL:U(\"[|\",{beforeExpr:D,startsExpr:A}),bracketR:U(\"]\"),bracketBarR:U(\"|]\"),braceL:U(\"{\",{beforeExpr:D,startsExpr:A}),braceBarL:U(\"{|\",{beforeExpr:D,startsExpr:A}),braceHashL:U(\"#{\",{beforeExpr:D,startsExpr:A}),braceR:U(\"}\"),braceBarR:U(\"|}\"),parenL:U(\"(\",{beforeExpr:D,startsExpr:A}),parenR:U(\")\"),comma:U(\",\",{beforeExpr:D}),semi:U(\";\",{beforeExpr:D}),colon:U(\":\",{beforeExpr:D}),doubleColon:U(\"::\",{beforeExpr:D}),dot:U(\".\"),question:U(\"?\",{beforeExpr:D}),questionDot:U(\"?.\"),arrow:U(\"=>\",{beforeExpr:D}),template:U(\"template\"),ellipsis:U(\"...\",{beforeExpr:D}),backQuote:U(\"`\",{startsExpr:A}),dollarBraceL:U(\"${\",{beforeExpr:D,startsExpr:A}),templateTail:U(\"...`\",{startsExpr:A}),templateNonTail:U(\"...${\",{beforeExpr:D,startsExpr:A}),at:U(\"@\"),hash:U(\"#\",{startsExpr:A}),interpreterDirective:U(\"#!...\"),eq:U(\"=\",{beforeExpr:D,isAssign:C}),assign:U(\"_=\",{beforeExpr:D,isAssign:C}),slashAssign:U(\"_=\",{beforeExpr:D,isAssign:C}),xorAssign:U(\"_=\",{beforeExpr:D,isAssign:C}),moduloAssign:U(\"_=\",{beforeExpr:D,isAssign:C}),incDec:U(\"++/--\",{prefix:w,postfix:!0,startsExpr:A}),bang:U(\"!\",{beforeExpr:D,prefix:w,startsExpr:A}),tilde:U(\"~\",{beforeExpr:D,prefix:w,startsExpr:A}),doubleCaret:U(\"^^\",{startsExpr:A}),doubleAt:U(\"@@\",{startsExpr:A}),pipeline:F(\"|>\",0),nullishCoalescing:F(\"??\",1),logicalOR:F(\"||\",1),logicalAND:F(\"&&\",2),bitwiseOR:F(\"|\",3),bitwiseXOR:F(\"^\",4),bitwiseAND:F(\"&\",5),equality:F(\"==/!=/===/!==\",6),lt:F(\"</>/<=/>=\",7),gt:F(\"</>/<=/>=\",7),relational:F(\"</>/<=/>=\",7),bitShift:F(\"<</>>/>>>\",8),bitShiftL:F(\"<</>>/>>>\",8),bitShiftR:F(\"<</>>/>>>\",8),plusMin:U(\"+/-\",{beforeExpr:D,binop:9,prefix:w,startsExpr:A}),modulo:U(\"%\",{binop:10,startsExpr:A}),star:U(\"*\",{binop:10}),slash:F(\"/\",10),exponent:U(\"**\",{beforeExpr:D,binop:11,rightAssociative:!0}),_in:N(\"in\",{beforeExpr:D,binop:7}),_instanceof:N(\"instanceof\",{beforeExpr:D,binop:7}),_break:N(\"break\"),_case:N(\"case\",{beforeExpr:D}),_catch:N(\"catch\"),_continue:N(\"continue\"),_debugger:N(\"debugger\"),_default:N(\"default\",{beforeExpr:D}),_else:N(\"else\",{beforeExpr:D}),_finally:N(\"finally\"),_function:N(\"function\",{startsExpr:A}),_if:N(\"if\"),_return:N(\"return\",{beforeExpr:D}),_switch:N(\"switch\"),_throw:N(\"throw\",{beforeExpr:D,prefix:w,startsExpr:A}),_try:N(\"try\"),_var:N(\"var\"),_const:N(\"const\"),_with:N(\"with\"),_new:N(\"new\",{beforeExpr:D,startsExpr:A}),_this:N(\"this\",{startsExpr:A}),_super:N(\"super\",{startsExpr:A}),_class:N(\"class\",{startsExpr:A}),_extends:N(\"extends\",{beforeExpr:D}),_export:N(\"export\"),_import:N(\"import\",{startsExpr:A}),_null:N(\"null\",{startsExpr:A}),_true:N(\"true\",{startsExpr:A}),_false:N(\"false\",{startsExpr:A}),_typeof:N(\"typeof\",{beforeExpr:D,prefix:w,startsExpr:A}),_void:N(\"void\",{beforeExpr:D,prefix:w,startsExpr:A}),_delete:N(\"delete\",{beforeExpr:D,prefix:w,startsExpr:A}),_do:N(\"do\",{isLoop:v,beforeExpr:D}),_for:N(\"for\",{isLoop:v}),_while:N(\"while\",{isLoop:v}),_as:V(\"as\",{startsExpr:A}),_assert:V(\"assert\",{startsExpr:A}),_async:V(\"async\",{startsExpr:A}),_await:V(\"await\",{startsExpr:A}),_from:V(\"from\",{startsExpr:A}),_get:V(\"get\",{startsExpr:A}),_let:V(\"let\",{startsExpr:A}),_meta:V(\"meta\",{startsExpr:A}),_of:V(\"of\",{startsExpr:A}),_sent:V(\"sent\",{startsExpr:A}),_set:V(\"set\",{startsExpr:A}),_static:V(\"static\",{startsExpr:A}),_using:V(\"using\",{startsExpr:A}),_yield:V(\"yield\",{startsExpr:A}),_asserts:V(\"asserts\",{startsExpr:A}),_checks:V(\"checks\",{startsExpr:A}),_exports:V(\"exports\",{startsExpr:A}),_global:V(\"global\",{startsExpr:A}),_implements:V(\"implements\",{startsExpr:A}),_intrinsic:V(\"intrinsic\",{startsExpr:A}),_infer:V(\"infer\",{startsExpr:A}),_is:V(\"is\",{startsExpr:A}),_mixins:V(\"mixins\",{startsExpr:A}),_proto:V(\"proto\",{startsExpr:A}),_require:V(\"require\",{startsExpr:A}),_satisfies:V(\"satisfies\",{startsExpr:A}),_keyof:V(\"keyof\",{startsExpr:A}),_readonly:V(\"readonly\",{startsExpr:A}),_unique:V(\"unique\",{startsExpr:A}),_abstract:V(\"abstract\",{startsExpr:A}),_declare:V(\"declare\",{startsExpr:A}),_enum:V(\"enum\",{startsExpr:A}),_module:V(\"module\",{startsExpr:A}),_namespace:V(\"namespace\",{startsExpr:A}),_interface:V(\"interface\",{startsExpr:A}),_type:V(\"type\",{startsExpr:A}),_opaque:V(\"opaque\",{startsExpr:A}),name:U(\"name\",{startsExpr:A}),string:U(\"string\",{startsExpr:A}),num:U(\"num\",{startsExpr:A}),bigint:U(\"bigint\",{startsExpr:A}),decimal:U(\"decimal\",{startsExpr:A}),regexp:U(\"regexp\",{startsExpr:A}),privateName:U(\"#name\",{startsExpr:A}),eof:U(\"eof\"),jsxName:U(\"jsxName\"),jsxText:U(\"jsxText\",{beforeExpr:!0}),jsxTagStart:U(\"jsxTagStart\",{startsExpr:!0}),jsxTagEnd:U(\"jsxTagEnd\"),placeholder:U(\"%%\",{startsExpr:!0})};function W(e){return e>=93&&e<=130}function X(e){return e>=58&&e<=130}function Y(e){return e>=58&&e<=134}function q(e){return j[e]}function H(e){return e>=127&&e<=129}function J(e){return e>=58&&e<=92}function $(e){return _[e]}function G(e){return M[e]}function z(e){return e>=24&&e<=25}function Q(e){return L[e]}L[8].updateContext=e=>{e.pop()},L[5].updateContext=L[7].updateContext=L[23].updateContext=e=>{e.push(x.brace)},L[22].updateContext=e=>{e[e.length-1]===x.template?e.pop():e.push(x.template)},L[140].updateContext=e=>{e.push(x.j_expr,x.j_oTag)};let Z=\"ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ﬀ-ﬆﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼＡ-Ｚａ-ｚｦ-ﾾￂ-ￇￊ-ￏￒ-ￗￚ-ￜ\",ee=\"‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏０-９＿\";const te=new RegExp(\"[\"+Z+\"]\"),ne=new RegExp(\"[\"+Z+ee+\"]\");Z=ee=null;const re=[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,68,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,349,41,7,1,79,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,159,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,264,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,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,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,757,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,3104,541,1507,4938,6,4191],ie=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,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,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,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,406,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,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,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,983,6,110,6,6,9,4759,9,787719,239];function se(e,t){let n=65536;for(let r=0,i=t.length;r<i;r+=2){if(n+=t[r],n>e)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function ae(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&te.test(String.fromCharCode(e)):se(e,re)))}function oe(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&ne.test(String.fromCharCode(e)):se(e,re)||se(e,ie))))}const le=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\"]),ce=new Set([\"implements\",\"interface\",\"let\",\"package\",\"private\",\"protected\",\"public\",\"static\",\"yield\"]),ue=new Set([\"eval\",\"arguments\"]);function pe(e,t){return t&&\"await\"===e||\"enum\"===e}function he(e,t){return pe(e,t)||ce.has(e)}function de(e){return ue.has(e)}function fe(e,t){return he(e,t)||de(e)}const ye=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\"]);class me{constructor(e){this.var=new Set,this.lexical=new Set,this.functions=new Set,this.flags=e}}class Te{constructor(e,t){this.parser=void 0,this.scopeStack=[],this.inModule=void 0,this.undefinedExports=new Map,this.parser=e,this.inModule=t}get inTopLevel(){return(1&this.currentScope().flags)>0}get inFunction(){return(2&this.currentVarScopeFlags())>0}get allowSuper(){return(16&this.currentThisScopeFlags())>0}get allowDirectSuper(){return(32&this.currentThisScopeFlags())>0}get inClass(){return(64&this.currentThisScopeFlags())>0}get inClassAndNotInNonArrowFunction(){const e=this.currentThisScopeFlags();return(64&e)>0&&0==(2&e)}get inStaticBlock(){for(let e=this.scopeStack.length-1;;e--){const{flags:t}=this.scopeStack[e];if(128&t)return!0;if(451&t)return!1}}get inNonArrowFunction(){return(2&this.currentThisScopeFlags())>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(e){return new me(e)}enter(e){this.scopeStack.push(this.createScope(e))}exit(){return this.scopeStack.pop().flags}treatFunctionsAsVarInScope(e){return!!(130&e.flags||!this.parser.inModule&&1&e.flags)}declareName(e,t,n){let r=this.currentScope();if(8&t||16&t)this.checkRedeclarationInScope(r,e,t,n),16&t?r.functions.add(e):r.lexical.add(e),8&t&&this.maybeExportDefined(r,e);else if(4&t)for(let i=this.scopeStack.length-1;i>=0&&(r=this.scopeStack[i],this.checkRedeclarationInScope(r,e,t,n),r.var.add(e),this.maybeExportDefined(r,e),!(387&r.flags));--i);this.parser.inModule&&1&r.flags&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.parser.inModule&&1&e.flags&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,n,r){this.isRedeclaredInScope(e,t,n)&&this.parser.raise(g.VarRedeclaration,{at:r,identifierName:t})}isRedeclaredInScope(e,t,n){return!!(1&n)&&(8&n?e.lexical.has(t)||e.functions.has(t)||e.var.has(t):16&n?e.lexical.has(t)||!this.treatFunctionsAsVarInScope(e)&&e.var.has(t):e.lexical.has(t)&&!(8&e.flags&&e.lexical.values().next().value===t)||!this.treatFunctionsAsVarInScope(e)&&e.functions.has(t))}checkLocalExport(e){const{name:t}=e,n=this.scopeStack[0];n.lexical.has(t)||n.var.has(t)||n.functions.has(t)||this.undefinedExports.set(t,e.loc.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScopeFlags(){for(let e=this.scopeStack.length-1;;e--){const{flags:t}=this.scopeStack[e];if(387&t)return t}}currentThisScopeFlags(){for(let e=this.scopeStack.length-1;;e--){const{flags:t}=this.scopeStack[e];if(451&t&&!(4&t))return t}}}class ge extends me{constructor(...e){super(...e),this.declareFunctions=new Set}}class be extends Te{createScope(e){return new ge(e)}declareName(e,t,n){const r=this.currentScope();if(2048&t)return this.checkRedeclarationInScope(r,e,t,n),this.maybeExportDefined(r,e),void r.declareFunctions.add(e);super.declareName(e,t,n)}isRedeclaredInScope(e,t,n){return!!super.isRedeclaredInScope(e,t,n)||!!(2048&n)&&!e.declareFunctions.has(t)&&(e.lexical.has(t)||e.functions.has(t))}checkLocalExport(e){this.scopeStack[0].declareFunctions.has(e.name)||super.checkLocalExport(e)}}class Ee{constructor(){this.sawUnambiguousESM=!1,this.ambiguousScriptDifferentAst=!1}hasPlugin(e){if(\"string\"==typeof e)return this.plugins.has(e);{const[t,n]=e;if(!this.hasPlugin(t))return!1;const r=this.plugins.get(t);for(const e of Object.keys(n))if((null==r?void 0:r[e])!==n[e])return!1;return!0}}getPluginOption(e,t){var n;return null==(n=this.plugins.get(e))?void 0:n[t]}}function Se(e,t){void 0===e.trailingComments?e.trailingComments=t:e.trailingComments.unshift(...t)}function Pe(e,t){void 0===e.innerComments?e.innerComments=t:e.innerComments.unshift(...t)}function xe(e,t,n){let r=null,i=t.length;for(;null===r&&i>0;)r=t[--i];null===r||r.start>n.start?Pe(e,n.comments):Se(r,n.comments)}class De extends Ee{addComment(e){this.filename&&(e.loc.filename=this.filename),this.state.comments.push(e)}processComment(e){const{commentStack:t}=this.state,n=t.length;if(0===n)return;let r=n-1;const i=t[r];i.start===e.end&&(i.leadingNode=e,r--);const{start:s}=e;for(;r>=0;r--){const n=t[r],i=n.end;if(!(i>s)){i===s&&(n.trailingNode=e);break}n.containingNode=e,this.finalizeComment(n),t.splice(r,1)}}finalizeComment(e){const{comments:t}=e;if(null!==e.leadingNode||null!==e.trailingNode)null!==e.leadingNode&&Se(e.leadingNode,t),null!==e.trailingNode&&function(e,t){void 0===e.leadingComments?e.leadingComments=t:e.leadingComments.unshift(...t)}(e.trailingNode,t);else{const{containingNode:n,start:r}=e;if(44===this.input.charCodeAt(r-1))switch(n.type){case\"ObjectExpression\":case\"ObjectPattern\":case\"RecordExpression\":xe(n,n.properties,e);break;case\"CallExpression\":case\"OptionalCallExpression\":xe(n,n.arguments,e);break;case\"FunctionDeclaration\":case\"FunctionExpression\":case\"ArrowFunctionExpression\":case\"ObjectMethod\":case\"ClassMethod\":case\"ClassPrivateMethod\":xe(n,n.params,e);break;case\"ArrayExpression\":case\"ArrayPattern\":case\"TupleExpression\":xe(n,n.elements,e);break;case\"ExportNamedDeclaration\":case\"ImportDeclaration\":xe(n,n.specifiers,e);break;default:Pe(n,t)}else Pe(n,t)}}finalizeRemainingComments(){const{commentStack:e}=this.state;for(let t=e.length-1;t>=0;t--)this.finalizeComment(e[t]);this.state.commentStack=[]}resetPreviousNodeTrailingComments(e){const{commentStack:t}=this.state,{length:n}=t;if(0===n)return;const r=t[n-1];r.leadingNode===e&&(r.leadingNode=null)}resetPreviousIdentifierLeadingComments(e){const{commentStack:t}=this.state,{length:n}=t;0!==n&&(t[n-1].trailingNode===e?t[n-1].trailingNode=null:n>=2&&t[n-2].trailingNode===e&&(t[n-2].trailingNode=null))}takeSurroundingComments(e,t,n){const{commentStack:r}=this.state,i=r.length;if(0===i)return;let s=i-1;for(;s>=0;s--){const i=r[s],a=i.end;if(i.start===n)i.leadingNode=e;else if(a===t)i.trailingNode=e;else if(a<t)break}}}const Ae=/\\r\\n?|[\\n\\u2028\\u2029]/,ve=new RegExp(Ae.source,\"g\");function Ce(e){switch(e){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}const we=/(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g,Oe=/(?:[^\\S\\n\\r\\u2028\\u2029]|\\/\\/.*|\\/\\*.*?\\*\\/)*/g,Ie=new RegExp(\"(?=(\"+Oe.source+\"))\\\\1\"+/(?=[\\n\\r\\u2028\\u2029]|\\/\\*(?!.*?\\*\\/)|$)/.source,\"y\");function Ne(e){switch(e){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}class Fe{constructor(){this.strict=void 0,this.curLine=void 0,this.lineStart=void 0,this.startLoc=void 0,this.endLoc=void 0,this.errors=[],this.potentialArrowAt=-1,this.noArrowAt=[],this.noArrowParamsConversionAt=[],this.maybeInArrowParameters=!1,this.inType=!1,this.noAnonFunctionType=!1,this.hasFlowComment=!1,this.isAmbientContext=!1,this.inAbstractClass=!1,this.inDisallowConditionalTypesContext=!1,this.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null},this.soloAwait=!1,this.inFSharpPipelineDirectBody=!1,this.labels=[],this.comments=[],this.commentStack=[],this.pos=0,this.type=137,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.context=[x.brace],this.canStartJSXElement=!0,this.containsEsc=!1,this.firstInvalidTemplateEscapePos=null,this.strictErrors=new Map,this.tokensLength=0}init({strictMode:e,sourceType:t,startLine:n,startColumn:i}){this.strict=!1!==e&&(!0===e||\"module\"===t),this.curLine=n,this.lineStart=-i,this.startLoc=this.endLoc=new r(n,i,0)}curPosition(){return new r(this.curLine,this.pos-this.lineStart,this.pos)}clone(e){const t=new Fe,n=Object.keys(this);for(let r=0,i=n.length;r<i;r++){const i=n[r];let s=this[i];!e&&Array.isArray(s)&&(s=s.slice()),t[i]=s}return t}}var ke=function(e){return e>=48&&e<=57};const Le={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},_e={bin:e=>48===e||49===e,oct:e=>e>=48&&e<=55,dec:e=>e>=48&&e<=57,hex:e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};function Me(e,t,n,r,i,s){const a=n,o=r,l=i;let c=\"\",u=null,p=n;const{length:h}=t;for(;;){if(n>=h){s.unterminated(a,o,l),c+=t.slice(p,n);break}const d=t.charCodeAt(n);if(Be(e,d,t,n)){c+=t.slice(p,n);break}if(92===d){c+=t.slice(p,n);const a=je(t,n,r,i,\"template\"===e,s);null!==a.ch||u?c+=a.ch:u={pos:n,lineStart:r,curLine:i},({pos:n,lineStart:r,curLine:i}=a),p=n}else 8232===d||8233===d?(++i,r=++n):10===d||13===d?\"template\"===e?(c+=t.slice(p,n)+\"\\n\",++n,13===d&&10===t.charCodeAt(n)&&++n,++i,p=r=n):s.unterminated(a,o,l):++n}return{pos:n,str:c,firstInvalidLoc:u,lineStart:r,curLine:i,containsInvalid:!!u}}function Be(e,t,n,r){return\"template\"===e?96===t||36===t&&123===n.charCodeAt(r+1):t===(\"double\"===e?34:39)}function je(e,t,n,r,i,s){const a=!i;t++;const o=e=>({pos:t,ch:e,lineStart:n,curLine:r}),l=e.charCodeAt(t++);switch(l){case 110:return o(\"\\n\");case 114:return o(\"\\r\");case 120:{let i;return({code:i,pos:t}=Re(e,t,n,r,2,!1,a,s)),o(null===i?null:String.fromCharCode(i))}case 117:{let i;return({code:i,pos:t}=Ve(e,t,n,r,a,s)),o(null===i?null:String.fromCodePoint(i))}case 116:return o(\"\\t\");case 98:return o(\"\\b\");case 118:return o(\"\\v\");case 102:return o(\"\\f\");case 13:10===e.charCodeAt(t)&&++t;case 10:n=t,++r;case 8232:case 8233:return o(\"\");case 56:case 57:if(i)return o(null);s.strictNumericEscape(t-1,n,r);default:if(l>=48&&l<=55){const a=t-1;let l=e.slice(a,t+2).match(/^[0-7]+/)[0],c=parseInt(l,8);c>255&&(l=l.slice(0,-1),c=parseInt(l,8)),t+=l.length-1;const u=e.charCodeAt(t);if(\"0\"!==l||56===u||57===u){if(i)return o(null);s.strictNumericEscape(a,n,r)}return o(String.fromCharCode(c))}return o(String.fromCharCode(l))}}function Re(e,t,n,r,i,s,a,o){const l=t;let c;return({n:c,pos:t}=Ue(e,t,n,r,16,i,s,!1,o,!a)),null===c&&(a?o.invalidEscapeSequence(l,n,r):t=l-1),{code:c,pos:t}}function Ue(e,t,n,r,i,s,a,o,l,c){const u=t,p=16===i?Le.hex:Le.decBinOct,h=16===i?_e.hex:10===i?_e.dec:8===i?_e.oct:_e.bin;let d=!1,f=0;for(let u=0,y=null==s?1/0:s;u<y;++u){const s=e.charCodeAt(t);let u;if(95!==s||\"bail\"===o){if(u=s>=97?s-97+10:s>=65?s-65+10:ke(s)?s-48:1/0,u>=i){if(u<=9&&c)return{n:null,pos:t};if(u<=9&&l.invalidDigit(t,n,r,i))u=0;else{if(!a)break;u=0,d=!0}}++t,f=f*i+u}else{const i=e.charCodeAt(t-1),s=e.charCodeAt(t+1);if(o){if(Number.isNaN(s)||!h(s)||p.has(i)||p.has(s)){if(c)return{n:null,pos:t};l.unexpectedNumericSeparator(t,n,r)}}else{if(c)return{n:null,pos:t};l.numericSeparatorInEscapeSequence(t,n,r)}++t}}return t===u||null!=s&&t-u!==s||d?{n:null,pos:t}:{n:f,pos:t}}function Ve(e,t,n,r,i,s){let a;if(123===e.charCodeAt(t)){if(++t,({code:a,pos:t}=Re(e,t,n,r,e.indexOf(\"}\",t)-t,!0,i,s)),++t,null!==a&&a>1114111){if(!i)return{code:null,pos:t};s.invalidCodePoint(t,n,r)}}else({code:a,pos:t}=Re(e,t,n,r,4,!1,i,s));return{code:a,pos:t}}const Ke=[\"at\"],We=[\"at\"];function Xe(e,t,n){return new r(n,e-t,e)}const Ye=new Set([103,109,115,105,121,117,100,118]);class qe{constructor(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,this.loc=new i(e.startLoc,e.endLoc)}}class He extends De{constructor(e,t){super(),this.isLookahead=void 0,this.tokens=[],this.errorHandlers_readInt={invalidDigit:(e,t,n,r)=>!!this.options.errorRecovery&&(this.raise(g.InvalidDigit,{at:Xe(e,t,n),radix:r}),!0),numericSeparatorInEscapeSequence:this.errorBuilder(g.NumericSeparatorInEscapeSequence),unexpectedNumericSeparator:this.errorBuilder(g.UnexpectedNumericSeparator)},this.errorHandlers_readCodePoint=Object.assign({},this.errorHandlers_readInt,{invalidEscapeSequence:this.errorBuilder(g.InvalidEscapeSequence),invalidCodePoint:this.errorBuilder(g.InvalidCodePoint)}),this.errorHandlers_readStringContents_string=Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:(e,t,n)=>{this.recordStrictModeErrors(g.StrictNumericEscape,{at:Xe(e,t,n)})},unterminated:(e,t,n)=>{throw this.raise(g.UnterminatedString,{at:Xe(e-1,t,n)})}}),this.errorHandlers_readStringContents_template=Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:this.errorBuilder(g.StrictNumericEscape),unterminated:(e,t,n)=>{throw this.raise(g.UnterminatedTemplate,{at:Xe(e,t,n)})}}),this.state=new Fe,this.state.init(e),this.input=t,this.length=t.length,this.isLookahead=!1}pushToken(e){this.tokens.length=this.state.tokensLength,this.tokens.push(e),++this.state.tokensLength}next(){this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new qe(this.state)),this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(e){return!!this.match(e)&&(this.next(),!0)}match(e){return this.state.type===e}createLookaheadState(e){return{pos:e.pos,value:null,type:e.type,start:e.start,end:e.end,context:[this.curContext()],inType:e.inType,startLoc:e.startLoc,lastTokEndLoc:e.lastTokEndLoc,curLine:e.curLine,lineStart:e.lineStart,curPosition:e.curPosition}}lookahead(){const e=this.state;this.state=this.createLookaheadState(e),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;const t=this.state;return this.state=e,t}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(e){return we.lastIndex=e,we.test(this.input)?we.lastIndex:e}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}nextTokenInLineStart(){return this.nextTokenInLineStartSince(this.state.pos)}nextTokenInLineStartSince(e){return Oe.lastIndex=e,Oe.test(this.input)?Oe.lastIndex:e}lookaheadInLineCharCode(){return this.input.charCodeAt(this.nextTokenInLineStart())}codePointAtPos(e){let t=this.input.charCodeAt(e);if(55296==(64512&t)&&++e<this.input.length){const n=this.input.charCodeAt(e);56320==(64512&n)&&(t=65536+((1023&t)<<10)+(1023&n))}return t}setStrict(e){this.state.strict=e,e&&(this.state.strictErrors.forEach((([e,t])=>this.raise(e,{at:t}))),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length?this.finishToken(137):this.getTokenFromCode(this.codePointAtPos(this.state.pos))}skipBlockComment(e){let t;this.isLookahead||(t=this.state.curPosition());const n=this.state.pos,r=this.input.indexOf(e,n+2);if(-1===r)throw this.raise(g.UnterminatedComment,{at:this.state.curPosition()});for(this.state.pos=r+e.length,ve.lastIndex=n+2;ve.test(this.input)&&ve.lastIndex<=r;)++this.state.curLine,this.state.lineStart=ve.lastIndex;if(this.isLookahead)return;const s={type:\"CommentBlock\",value:this.input.slice(n+2,r),start:n,end:r+e.length,loc:new i(t,this.state.curPosition())};return this.options.tokens&&this.pushToken(s),s}skipLineComment(e){const t=this.state.pos;let n;this.isLookahead||(n=this.state.curPosition());let r=this.input.charCodeAt(this.state.pos+=e);if(this.state.pos<this.length)for(;!Ce(r)&&++this.state.pos<this.length;)r=this.input.charCodeAt(this.state.pos);if(this.isLookahead)return;const s=this.state.pos,a={type:\"CommentLine\",value:this.input.slice(t+e,s),start:t,end:s,loc:new i(n,this.state.curPosition())};return this.options.tokens&&this.pushToken(a),a}skipSpace(){const e=this.state.pos,t=[];e:for(;this.state.pos<this.length;){const n=this.input.charCodeAt(this.state.pos);switch(n){case 32:case 160:case 9:++this.state.pos;break;case 13:10===this.input.charCodeAt(this.state.pos+1)&&++this.state.pos;case 10:case 8232:case 8233:++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;break;case 47:switch(this.input.charCodeAt(this.state.pos+1)){case 42:{const e=this.skipBlockComment(\"*/\");void 0!==e&&(this.addComment(e),this.options.attachComment&&t.push(e));break}case 47:{const e=this.skipLineComment(2);void 0!==e&&(this.addComment(e),this.options.attachComment&&t.push(e));break}default:break e}break;default:if(Ne(n))++this.state.pos;else if(45===n&&!this.inModule&&this.options.annexB){const n=this.state.pos;if(45!==this.input.charCodeAt(n+1)||62!==this.input.charCodeAt(n+2)||!(0===e||this.state.lineStart>e))break e;{const e=this.skipLineComment(3);void 0!==e&&(this.addComment(e),this.options.attachComment&&t.push(e))}}else{if(60!==n||this.inModule||!this.options.annexB)break e;{const e=this.state.pos;if(33!==this.input.charCodeAt(e+1)||45!==this.input.charCodeAt(e+2)||45!==this.input.charCodeAt(e+3))break e;{const e=this.skipLineComment(4);void 0!==e&&(this.addComment(e),this.options.attachComment&&t.push(e))}}}}}if(t.length>0){const n={start:e,end:this.state.pos,comments:t,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(n)}}finishToken(e,t){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();const n=this.state.type;this.state.type=e,this.state.value=t,this.isLookahead||this.updateContext(n)}replaceToken(e){this.state.type=e,this.updateContext()}readToken_numberSign(){if(0===this.state.pos&&this.readToken_interpreter())return;const e=this.state.pos+1,t=this.codePointAtPos(e);if(t>=48&&t<=57)throw this.raise(g.UnexpectedDigitAfterHash,{at:this.state.curPosition()});if(123===t||91===t&&this.hasPlugin(\"recordAndTuple\")){if(this.expectPlugin(\"recordAndTuple\"),\"bar\"===this.getPluginOption(\"recordAndTuple\",\"syntaxType\"))throw this.raise(123===t?g.RecordExpressionHashIncorrectStartSyntaxType:g.TupleExpressionHashIncorrectStartSyntaxType,{at:this.state.curPosition()});this.state.pos+=2,123===t?this.finishToken(7):this.finishToken(1)}else ae(t)?(++this.state.pos,this.finishToken(136,this.readWord1(t))):92===t?(++this.state.pos,this.finishToken(136,this.readWord1())):this.finishOp(27,1)}readToken_dot(){const e=this.input.charCodeAt(this.state.pos+1);e>=48&&e<=57?this.readNumber(!0):46===e&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(21)):(++this.state.pos,this.finishToken(16))}readToken_slash(){61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(31,2):this.finishOp(56,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;let e=this.input.charCodeAt(this.state.pos+1);if(33!==e)return!1;const t=this.state.pos;for(this.state.pos+=1;!Ce(e)&&++this.state.pos<this.length;)e=this.input.charCodeAt(this.state.pos);const n=this.input.slice(t+2,this.state.pos);return this.finishToken(28,n),!0}readToken_mult_modulo(e){let t=42===e?55:54,n=1,r=this.input.charCodeAt(this.state.pos+1);42===e&&42===r&&(n++,r=this.input.charCodeAt(this.state.pos+2),t=57),61!==r||this.state.inType||(n++,t=37===e?33:30),this.finishOp(t,n)}readToken_pipe_amp(e){const t=this.input.charCodeAt(this.state.pos+1);if(t!==e){if(124===e){if(62===t)return void this.finishOp(39,2);if(this.hasPlugin(\"recordAndTuple\")&&125===t){if(\"bar\"!==this.getPluginOption(\"recordAndTuple\",\"syntaxType\"))throw this.raise(g.RecordExpressionBarIncorrectEndSyntaxType,{at:this.state.curPosition()});return this.state.pos+=2,void this.finishToken(9)}if(this.hasPlugin(\"recordAndTuple\")&&93===t){if(\"bar\"!==this.getPluginOption(\"recordAndTuple\",\"syntaxType\"))throw this.raise(g.TupleExpressionBarIncorrectEndSyntaxType,{at:this.state.curPosition()});return this.state.pos+=2,void this.finishToken(4)}}61!==t?this.finishOp(124===e?43:45,1):this.finishOp(30,2)}else 61===this.input.charCodeAt(this.state.pos+2)?this.finishOp(30,3):this.finishOp(124===e?41:42,2)}readToken_caret(){const e=this.input.charCodeAt(this.state.pos+1);61!==e||this.state.inType?94===e&&this.hasPlugin([\"pipelineOperator\",{proposal:\"hack\",topicToken:\"^^\"}])?(this.finishOp(37,2),94===this.input.codePointAt(this.state.pos)&&this.unexpected()):this.finishOp(44,1):this.finishOp(32,2)}readToken_atSign(){64===this.input.charCodeAt(this.state.pos+1)&&this.hasPlugin([\"pipelineOperator\",{proposal:\"hack\",topicToken:\"@@\"}])?this.finishOp(38,2):this.finishOp(26,1)}readToken_plus_min(e){const t=this.input.charCodeAt(this.state.pos+1);t!==e?61===t?this.finishOp(30,2):this.finishOp(53,1):this.finishOp(34,2)}readToken_lt(){const{pos:e}=this.state,t=this.input.charCodeAt(e+1);if(60===t)return 61===this.input.charCodeAt(e+2)?void this.finishOp(30,3):void this.finishOp(51,2);61!==t?this.finishOp(47,1):this.finishOp(49,2)}readToken_gt(){const{pos:e}=this.state,t=this.input.charCodeAt(e+1);if(62===t){const t=62===this.input.charCodeAt(e+2)?3:2;return 61===this.input.charCodeAt(e+t)?void this.finishOp(30,t+1):void this.finishOp(52,t)}61!==t?this.finishOp(48,1):this.finishOp(49,2)}readToken_eq_excl(e){const t=this.input.charCodeAt(this.state.pos+1);if(61!==t)return 61===e&&62===t?(this.state.pos+=2,void this.finishToken(19)):void this.finishOp(61===e?29:35,1);this.finishOp(46,61===this.input.charCodeAt(this.state.pos+2)?3:2)}readToken_question(){const e=this.input.charCodeAt(this.state.pos+1),t=this.input.charCodeAt(this.state.pos+2);63===e?61===t?this.finishOp(30,3):this.finishOp(40,2):46!==e||t>=48&&t<=57?(++this.state.pos,this.finishToken(17)):(this.state.pos+=2,this.finishToken(18))}getTokenFromCode(e){switch(e){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(10);case 41:return++this.state.pos,void this.finishToken(11);case 59:return++this.state.pos,void this.finishToken(13);case 44:return++this.state.pos,void this.finishToken(12);case 91:if(this.hasPlugin(\"recordAndTuple\")&&124===this.input.charCodeAt(this.state.pos+1)){if(\"bar\"!==this.getPluginOption(\"recordAndTuple\",\"syntaxType\"))throw this.raise(g.TupleExpressionBarIncorrectStartSyntaxType,{at:this.state.curPosition()});this.state.pos+=2,this.finishToken(2)}else++this.state.pos,this.finishToken(0);return;case 93:return++this.state.pos,void this.finishToken(3);case 123:if(this.hasPlugin(\"recordAndTuple\")&&124===this.input.charCodeAt(this.state.pos+1)){if(\"bar\"!==this.getPluginOption(\"recordAndTuple\",\"syntaxType\"))throw this.raise(g.RecordExpressionBarIncorrectStartSyntaxType,{at:this.state.curPosition()});this.state.pos+=2,this.finishToken(6)}else++this.state.pos,this.finishToken(5);return;case 125:return++this.state.pos,void this.finishToken(8);case 58:return void(this.hasPlugin(\"functionBind\")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(15,2):(++this.state.pos,this.finishToken(14)));case 63:return void this.readToken_question();case 96:return void this.readTemplateToken();case 48:{const e=this.input.charCodeAt(this.state.pos+1);if(120===e||88===e)return void this.readRadixNumber(16);if(111===e||79===e)return void this.readRadixNumber(8);if(98===e||66===e)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(e);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(e);case 124:case 38:return void this.readToken_pipe_amp(e);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(e);case 60:return void this.readToken_lt();case 62:return void this.readToken_gt();case 61:case 33:return void this.readToken_eq_excl(e);case 126:return void this.finishOp(36,1);case 64:return void this.readToken_atSign();case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(ae(e))return void this.readWord(e)}throw this.raise(g.InvalidOrUnexpectedToken,{at:this.state.curPosition(),unexpected:String.fromCodePoint(e)})}finishOp(e,t){const n=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,n)}readRegexp(){const e=this.state.startLoc,t=this.state.start+1;let n,r,{pos:i}=this.state;for(;;++i){if(i>=this.length)throw this.raise(g.UnterminatedRegExp,{at:s(e,1)});const t=this.input.charCodeAt(i);if(Ce(t))throw this.raise(g.UnterminatedRegExp,{at:s(e,1)});if(n)n=!1;else{if(91===t)r=!0;else if(93===t&&r)r=!1;else if(47===t&&!r)break;n=92===t}}const a=this.input.slice(t,i);++i;let o=\"\";const l=()=>s(e,i+2-t);for(;i<this.length;){const e=this.codePointAtPos(i),t=String.fromCharCode(e);if(Ye.has(e))118===e?o.includes(\"u\")&&this.raise(g.IncompatibleRegExpUVFlags,{at:l()}):117===e&&o.includes(\"v\")&&this.raise(g.IncompatibleRegExpUVFlags,{at:l()}),o.includes(t)&&this.raise(g.DuplicateRegExpFlags,{at:l()});else{if(!oe(e)&&92!==e)break;this.raise(g.MalformedRegExpFlags,{at:l()})}++i,o+=t}this.state.pos=i,this.finishToken(135,{pattern:a,flags:o})}readInt(e,t,n=!1,r=!0){const{n:i,pos:s}=Ue(this.input,this.state.pos,this.state.lineStart,this.state.curLine,e,t,n,r,this.errorHandlers_readInt,!1);return this.state.pos=s,i}readRadixNumber(e){const t=this.state.curPosition();let n=!1;this.state.pos+=2;const r=this.readInt(e);null==r&&this.raise(g.InvalidDigit,{at:s(t,2),radix:e});const i=this.input.charCodeAt(this.state.pos);if(110===i)++this.state.pos,n=!0;else if(109===i)throw this.raise(g.InvalidDecimal,{at:t});if(ae(this.codePointAtPos(this.state.pos)))throw this.raise(g.NumberIdentifier,{at:this.state.curPosition()});if(n){const e=this.input.slice(t.index,this.state.pos).replace(/[_n]/g,\"\");this.finishToken(133,e)}else this.finishToken(132,r)}readNumber(e){const t=this.state.pos,n=this.state.curPosition();let r=!1,i=!1,a=!1,o=!1,l=!1;e||null!==this.readInt(10)||this.raise(g.InvalidNumber,{at:this.state.curPosition()});const c=this.state.pos-t>=2&&48===this.input.charCodeAt(t);if(c){const e=this.input.slice(t,this.state.pos);if(this.recordStrictModeErrors(g.StrictOctalLiteral,{at:n}),!this.state.strict){const t=e.indexOf(\"_\");t>0&&this.raise(g.ZeroDigitNumericSeparator,{at:s(n,t)})}l=c&&!/[89]/.test(e)}let u=this.input.charCodeAt(this.state.pos);if(46!==u||l||(++this.state.pos,this.readInt(10),r=!0,u=this.input.charCodeAt(this.state.pos)),69!==u&&101!==u||l||(u=this.input.charCodeAt(++this.state.pos),43!==u&&45!==u||++this.state.pos,null===this.readInt(10)&&this.raise(g.InvalidOrMissingExponent,{at:n}),r=!0,o=!0,u=this.input.charCodeAt(this.state.pos)),110===u&&((r||c)&&this.raise(g.InvalidBigIntLiteral,{at:n}),++this.state.pos,i=!0),109===u&&(this.expectPlugin(\"decimal\",this.state.curPosition()),(o||c)&&this.raise(g.InvalidDecimal,{at:n}),++this.state.pos,a=!0),ae(this.codePointAtPos(this.state.pos)))throw this.raise(g.NumberIdentifier,{at:this.state.curPosition()});const p=this.input.slice(t,this.state.pos).replace(/[_mn]/g,\"\");if(i)return void this.finishToken(133,p);if(a)return void this.finishToken(134,p);const h=l?parseInt(p,8):parseFloat(p);this.finishToken(132,h)}readCodePoint(e){const{code:t,pos:n}=Ve(this.input,this.state.pos,this.state.lineStart,this.state.curLine,e,this.errorHandlers_readCodePoint);return this.state.pos=n,t}readString(e){const{str:t,pos:n,curLine:r,lineStart:i}=Me(34===e?\"double\":\"single\",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_string);this.state.pos=n+1,this.state.lineStart=i,this.state.curLine=r,this.finishToken(131,t)}readTemplateContinuation(){this.match(8)||this.unexpected(null,8),this.state.pos--,this.readTemplateToken()}readTemplateToken(){const e=this.input[this.state.pos],{str:t,firstInvalidLoc:n,pos:i,curLine:s,lineStart:a}=Me(\"template\",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_template);this.state.pos=i+1,this.state.lineStart=a,this.state.curLine=s,n&&(this.state.firstInvalidTemplateEscapePos=new r(n.curLine,n.pos-n.lineStart,n.pos)),96===this.input.codePointAt(i)?this.finishToken(24,n?null:e+t+\"`\"):(this.state.pos++,this.finishToken(25,n?null:e+t+\"${\"))}recordStrictModeErrors(e,{at:t}){const n=t.index;this.state.strict&&!this.state.strictErrors.has(n)?this.raise(e,{at:t}):this.state.strictErrors.set(n,[e,t])}readWord1(e){this.state.containsEsc=!1;let t=\"\";const n=this.state.pos;let r=this.state.pos;for(void 0!==e&&(this.state.pos+=e<=65535?1:2);this.state.pos<this.length;){const e=this.codePointAtPos(this.state.pos);if(oe(e))this.state.pos+=e<=65535?1:2;else{if(92!==e)break;{this.state.containsEsc=!0,t+=this.input.slice(r,this.state.pos);const e=this.state.curPosition(),i=this.state.pos===n?ae:oe;if(117!==this.input.charCodeAt(++this.state.pos)){this.raise(g.MissingUnicodeEscape,{at:this.state.curPosition()}),r=this.state.pos-1;continue}++this.state.pos;const s=this.readCodePoint(!0);null!==s&&(i(s)||this.raise(g.EscapedCharNotAnIdentifier,{at:e}),t+=String.fromCodePoint(s)),r=this.state.pos}}}return t+this.input.slice(r,this.state.pos)}readWord(e){const t=this.readWord1(e),n=I.get(t);void 0!==n?this.finishToken(n,$(n)):this.finishToken(130,t)}checkKeywordEscapes(){const{type:e}=this.state;J(e)&&this.state.containsEsc&&this.raise(g.InvalidEscapedReservedWord,{at:this.state.startLoc,reservedWord:$(e)})}raise(e,t){const{at:i}=t,s=n(t,Ke),a=e({loc:i instanceof r?i:i.loc.start,details:s});if(!this.options.errorRecovery)throw a;return this.isLookahead||this.state.errors.push(a),a}raiseOverwrite(e,t){const{at:i}=t,s=n(t,We),a=i instanceof r?i:i.loc.start,o=a.index,l=this.state.errors;for(let t=l.length-1;t>=0;t--){const n=l[t];if(n.loc.index===o)return l[t]=e({loc:a,details:s});if(n.loc.index<o)break}return this.raise(e,t)}updateContext(e){}unexpected(e,t){throw this.raise(g.UnexpectedToken,{expected:t?$(t):null,at:null!=e?e:this.state.startLoc})}expectPlugin(e,t){if(this.hasPlugin(e))return!0;throw this.raise(g.MissingPlugin,{at:null!=t?t:this.state.startLoc,missingPlugin:[e]})}expectOnePlugin(e){if(!e.some((e=>this.hasPlugin(e))))throw this.raise(g.MissingOneOfPlugins,{at:this.state.startLoc,missingPlugin:e})}errorBuilder(e){return(t,n,r)=>{this.raise(e,{at:Xe(t,n,r)})}}}class Je{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}}class $e{constructor(e){this.parser=void 0,this.stack=[],this.undefinedPrivateNames=new Map,this.parser=e}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new Je)}exit(){const e=this.stack.pop(),t=this.current();for(const[n,r]of Array.from(e.undefinedPrivateNames))t?t.undefinedPrivateNames.has(n)||t.undefinedPrivateNames.set(n,r):this.parser.raise(g.InvalidPrivateFieldResolution,{at:r,identifierName:n})}declarePrivateName(e,t,n){const{privateNames:r,loneAccessors:i,undefinedPrivateNames:s}=this.current();let a=r.has(e);if(3&t){const n=a&&i.get(e);n?(a=(3&n)==(3&t)||(4&n)!=(4&t),a||i.delete(e)):a||i.set(e,t)}a&&this.parser.raise(g.PrivateNameRedeclaration,{at:n,identifierName:e}),r.add(e),s.delete(e)}usePrivateName(e,t){let n;for(n of this.stack)if(n.privateNames.has(e))return;n?n.undefinedPrivateNames.set(e,t):this.parser.raise(g.InvalidPrivateFieldResolution,{at:t,identifierName:e})}}class Ge{constructor(e=0){this.type=e}canBeArrowParameterDeclaration(){return 2===this.type||1===this.type}isCertainlyParameterDeclaration(){return 3===this.type}}class ze extends Ge{constructor(e){super(e),this.declarationErrors=new Map}recordDeclarationError(e,{at:t}){const n=t.index;this.declarationErrors.set(n,[e,t])}clearDeclarationError(e){this.declarationErrors.delete(e)}iterateErrors(e){this.declarationErrors.forEach(e)}}class Qe{constructor(e){this.parser=void 0,this.stack=[new Ge],this.parser=e}enter(e){this.stack.push(e)}exit(){this.stack.pop()}recordParameterInitializerError(e,{at:t}){const n={at:t.loc.start},{stack:r}=this;let i=r.length-1,s=r[i];for(;!s.isCertainlyParameterDeclaration();){if(!s.canBeArrowParameterDeclaration())return;s.recordDeclarationError(e,n),s=r[--i]}this.parser.raise(e,n)}recordArrowParameterBindingError(e,{at:t}){const{stack:n}=this,r=n[n.length-1],i={at:t.loc.start};if(r.isCertainlyParameterDeclaration())this.parser.raise(e,i);else{if(!r.canBeArrowParameterDeclaration())return;r.recordDeclarationError(e,i)}}recordAsyncArrowParametersError({at:e}){const{stack:t}=this;let n=t.length-1,r=t[n];for(;r.canBeArrowParameterDeclaration();)2===r.type&&r.recordDeclarationError(g.AwaitBindingIdentifier,{at:e}),r=t[--n]}validateAsPattern(){const{stack:e}=this,t=e[e.length-1];t.canBeArrowParameterDeclaration()&&t.iterateErrors((([t,n])=>{this.parser.raise(t,{at:n});let r=e.length-2,i=e[r];for(;i.canBeArrowParameterDeclaration();)i.clearDeclarationError(n.index),i=e[--r]}))}}function Ze(){return new Ge}class et{constructor(){this.stacks=[]}enter(e){this.stacks.push(e)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(2&this.currentFlags())>0}get hasYield(){return(1&this.currentFlags())>0}get hasReturn(){return(4&this.currentFlags())>0}get hasIn(){return(8&this.currentFlags())>0}}function tt(e,t){return(e?2:0)|(t?1:0)}class nt extends He{addExtra(e,t,n,r=!0){if(!e)return;const i=e.extra=e.extra||{};r?i[t]=n:Object.defineProperty(i,t,{enumerable:r,value:n})}isContextual(e){return this.state.type===e&&!this.state.containsEsc}isUnparsedContextual(e,t){const n=e+t.length;if(this.input.slice(e,n)===t){const e=this.input.charCodeAt(n);return!(oe(e)||55296==(64512&e))}return!1}isLookaheadContextual(e){const t=this.nextTokenStart();return this.isUnparsedContextual(t,e)}eatContextual(e){return!!this.isContextual(e)&&(this.next(),!0)}expectContextual(e,t){if(!this.eatContextual(e)){if(null!=t)throw this.raise(t,{at:this.state.startLoc});this.unexpected(null,e)}}canInsertSemicolon(){return this.match(137)||this.match(8)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return Ae.test(this.input.slice(this.state.lastTokEndLoc.index,this.state.start))}hasFollowingLineBreak(){return Ie.lastIndex=this.state.end,Ie.test(this.input)}isLineTerminator(){return this.eat(13)||this.canInsertSemicolon()}semicolon(e=!0){(e?this.isLineTerminator():this.eat(13))||this.raise(g.MissingSemicolon,{at:this.state.lastTokEndLoc})}expect(e,t){this.eat(e)||this.unexpected(t,e)}tryParse(e,t=this.state.clone()){const n={node:null};try{const r=e(((e=null)=>{throw n.node=e,n}));if(this.state.errors.length>t.errors.length){const e=this.state;return this.state=t,this.state.tokensLength=e.tokensLength,{node:r,error:e.errors[t.errors.length],thrown:!1,aborted:!1,failState:e}}return{node:r,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){const r=this.state;if(this.state=t,e instanceof SyntaxError)return{node:null,error:e,thrown:!0,aborted:!1,failState:r};if(e===n)return{node:n.node,error:null,thrown:!1,aborted:!0,failState:r};throw e}}checkExpressionErrors(e,t){if(!e)return!1;const{shorthandAssignLoc:n,doubleProtoLoc:r,privateKeyLoc:i,optionalParametersLoc:s}=e;if(!t)return!!(n||r||s||i);null!=n&&this.raise(g.InvalidCoverInitializedName,{at:n}),null!=r&&this.raise(g.DuplicateProto,{at:r}),null!=i&&this.raise(g.UnexpectedPrivateField,{at:i}),null!=s&&this.unexpected(s)}isLiteralPropertyName(){return Y(this.state.type)}isPrivateName(e){return\"PrivateName\"===e.type}getPrivateNameSV(e){return e.id.name}hasPropertyAsPrivateName(e){return(\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type)&&this.isPrivateName(e.property)}isObjectProperty(e){return\"ObjectProperty\"===e.type}isObjectMethod(e){return\"ObjectMethod\"===e.type}initializeScopes(e=\"module\"===this.options.sourceType){const t=this.state.labels;this.state.labels=[];const n=this.exportedIdentifiers;this.exportedIdentifiers=new Set;const r=this.inModule;this.inModule=e;const i=this.scope,s=this.getScopeHandler();this.scope=new s(this,e);const a=this.prodParam;this.prodParam=new et;const o=this.classScope;this.classScope=new $e(this);const l=this.expressionScope;return this.expressionScope=new Qe(this),()=>{this.state.labels=t,this.exportedIdentifiers=n,this.inModule=r,this.scope=i,this.prodParam=a,this.classScope=o,this.expressionScope=l}}enterInitialScopes(){let e=0;this.inModule&&(e|=2),this.scope.enter(1),this.prodParam.enter(e)}checkDestructuringPrivate(e){const{privateKeyLoc:t}=e;null!==t&&this.expectPlugin(\"destructuringPrivate\",t)}}class rt{constructor(){this.shorthandAssignLoc=null,this.doubleProtoLoc=null,this.privateKeyLoc=null,this.optionalParametersLoc=null}}class it{constructor(e,t,n){this.type=\"\",this.start=t,this.end=0,this.loc=new i(n),null!=e&&e.options.ranges&&(this.range=[t,0]),null!=e&&e.filename&&(this.loc.filename=e.filename)}}const st=it.prototype;function at(e){const{type:t,start:n,end:r,loc:i,range:s,extra:a,name:o}=e,l=Object.create(st);return l.type=t,l.start=n,l.end=r,l.loc=i,l.range=s,l.extra=a,l.name=o,\"Placeholder\"===t&&(l.expectedNode=e.expectedNode),l}st.__clone=function(){const e=new it(void 0,this.start,this.loc.start),t=Object.keys(this);for(let n=0,r=t.length;n<r;n++){const r=t[n];\"leadingComments\"!==r&&\"trailingComments\"!==r&&\"innerComments\"!==r&&(e[r]=this[r])}return e};class ot extends nt{startNode(){return new it(this,this.state.start,this.state.startLoc)}startNodeAt(e){return new it(this,e.index,e)}startNodeAtNode(e){return this.startNodeAt(e.loc.start)}finishNode(e,t){return this.finishNodeAt(e,t,this.state.lastTokEndLoc)}finishNodeAt(e,t,n){return e.type=t,e.end=n.index,e.loc.end=n,this.options.ranges&&(e.range[1]=n.index),this.options.attachComment&&this.processComment(e),e}resetStartLocation(e,t){e.start=t.index,e.loc.start=t,this.options.ranges&&(e.range[0]=t.index)}resetEndLocation(e,t=this.state.lastTokEndLoc){e.end=t.index,e.loc.end=t,this.options.ranges&&(e.range[1]=t.index)}resetStartLocationFromNode(e,t){this.resetStartLocation(e,t.loc.start)}}const lt=new Set([\"_\",\"any\",\"bool\",\"boolean\",\"empty\",\"extends\",\"false\",\"interface\",\"mixed\",\"null\",\"number\",\"static\",\"string\",\"true\",\"typeof\",\"void\"]),ct=T`flow`({AmbiguousConditionalArrow:\"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.\",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.\",AssignReservedType:({reservedType:e})=>`Cannot overwrite reserved type ${e}.`,DeclareClassElement:\"The `declare` modifier can only appear on class fields.\",DeclareClassFieldInitializer:\"Initializers are not allowed in fields with the `declare` modifier.\",DuplicateDeclareModuleExports:\"Duplicate `declare module.exports` statement.\",EnumBooleanMemberNotInitialized:({memberName:e,enumName:t})=>`Boolean enum members need to be initialized. Use either \\`${e} = true,\\` or \\`${e} = false,\\` in enum \\`${t}\\`.`,EnumDuplicateMemberName:({memberName:e,enumName:t})=>`Enum member names need to be unique, but the name \\`${e}\\` has already been used before in enum \\`${t}\\`.`,EnumInconsistentMemberValues:({enumName:e})=>`Enum \\`${e}\\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`,EnumInvalidExplicitType:({invalidEnumType:e,enumName:t})=>`Enum type \\`${e}\\` is not valid. Use one of \\`boolean\\`, \\`number\\`, \\`string\\`, or \\`symbol\\` in enum \\`${t}\\`.`,EnumInvalidExplicitTypeUnknownSupplied:({enumName:e})=>`Supplied enum type is not valid. Use one of \\`boolean\\`, \\`number\\`, \\`string\\`, or \\`symbol\\` in enum \\`${e}\\`.`,EnumInvalidMemberInitializerPrimaryType:({enumName:e,memberName:t,explicitType:n})=>`Enum \\`${e}\\` has type \\`${n}\\`, so the initializer of \\`${t}\\` needs to be a ${n} literal.`,EnumInvalidMemberInitializerSymbolType:({enumName:e,memberName:t})=>`Symbol enum members cannot be initialized. Use \\`${t},\\` in enum \\`${e}\\`.`,EnumInvalidMemberInitializerUnknownType:({enumName:e,memberName:t})=>`The enum member initializer for \\`${t}\\` needs to be a literal (either a boolean, number, or string) in enum \\`${e}\\`.`,EnumInvalidMemberName:({enumName:e,memberName:t,suggestion:n})=>`Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \\`${t}\\`, consider using \\`${n}\\`, in enum \\`${e}\\`.`,EnumNumberMemberNotInitialized:({enumName:e,memberName:t})=>`Number enum members need to be initialized, e.g. \\`${t} = 1\\` in enum \\`${e}\\`.`,EnumStringMemberInconsistentlyInitialized:({enumName:e})=>`String enum members need to consistently either all use initializers, or use no initializers, in enum \\`${e}\\`.`,GetterMayNotHaveThisParam:\"A getter cannot have a `this` parameter.\",ImportReflectionHasImportType:\"An `import module` declaration can not use `type` or `typeof` keyword.\",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.\",InexactInsideExact:\"Explicit inexact syntax cannot appear inside an explicit exact object type.\",InexactInsideNonObject:\"Explicit inexact syntax cannot appear in class or interface definitions.\",InexactVariance:\"Explicit inexact syntax cannot have variance.\",InvalidNonTypeImportInDeclareModule:\"Imports within a `declare module` body must always be `import type` or `import typeof`.\",MissingTypeParamDefault:\"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.\",NestedDeclareModule:\"`declare module` cannot be used inside another `declare module`.\",NestedFlowComment:\"Cannot have a flow comment inside another flow comment.\",PatternIsOptional:Object.assign({message:\"A binding pattern parameter cannot be optional in an implementation signature.\"},{reasonCode:\"OptionalBindingPattern\"}),SetterMayNotHaveThisParam:\"A setter cannot have a `this` parameter.\",SpreadVariance:\"Spread properties cannot have variance.\",ThisParamAnnotationRequired:\"A type annotation is required for the `this` parameter.\",ThisParamBannedInConstructor:\"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.\",ThisParamMayNotBeOptional:\"The `this` parameter cannot be optional.\",ThisParamMustBeFirst:\"The `this` parameter must be the first function parameter.\",ThisParamNoDefault:\"The `this` parameter may not have a default value.\",TypeBeforeInitializer:\"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.\",TypeCastInPattern:\"The type cast expression is expected to be wrapped with parenthesis.\",UnexpectedExplicitInexactInObject:\"Explicit inexact syntax must appear at the end of an inexact object.\",UnexpectedReservedType:({reservedType:e})=>`Unexpected reserved type ${e}.`,UnexpectedReservedUnderscore:\"`_` is only allowed as a type argument to call or new.\",UnexpectedSpaceBetweenModuloChecks:\"Spaces between `%` and `checks` are not allowed here.\",UnexpectedSpreadType:\"Spread operator cannot appear in class or interface definitions.\",UnexpectedSubtractionOperand:'Unexpected token, expected \"number\" or \"bigint\".',UnexpectedTokenAfterTypeParameter:\"Expected an arrow function after this type parameter declaration.\",UnexpectedTypeParameterBeforeAsyncArrowFunction:\"Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}`, use `async <T>() => {}`.\",UnsupportedDeclareExportKind:({unsupportedExportKind:e,suggestion:t})=>`\\`declare export ${e}\\` is not supported. Use \\`${t}\\` instead.`,UnsupportedStatementInDeclareModule:\"Only declares and type imports are allowed inside declare module.\",UnterminatedFlowComment:\"Unterminated flow-comment.\"});function ut(e){return\"type\"===e.importKind||\"typeof\"===e.importKind}const pt={const:\"declare export var\",let:\"declare export var\",type:\"export type\",interface:\"export interface\"},ht=/\\*?\\s*@((?:no)?flow)\\b/,dt={__proto__:null,quot:'\"',amp:\"&\",apos:\"'\",lt:\"<\",gt:\">\",nbsp:\" \",iexcl:\"¡\",cent:\"¢\",pound:\"£\",curren:\"¤\",yen:\"¥\",brvbar:\"¦\",sect:\"§\",uml:\"¨\",copy:\"©\",ordf:\"ª\",laquo:\"«\",not:\"¬\",shy:\"­\",reg:\"®\",macr:\"¯\",deg:\"°\",plusmn:\"±\",sup2:\"²\",sup3:\"³\",acute:\"´\",micro:\"µ\",para:\"¶\",middot:\"·\",cedil:\"¸\",sup1:\"¹\",ordm:\"º\",raquo:\"»\",frac14:\"¼\",frac12:\"½\",frac34:\"¾\",iquest:\"¿\",Agrave:\"À\",Aacute:\"Á\",Acirc:\"Â\",Atilde:\"Ã\",Auml:\"Ä\",Aring:\"Å\",AElig:\"Æ\",Ccedil:\"Ç\",Egrave:\"È\",Eacute:\"É\",Ecirc:\"Ê\",Euml:\"Ë\",Igrave:\"Ì\",Iacute:\"Í\",Icirc:\"Î\",Iuml:\"Ï\",ETH:\"Ð\",Ntilde:\"Ñ\",Ograve:\"Ò\",Oacute:\"Ó\",Ocirc:\"Ô\",Otilde:\"Õ\",Ouml:\"Ö\",times:\"×\",Oslash:\"Ø\",Ugrave:\"Ù\",Uacute:\"Ú\",Ucirc:\"Û\",Uuml:\"Ü\",Yacute:\"Ý\",THORN:\"Þ\",szlig:\"ß\",agrave:\"à\",aacute:\"á\",acirc:\"â\",atilde:\"ã\",auml:\"ä\",aring:\"å\",aelig:\"æ\",ccedil:\"ç\",egrave:\"è\",eacute:\"é\",ecirc:\"ê\",euml:\"ë\",igrave:\"ì\",iacute:\"í\",icirc:\"î\",iuml:\"ï\",eth:\"ð\",ntilde:\"ñ\",ograve:\"ò\",oacute:\"ó\",ocirc:\"ô\",otilde:\"õ\",ouml:\"ö\",divide:\"÷\",oslash:\"ø\",ugrave:\"ù\",uacute:\"ú\",ucirc:\"û\",uuml:\"ü\",yacute:\"ý\",thorn:\"þ\",yuml:\"ÿ\",OElig:\"Œ\",oelig:\"œ\",Scaron:\"Š\",scaron:\"š\",Yuml:\"Ÿ\",fnof:\"ƒ\",circ:\"ˆ\",tilde:\"˜\",Alpha:\"Α\",Beta:\"Β\",Gamma:\"Γ\",Delta:\"Δ\",Epsilon:\"Ε\",Zeta:\"Ζ\",Eta:\"Η\",Theta:\"Θ\",Iota:\"Ι\",Kappa:\"Κ\",Lambda:\"Λ\",Mu:\"Μ\",Nu:\"Ν\",Xi:\"Ξ\",Omicron:\"Ο\",Pi:\"Π\",Rho:\"Ρ\",Sigma:\"Σ\",Tau:\"Τ\",Upsilon:\"Υ\",Phi:\"Φ\",Chi:\"Χ\",Psi:\"Ψ\",Omega:\"Ω\",alpha:\"α\",beta:\"β\",gamma:\"γ\",delta:\"δ\",epsilon:\"ε\",zeta:\"ζ\",eta:\"η\",theta:\"θ\",iota:\"ι\",kappa:\"κ\",lambda:\"λ\",mu:\"μ\",nu:\"ν\",xi:\"ξ\",omicron:\"ο\",pi:\"π\",rho:\"ρ\",sigmaf:\"ς\",sigma:\"σ\",tau:\"τ\",upsilon:\"υ\",phi:\"φ\",chi:\"χ\",psi:\"ψ\",omega:\"ω\",thetasym:\"ϑ\",upsih:\"ϒ\",piv:\"ϖ\",ensp:\" \",emsp:\" \",thinsp:\" \",zwnj:\"‌\",zwj:\"‍\",lrm:\"‎\",rlm:\"‏\",ndash:\"–\",mdash:\"—\",lsquo:\"‘\",rsquo:\"’\",sbquo:\"‚\",ldquo:\"“\",rdquo:\"”\",bdquo:\"„\",dagger:\"†\",Dagger:\"‡\",bull:\"•\",hellip:\"…\",permil:\"‰\",prime:\"′\",Prime:\"″\",lsaquo:\"‹\",rsaquo:\"›\",oline:\"‾\",frasl:\"⁄\",euro:\"€\",image:\"ℑ\",weierp:\"℘\",real:\"ℜ\",trade:\"™\",alefsym:\"ℵ\",larr:\"←\",uarr:\"↑\",rarr:\"→\",darr:\"↓\",harr:\"↔\",crarr:\"↵\",lArr:\"⇐\",uArr:\"⇑\",rArr:\"⇒\",dArr:\"⇓\",hArr:\"⇔\",forall:\"∀\",part:\"∂\",exist:\"∃\",empty:\"∅\",nabla:\"∇\",isin:\"∈\",notin:\"∉\",ni:\"∋\",prod:\"∏\",sum:\"∑\",minus:\"−\",lowast:\"∗\",radic:\"√\",prop:\"∝\",infin:\"∞\",ang:\"∠\",and:\"∧\",or:\"∨\",cap:\"∩\",cup:\"∪\",int:\"∫\",there4:\"∴\",sim:\"∼\",cong:\"≅\",asymp:\"≈\",ne:\"≠\",equiv:\"≡\",le:\"≤\",ge:\"≥\",sub:\"⊂\",sup:\"⊃\",nsub:\"⊄\",sube:\"⊆\",supe:\"⊇\",oplus:\"⊕\",otimes:\"⊗\",perp:\"⊥\",sdot:\"⋅\",lceil:\"⌈\",rceil:\"⌉\",lfloor:\"⌊\",rfloor:\"⌋\",lang:\"〈\",rang:\"〉\",loz:\"◊\",spades:\"♠\",clubs:\"♣\",hearts:\"♥\",diams:\"♦\"},ft=T`jsx`({AttributeIsEmpty:\"JSX attributes must only be assigned a non-empty expression.\",MissingClosingTagElement:({openingTagName:e})=>`Expected corresponding JSX closing tag for <${e}>.`,MissingClosingTagFragment:\"Expected corresponding JSX closing tag for <>.\",UnexpectedSequenceExpression:\"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?\",UnexpectedToken:({unexpected:e,HTMLEntity:t})=>`Unexpected token \\`${e}\\`. Did you mean \\`${t}\\` or \\`{'${e}'}\\`?`,UnsupportedJsxValue:\"JSX value should be either an expression or a quoted JSX text.\",UnterminatedJsxContent:\"Unterminated JSX contents.\",UnwrappedAdjacentJSXElements:\"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?\"});function yt(e){return!!e&&(\"JSXOpeningFragment\"===e.type||\"JSXClosingFragment\"===e.type)}function mt(e){if(\"JSXIdentifier\"===e.type)return e.name;if(\"JSXNamespacedName\"===e.type)return e.namespace.name+\":\"+e.name.name;if(\"JSXMemberExpression\"===e.type)return mt(e.object)+\".\"+mt(e.property);throw new Error(\"Node had unexpected type: \"+e.type)}class Tt extends me{constructor(...e){super(...e),this.types=new Set,this.enums=new Set,this.constEnums=new Set,this.classes=new Set,this.exportOnlyBindings=new Set}}class gt extends Te{constructor(...e){super(...e),this.importsStack=[]}createScope(e){return this.importsStack.push(new Set),new Tt(e)}enter(e){256==e&&this.importsStack.push(new Set),super.enter(e)}exit(){const e=super.exit();return 256==e&&this.importsStack.pop(),e}hasImport(e,t){const n=this.importsStack.length;if(this.importsStack[n-1].has(e))return!0;if(!t&&n>1)for(let t=0;t<n-1;t++)if(this.importsStack[t].has(e))return!0;return!1}declareName(e,t,n){if(4096&t)return this.hasImport(e,!0)&&this.parser.raise(g.VarRedeclaration,{at:n,identifierName:e}),void this.importsStack[this.importsStack.length-1].add(e);const r=this.currentScope();if(1024&t)return this.maybeExportDefined(r,e),void r.exportOnlyBindings.add(e);super.declareName(e,t,n),2&t&&(1&t||(this.checkRedeclarationInScope(r,e,t,n),this.maybeExportDefined(r,e)),r.types.add(e)),256&t&&r.enums.add(e),512&t&&r.constEnums.add(e),128&t&&r.classes.add(e)}isRedeclaredInScope(e,t,n){return e.enums.has(t)?!(256&n)||!!(512&n)!==e.constEnums.has(t):128&n&&e.classes.has(t)?!!e.lexical.has(t)&&!!(1&n):!!(2&n&&e.types.has(t))||super.isRedeclaredInScope(e,t,n)}checkLocalExport(e){const{name:t}=e;if(!this.hasImport(t)){for(let e=this.scopeStack.length-1;e>=0;e--){const n=this.scopeStack[e];if(n.types.has(t)||n.exportOnlyBindings.has(t))return}super.checkLocalExport(e)}}}const bt=e=>\"ParenthesizedExpression\"===e.type?bt(e.expression):e;class Et extends ot{toAssignable(e,t=!1){var n,r;let i;switch((\"ParenthesizedExpression\"===e.type||null!=(n=e.extra)&&n.parenthesized)&&(i=bt(e),t?\"Identifier\"===i.type?this.expressionScope.recordArrowParameterBindingError(g.InvalidParenthesizedAssignment,{at:e}):\"MemberExpression\"!==i.type&&this.raise(g.InvalidParenthesizedAssignment,{at:e}):this.raise(g.InvalidParenthesizedAssignment,{at:e})),e.type){case\"Identifier\":case\"ObjectPattern\":case\"ArrayPattern\":case\"AssignmentPattern\":case\"RestElement\":break;case\"ObjectExpression\":e.type=\"ObjectPattern\";for(let n=0,r=e.properties.length,i=r-1;n<r;n++){var s;const r=e.properties[n],a=n===i;this.toAssignableObjectExpressionProp(r,a,t),a&&\"RestElement\"===r.type&&null!=(s=e.extra)&&s.trailingCommaLoc&&this.raise(g.RestTrailingComma,{at:e.extra.trailingCommaLoc})}break;case\"ObjectProperty\":{const{key:n,value:r}=e;this.isPrivateName(n)&&this.classScope.usePrivateName(this.getPrivateNameSV(n),n.loc.start),this.toAssignable(r,t);break}case\"SpreadElement\":throw new Error(\"Internal @babel/parser error (this is a bug, please report it). SpreadElement should be converted by .toAssignable's caller.\");case\"ArrayExpression\":e.type=\"ArrayPattern\",this.toAssignableList(e.elements,null==(r=e.extra)?void 0:r.trailingCommaLoc,t);break;case\"AssignmentExpression\":\"=\"!==e.operator&&this.raise(g.MissingEqInAssignment,{at:e.left.loc.end}),e.type=\"AssignmentPattern\",delete e.operator,this.toAssignable(e.left,t);break;case\"ParenthesizedExpression\":this.toAssignable(i,t)}}toAssignableObjectExpressionProp(e,t,n){if(\"ObjectMethod\"===e.type)this.raise(\"get\"===e.kind||\"set\"===e.kind?g.PatternHasAccessor:g.PatternHasMethod,{at:e.key});else if(\"SpreadElement\"===e.type){e.type=\"RestElement\";const r=e.argument;this.checkToRestConversion(r,!1),this.toAssignable(r,n),t||this.raise(g.RestTrailingComma,{at:e})}else this.toAssignable(e,n)}toAssignableList(e,t,n){const r=e.length-1;for(let i=0;i<=r;i++){const s=e[i];if(s){if(\"SpreadElement\"===s.type){s.type=\"RestElement\";const e=s.argument;this.checkToRestConversion(e,!0),this.toAssignable(e,n)}else this.toAssignable(s,n);\"RestElement\"===s.type&&(i<r?this.raise(g.RestTrailingComma,{at:s}):t&&this.raise(g.RestTrailingComma,{at:t}))}}}isAssignable(e,t){switch(e.type){case\"Identifier\":case\"ObjectPattern\":case\"ArrayPattern\":case\"AssignmentPattern\":case\"RestElement\":return!0;case\"ObjectExpression\":{const t=e.properties.length-1;return e.properties.every(((e,n)=>\"ObjectMethod\"!==e.type&&(n===t||\"SpreadElement\"!==e.type)&&this.isAssignable(e)))}case\"ObjectProperty\":return this.isAssignable(e.value);case\"SpreadElement\":return this.isAssignable(e.argument);case\"ArrayExpression\":return e.elements.every((e=>null===e||this.isAssignable(e)));case\"AssignmentExpression\":return\"=\"===e.operator;case\"ParenthesizedExpression\":return this.isAssignable(e.expression);case\"MemberExpression\":case\"OptionalMemberExpression\":return!t;default:return!1}}toReferencedList(e,t){return e}toReferencedListDeep(e,t){this.toReferencedList(e,t);for(const t of e)\"ArrayExpression\"===(null==t?void 0:t.type)&&this.toReferencedListDeep(t.elements)}parseSpread(e){const t=this.startNode();return this.next(),t.argument=this.parseMaybeAssignAllowIn(e,void 0),this.finishNode(t,\"SpreadElement\")}parseRestBinding(){const e=this.startNode();return this.next(),e.argument=this.parseBindingAtom(),this.finishNode(e,\"RestElement\")}parseBindingAtom(){switch(this.state.type){case 0:{const e=this.startNode();return this.next(),e.elements=this.parseBindingList(3,93,1),this.finishNode(e,\"ArrayPattern\")}case 5:return this.parseObjectLike(8,!0)}return this.parseIdentifier()}parseBindingList(e,t,n){const r=1&n,i=[];let s=!0;for(;!this.eat(e);)if(s?s=!1:this.expect(12),r&&this.match(12))i.push(null);else{if(this.eat(e))break;if(this.match(21)){if(i.push(this.parseAssignableListItemTypes(this.parseRestBinding(),n)),!this.checkCommaAfterRest(t)){this.expect(e);break}}else{const e=[];for(this.match(26)&&this.hasPlugin(\"decorators\")&&this.raise(g.UnsupportedParameterDecorator,{at:this.state.startLoc});this.match(26);)e.push(this.parseDecorator());i.push(this.parseAssignableListItem(n,e))}}return i}parseBindingRestProperty(e){return this.next(),e.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(e,\"RestElement\")}parseBindingProperty(){const e=this.startNode(),{type:t,startLoc:n}=this.state;return 21===t?this.parseBindingRestProperty(e):(136===t?(this.expectPlugin(\"destructuringPrivate\",n),this.classScope.usePrivateName(this.state.value,n),e.key=this.parsePrivateName()):this.parsePropertyName(e),e.method=!1,this.parseObjPropValue(e,n,!1,!1,!0,!1))}parseAssignableListItem(e,t){const n=this.parseMaybeDefault();this.parseAssignableListItemTypes(n,e);const r=this.parseMaybeDefault(n.loc.start,n);return t.length&&(n.decorators=t),r}parseAssignableListItemTypes(e,t){return e}parseMaybeDefault(e,t){var n;if(null!=e||(e=this.state.startLoc),t=null!=(n=t)?n:this.parseBindingAtom(),!this.eat(29))return t;const r=this.startNodeAt(e);return r.left=t,r.right=this.parseMaybeAssignAllowIn(),this.finishNode(r,\"AssignmentPattern\")}isValidLVal(e,t,n){return r={AssignmentPattern:\"left\",RestElement:\"argument\",ObjectProperty:\"value\",ParenthesizedExpression:\"expression\",ArrayPattern:\"elements\",ObjectPattern:\"properties\"},i=e,Object.hasOwnProperty.call(r,i)&&r[i];var r,i}checkLVal(e,{in:t,binding:n=64,checkClashes:r=!1,strictModeChanged:i=!1,hasParenthesizedAncestor:s=!1}){var a;const o=e.type;if(this.isObjectMethod(e))return;if(\"MemberExpression\"===o)return void(64!==n&&this.raise(g.InvalidPropertyBindingPattern,{at:e}));if(\"Identifier\"===o){this.checkIdentifier(e,n,i);const{name:t}=e;return void(r&&(r.has(t)?this.raise(g.ParamDupe,{at:e}):r.add(t)))}const l=this.isValidLVal(o,!(s||null!=(a=e.extra)&&a.parenthesized)&&\"AssignmentExpression\"===t.type,n);if(!0===l)return;if(!1===l){const r=64===n?g.InvalidLhs:g.InvalidLhsBinding;return void this.raise(r,{at:e,ancestor:t})}const[c,u]=Array.isArray(l)?l:[l,\"ParenthesizedExpression\"===o],p=\"ArrayPattern\"===o||\"ObjectPattern\"===o||\"ParenthesizedExpression\"===o?{type:o}:t;for(const t of[].concat(e[c]))t&&this.checkLVal(t,{in:p,binding:n,checkClashes:r,strictModeChanged:i,hasParenthesizedAncestor:u})}checkIdentifier(e,t,n=!1){this.state.strict&&(n?fe(e.name,this.inModule):de(e.name))&&(64===t?this.raise(g.StrictEvalArguments,{at:e,referenceName:e.name}):this.raise(g.StrictEvalArgumentsBinding,{at:e,bindingName:e.name})),8192&t&&\"let\"===e.name&&this.raise(g.LetInLexicalBinding,{at:e}),64&t||this.declareNameFromIdentifier(e,t)}declareNameFromIdentifier(e,t){this.scope.declareName(e.name,t,e.loc.start)}checkToRestConversion(e,t){switch(e.type){case\"ParenthesizedExpression\":this.checkToRestConversion(e.expression,t);break;case\"Identifier\":case\"MemberExpression\":break;case\"ArrayExpression\":case\"ObjectExpression\":if(t)break;default:this.raise(g.InvalidRestAssignmentPattern,{at:e})}}checkCommaAfterRest(e){return!!this.match(12)&&(this.raise(this.lookaheadCharCode()===e?g.RestTrailingComma:g.ElementAfterRest,{at:this.state.startLoc}),!0)}}function St(e){if(!e)throw new Error(\"Assert fail\")}const Pt=T`typescript`({AbstractMethodHasImplementation:({methodName:e})=>`Method '${e}' cannot have an implementation because it is marked abstract.`,AbstractPropertyHasInitializer:({propertyName:e})=>`Property '${e}' cannot have an initializer because it is marked abstract.`,AccesorCannotDeclareThisParameter:\"'get' and 'set' accessors cannot declare 'this' parameters.\",AccesorCannotHaveTypeParameters:\"An accessor cannot have type parameters.\",AccessorCannotBeOptional:\"An 'accessor' property cannot be declared optional.\",ClassMethodHasDeclare:\"Class methods cannot have the 'declare' modifier.\",ClassMethodHasReadonly:\"Class methods cannot have the 'readonly' modifier.\",ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference:\"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.\",ConstructorHasTypeParameters:\"Type parameters cannot appear on a constructor declaration.\",DeclareAccessor:({kind:e})=>`'declare' is not allowed in ${e}ters.`,DeclareClassFieldHasInitializer:\"Initializers are not allowed in ambient contexts.\",DeclareFunctionHasImplementation:\"An implementation cannot be declared in ambient contexts.\",DuplicateAccessibilityModifier:({modifier:e})=>\"Accessibility modifier already seen.\",DuplicateModifier:({modifier:e})=>`Duplicate modifier: '${e}'.`,EmptyHeritageClauseType:({token:e})=>`'${e}' list cannot be empty.`,EmptyTypeArguments:\"Type argument list cannot be empty.\",EmptyTypeParameters:\"Type parameter list cannot be empty.\",ExpectedAmbientAfterExportDeclare:\"'export declare' must be followed by an ambient declaration.\",ImportAliasHasImportType:\"An import alias can not use 'import type'.\",ImportReflectionHasImportType:\"An `import module` declaration can not use `type` modifier\",IncompatibleModifiers:({modifiers:e})=>`'${e[0]}' modifier cannot be used with '${e[1]}' modifier.`,IndexSignatureHasAbstract:\"Index signatures cannot have the 'abstract' modifier.\",IndexSignatureHasAccessibility:({modifier:e})=>`Index signatures cannot have an accessibility modifier ('${e}').`,IndexSignatureHasDeclare:\"Index signatures cannot have the 'declare' modifier.\",IndexSignatureHasOverride:\"'override' modifier cannot appear on an index signature.\",IndexSignatureHasStatic:\"Index signatures cannot have the 'static' modifier.\",InitializerNotAllowedInAmbientContext:\"Initializers are not allowed in ambient contexts.\",InvalidModifierOnTypeMember:({modifier:e})=>`'${e}' modifier cannot appear on a type member.`,InvalidModifierOnTypeParameter:({modifier:e})=>`'${e}' modifier cannot appear on a type parameter.`,InvalidModifierOnTypeParameterPositions:({modifier:e})=>`'${e}' modifier can only appear on a type parameter of a class, interface or type alias.`,InvalidModifiersOrder:({orderedModifiers:e})=>`'${e[0]}' modifier must precede '${e[1]}' modifier.`,InvalidPropertyAccessAfterInstantiationExpression:\"Invalid property access after an instantiation expression. You can either wrap the instantiation expression in parentheses, or delete the type arguments.\",InvalidTupleMemberLabel:\"Tuple members must be labeled with a simple identifier.\",MissingInterfaceName:\"'interface' declarations must be followed by an identifier.\",MixedLabeledAndUnlabeledElements:\"Tuple members must all have names or all not have names.\",NonAbstractClassHasAbstractMethod:\"Abstract methods can only appear within an abstract class.\",NonClassMethodPropertyHasAbstractModifer:\"'abstract' modifier can only appear on a class, method, or property declaration.\",OptionalTypeBeforeRequired:\"A required element cannot follow an optional element.\",OverrideNotInSubClass:\"This member cannot have an 'override' modifier because its containing class does not extend another class.\",PatternIsOptional:\"A binding pattern parameter cannot be optional in an implementation signature.\",PrivateElementHasAbstract:\"Private elements cannot have the 'abstract' modifier.\",PrivateElementHasAccessibility:({modifier:e})=>`Private elements cannot have an accessibility modifier ('${e}').`,ReadonlyForMethodSignature:\"'readonly' modifier can only appear on a property declaration or index signature.\",ReservedArrowTypeParam:\"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.\",ReservedTypeAssertion:\"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.\",SetAccesorCannotHaveOptionalParameter:\"A 'set' accessor cannot have an optional parameter.\",SetAccesorCannotHaveRestParameter:\"A 'set' accessor cannot have rest parameter.\",SetAccesorCannotHaveReturnType:\"A 'set' accessor cannot have a return type annotation.\",SingleTypeParameterWithoutTrailingComma:({typeParameterName:e})=>`Single type parameter ${e} should have a trailing comma. Example usage: <${e},>.`,StaticBlockCannotHaveModifier:\"Static class blocks cannot have any modifier.\",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?`).\",TypeAnnotationAfterAssign:\"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.\",TypeImportCannotSpecifyDefaultAndNamed:\"A type-only import can specify a default import or named bindings, but not both.\",TypeModifierIsUsedInTypeExports:\"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.\",TypeModifierIsUsedInTypeImports:\"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.\",UnexpectedParameterModifier:\"A parameter property is only allowed in a constructor implementation.\",UnexpectedReadonly:\"'readonly' type modifier is only permitted on array and tuple literal types.\",UnexpectedTypeAnnotation:\"Did not expect a type annotation here.\",UnexpectedTypeCastInParameter:\"Unexpected type cast in parameter position.\",UnsupportedImportTypeArgument:\"Argument in a type import must be a string literal.\",UnsupportedParameterPropertyKind:\"A parameter property may not be declared using a binding pattern.\",UnsupportedSignatureParameterKind:({type:e})=>`Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${e}.`});function xt(e){return\"private\"===e||\"public\"===e||\"protected\"===e}function Dt(e){return\"in\"===e||\"out\"===e}function At(e){if(\"MemberExpression\"!==e.type)return!1;const{computed:t,property:n}=e;return(!t||\"StringLiteral\"===n.type||!(\"TemplateLiteral\"!==n.type||n.expressions.length>0))&&wt(e.object)}function vt(e,t){var n;const{type:r}=e;if(null!=(n=e.extra)&&n.parenthesized)return!1;if(t){if(\"Literal\"===r){const{value:t}=e;if(\"string\"==typeof t||\"boolean\"==typeof t)return!0}}else if(\"StringLiteral\"===r||\"BooleanLiteral\"===r)return!0;return!(!Ct(e,t)&&!function(e,t){if(\"UnaryExpression\"===e.type){const{operator:n,argument:r}=e;if(\"-\"===n&&Ct(r,t))return!0}return!1}(e,t))||\"TemplateLiteral\"===r&&0===e.expressions.length||!!At(e)}function Ct(e,t){return t?\"Literal\"===e.type&&(\"number\"==typeof e.value||\"bigint\"in e):\"NumericLiteral\"===e.type||\"BigIntLiteral\"===e.type}function wt(e){return\"Identifier\"===e.type||\"MemberExpression\"===e.type&&!e.computed&&wt(e.object)}const Ot=T`placeholders`({ClassNameIsRequired:\"A class name is required.\",UnexpectedSpace:\"Unexpected space in placeholder.\"});function It(e,t){const[n,r]=\"string\"==typeof t?[t,{}]:t,i=Object.keys(r),s=0===i.length;return e.some((e=>{if(\"string\"==typeof e)return s&&e===n;{const[t,s]=e;if(t!==n)return!1;for(const e of i)if(s[e]!==r[e])return!1;return!0}}))}function Nt(e,t,n){const r=e.find((e=>Array.isArray(e)?e[0]===t:e===t));return r&&Array.isArray(r)&&r.length>1?r[1][n]:null}const Ft=[\"minimal\",\"fsharp\",\"hack\",\"smart\"],kt=[\"^^\",\"@@\",\"^\",\"%\",\"#\"],Lt=[\"hash\",\"bar\"],_t={estree:e=>class extends e{parse(){const e=S(super.parse());return this.options.tokens&&(e.tokens=e.tokens.map(S)),e}parseRegExpLiteral({pattern:e,flags:t}){let n=null;try{n=new RegExp(e,t)}catch(e){}const r=this.estreeParseLiteral(n);return r.regex={pattern:e,flags:t},r}parseBigIntLiteral(e){let t;try{t=BigInt(e)}catch(e){t=null}const n=this.estreeParseLiteral(t);return n.bigint=String(n.value||e),n}parseDecimalLiteral(e){const t=this.estreeParseLiteral(null);return t.decimal=String(t.value||e),t}estreeParseLiteral(e){return this.parseLiteral(e,\"Literal\")}parseStringLiteral(e){return this.estreeParseLiteral(e)}parseNumericLiteral(e){return this.estreeParseLiteral(e)}parseNullLiteral(){return this.estreeParseLiteral(null)}parseBooleanLiteral(e){return this.estreeParseLiteral(e)}directiveToStmt(e){const t=e.value;delete e.value,t.type=\"Literal\",t.raw=t.extra.raw,t.value=t.extra.expressionValue;const n=e;return n.type=\"ExpressionStatement\",n.expression=t,n.directive=t.extra.rawValue,delete t.extra,n}initFunction(e,t){super.initFunction(e,t),e.expression=!1}checkDeclaration(e){null!=e&&this.isObjectProperty(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}getObjectOrClassMethodParams(e){return e.value.params}isValidDirective(e){var t;return\"ExpressionStatement\"===e.type&&\"Literal\"===e.expression.type&&\"string\"==typeof e.expression.value&&!(null!=(t=e.expression.extra)&&t.parenthesized)}parseBlockBody(e,t,n,r,i){super.parseBlockBody(e,t,n,r,i);const s=e.directives.map((e=>this.directiveToStmt(e)));e.body=s.concat(e.body),delete e.directives}pushClassMethod(e,t,n,r,i,s){this.parseMethod(t,n,r,i,s,\"ClassMethod\",!0),t.typeParameters&&(t.value.typeParameters=t.typeParameters,delete t.typeParameters),e.body.push(t)}parsePrivateName(){const e=super.parsePrivateName();return this.getPluginOption(\"estree\",\"classFeatures\")?this.convertPrivateNameToPrivateIdentifier(e):e}convertPrivateNameToPrivateIdentifier(e){const t=super.getPrivateNameSV(e);return delete e.id,e.name=t,e.type=\"PrivateIdentifier\",e}isPrivateName(e){return this.getPluginOption(\"estree\",\"classFeatures\")?\"PrivateIdentifier\"===e.type:super.isPrivateName(e)}getPrivateNameSV(e){return this.getPluginOption(\"estree\",\"classFeatures\")?e.name:super.getPrivateNameSV(e)}parseLiteral(e,t){const n=super.parseLiteral(e,t);return n.raw=n.extra.raw,delete n.extra,n}parseFunctionBody(e,t,n=!1){super.parseFunctionBody(e,t,n),e.expression=\"BlockStatement\"!==e.body.type}parseMethod(e,t,n,r,i,s,a=!1){let o=this.startNode();return o.kind=e.kind,o=super.parseMethod(o,t,n,r,i,s,a),o.type=\"FunctionExpression\",delete o.kind,e.value=o,\"ClassPrivateMethod\"===s&&(e.computed=!1),this.finishNode(e,\"MethodDefinition\")}parseClassProperty(...e){const t=super.parseClassProperty(...e);return this.getPluginOption(\"estree\",\"classFeatures\")?(t.type=\"PropertyDefinition\",t):t}parseClassPrivateProperty(...e){const t=super.parseClassPrivateProperty(...e);return this.getPluginOption(\"estree\",\"classFeatures\")?(t.type=\"PropertyDefinition\",t.computed=!1,t):t}parseObjectMethod(e,t,n,r,i){const s=super.parseObjectMethod(e,t,n,r,i);return s&&(s.type=\"Property\",\"method\"===s.kind&&(s.kind=\"init\"),s.shorthand=!1),s}parseObjectProperty(e,t,n,r){const i=super.parseObjectProperty(e,t,n,r);return i&&(i.kind=\"init\",i.type=\"Property\"),i}isValidLVal(e,t,n){return\"Property\"===e?\"value\":super.isValidLVal(e,t,n)}isAssignable(e,t){return null!=e&&this.isObjectProperty(e)?this.isAssignable(e.value,t):super.isAssignable(e,t)}toAssignable(e,t=!1){if(null!=e&&this.isObjectProperty(e)){const{key:n,value:r}=e;this.isPrivateName(n)&&this.classScope.usePrivateName(this.getPrivateNameSV(n),n.loc.start),this.toAssignable(r,t)}else super.toAssignable(e,t)}toAssignableObjectExpressionProp(e,t,n){\"get\"===e.kind||\"set\"===e.kind?this.raise(g.PatternHasAccessor,{at:e.key}):e.method?this.raise(g.PatternHasMethod,{at:e.key}):super.toAssignableObjectExpressionProp(e,t,n)}finishCallExpression(e,t){const n=super.finishCallExpression(e,t);var r;\"Import\"===n.callee.type&&(n.type=\"ImportExpression\",n.source=n.arguments[0],(this.hasPlugin(\"importAttributes\")||this.hasPlugin(\"importAssertions\"))&&(n.attributes=null!=(r=n.arguments[1])?r:null),delete n.arguments,delete n.callee);return n}toReferencedArguments(e){\"ImportExpression\"!==e.type&&super.toReferencedArguments(e)}parseExport(e,t){const n=this.state.lastTokStartLoc,r=super.parseExport(e,t);switch(r.type){case\"ExportAllDeclaration\":r.exported=null;break;case\"ExportNamedDeclaration\":1===r.specifiers.length&&\"ExportNamespaceSpecifier\"===r.specifiers[0].type&&(r.type=\"ExportAllDeclaration\",r.exported=r.specifiers[0].exported,delete r.specifiers);case\"ExportDefaultDeclaration\":{var i;const{declaration:e}=r;\"ClassDeclaration\"===(null==e?void 0:e.type)&&(null==(i=e.decorators)?void 0:i.length)>0&&e.start===r.start&&this.resetStartLocation(r,n)}}return r}parseSubscript(e,t,n,r){const i=super.parseSubscript(e,t,n,r);if(r.optionalChainMember){if(\"OptionalMemberExpression\"!==i.type&&\"OptionalCallExpression\"!==i.type||(i.type=i.type.substring(8)),r.stop){const e=this.startNodeAtNode(i);return e.expression=i,this.finishNode(e,\"ChainExpression\")}}else\"MemberExpression\"!==i.type&&\"CallExpression\"!==i.type||(i.optional=!1);return i}hasPropertyAsPrivateName(e){return\"ChainExpression\"===e.type&&(e=e.expression),super.hasPropertyAsPrivateName(e)}isObjectProperty(e){return\"Property\"===e.type&&\"init\"===e.kind&&!e.method}isObjectMethod(e){return e.method||\"get\"===e.kind||\"set\"===e.kind}finishNodeAt(e,t,n){return S(super.finishNodeAt(e,t,n))}resetStartLocation(e,t){super.resetStartLocation(e,t),S(e)}resetEndLocation(e,t=this.state.lastTokEndLoc){super.resetEndLocation(e,t),S(e)}},jsx:e=>class extends e{jsxReadToken(){let e=\"\",t=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(ft.UnterminatedJsxContent,{at:this.state.startLoc});const n=this.input.charCodeAt(this.state.pos);switch(n){case 60:case 123:return this.state.pos===this.state.start?void(60===n&&this.state.canStartJSXElement?(++this.state.pos,this.finishToken(140)):super.getTokenFromCode(n)):(e+=this.input.slice(t,this.state.pos),void this.finishToken(139,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;default:Ce(n)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}}jsxReadNewLine(e){const t=this.input.charCodeAt(this.state.pos);let n;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,n=e?\"\\n\":\"\\r\\n\"):n=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(e){let t=\"\",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(g.UnterminatedString,{at:this.state.startLoc});const r=this.input.charCodeAt(this.state.pos);if(r===e)break;38===r?(t+=this.input.slice(n,this.state.pos),t+=this.jsxReadEntity(),n=this.state.pos):Ce(r)?(t+=this.input.slice(n,this.state.pos),t+=this.jsxReadNewLine(!1),n=this.state.pos):++this.state.pos}t+=this.input.slice(n,this.state.pos++),this.finishToken(131,t)}jsxReadEntity(){const e=++this.state.pos;if(35===this.codePointAtPos(this.state.pos)){++this.state.pos;let e=10;120===this.codePointAtPos(this.state.pos)&&(e=16,++this.state.pos);const t=this.readInt(e,void 0,!1,\"bail\");if(null!==t&&59===this.codePointAtPos(this.state.pos))return++this.state.pos,String.fromCodePoint(t)}else{let t=0,n=!1;for(;t++<10&&this.state.pos<this.length&&!(n=59==this.codePointAtPos(this.state.pos));)++this.state.pos;if(n){const t=this.input.slice(e,this.state.pos),n=dt[t];if(++this.state.pos,n)return n}}return this.state.pos=e,\"&\"}jsxReadWord(){let e;const t=this.state.pos;do{e=this.input.charCodeAt(++this.state.pos)}while(oe(e)||45===e);this.finishToken(138,this.input.slice(t,this.state.pos))}jsxParseIdentifier(){const e=this.startNode();return this.match(138)?e.name=this.state.value:J(this.state.type)?e.name=$(this.state.type):this.unexpected(),this.next(),this.finishNode(e,\"JSXIdentifier\")}jsxParseNamespacedName(){const e=this.state.startLoc,t=this.jsxParseIdentifier();if(!this.eat(14))return t;const n=this.startNodeAt(e);return n.namespace=t,n.name=this.jsxParseIdentifier(),this.finishNode(n,\"JSXNamespacedName\")}jsxParseElementName(){const e=this.state.startLoc;let t=this.jsxParseNamespacedName();if(\"JSXNamespacedName\"===t.type)return t;for(;this.eat(16);){const n=this.startNodeAt(e);n.object=t,n.property=this.jsxParseIdentifier(),t=this.finishNode(n,\"JSXMemberExpression\")}return t}jsxParseAttributeValue(){let e;switch(this.state.type){case 5:return e=this.startNode(),this.setContext(x.brace),this.next(),e=this.jsxParseExpressionContainer(e,x.j_oTag),\"JSXEmptyExpression\"===e.expression.type&&this.raise(ft.AttributeIsEmpty,{at:e}),e;case 140:case 131:return this.parseExprAtom();default:throw this.raise(ft.UnsupportedJsxValue,{at:this.state.startLoc})}}jsxParseEmptyExpression(){const e=this.startNodeAt(this.state.lastTokEndLoc);return this.finishNodeAt(e,\"JSXEmptyExpression\",this.state.startLoc)}jsxParseSpreadChild(e){return this.next(),e.expression=this.parseExpression(),this.setContext(x.j_expr),this.state.canStartJSXElement=!0,this.expect(8),this.finishNode(e,\"JSXSpreadChild\")}jsxParseExpressionContainer(e,t){if(this.match(8))e.expression=this.jsxParseEmptyExpression();else{const t=this.parseExpression();e.expression=t}return this.setContext(t),this.state.canStartJSXElement=!0,this.expect(8),this.finishNode(e,\"JSXExpressionContainer\")}jsxParseAttribute(){const e=this.startNode();return this.match(5)?(this.setContext(x.brace),this.next(),this.expect(21),e.argument=this.parseMaybeAssignAllowIn(),this.setContext(x.j_oTag),this.state.canStartJSXElement=!0,this.expect(8),this.finishNode(e,\"JSXSpreadAttribute\")):(e.name=this.jsxParseNamespacedName(),e.value=this.eat(29)?this.jsxParseAttributeValue():null,this.finishNode(e,\"JSXAttribute\"))}jsxParseOpeningElementAt(e){const t=this.startNodeAt(e);return this.eat(141)?this.finishNode(t,\"JSXOpeningFragment\"):(t.name=this.jsxParseElementName(),this.jsxParseOpeningElementAfterName(t))}jsxParseOpeningElementAfterName(e){const t=[];for(;!this.match(56)&&!this.match(141);)t.push(this.jsxParseAttribute());return e.attributes=t,e.selfClosing=this.eat(56),this.expect(141),this.finishNode(e,\"JSXOpeningElement\")}jsxParseClosingElementAt(e){const t=this.startNodeAt(e);return this.eat(141)?this.finishNode(t,\"JSXClosingFragment\"):(t.name=this.jsxParseElementName(),this.expect(141),this.finishNode(t,\"JSXClosingElement\"))}jsxParseElementAt(e){const t=this.startNodeAt(e),n=[],r=this.jsxParseOpeningElementAt(e);let i=null;if(!r.selfClosing){e:for(;;)switch(this.state.type){case 140:if(e=this.state.startLoc,this.next(),this.eat(56)){i=this.jsxParseClosingElementAt(e);break e}n.push(this.jsxParseElementAt(e));break;case 139:n.push(this.parseExprAtom());break;case 5:{const e=this.startNode();this.setContext(x.brace),this.next(),this.match(21)?n.push(this.jsxParseSpreadChild(e)):n.push(this.jsxParseExpressionContainer(e,x.j_expr));break}default:this.unexpected()}yt(r)&&!yt(i)&&null!==i?this.raise(ft.MissingClosingTagFragment,{at:i}):!yt(r)&&yt(i)?this.raise(ft.MissingClosingTagElement,{at:i,openingTagName:mt(r.name)}):yt(r)||yt(i)||mt(i.name)!==mt(r.name)&&this.raise(ft.MissingClosingTagElement,{at:i,openingTagName:mt(r.name)})}if(yt(r)?(t.openingFragment=r,t.closingFragment=i):(t.openingElement=r,t.closingElement=i),t.children=n,this.match(47))throw this.raise(ft.UnwrappedAdjacentJSXElements,{at:this.state.startLoc});return yt(r)?this.finishNode(t,\"JSXFragment\"):this.finishNode(t,\"JSXElement\")}jsxParseElement(){const e=this.state.startLoc;return this.next(),this.jsxParseElementAt(e)}setContext(e){const{context:t}=this.state;t[t.length-1]=e}parseExprAtom(e){return this.match(139)?this.parseLiteral(this.state.value,\"JSXText\"):this.match(140)?this.jsxParseElement():this.match(47)&&33!==this.input.charCodeAt(this.state.pos)?(this.replaceToken(140),this.jsxParseElement()):super.parseExprAtom(e)}skipSpace(){this.curContext().preserveSpace||super.skipSpace()}getTokenFromCode(e){const t=this.curContext();if(t!==x.j_expr){if(t===x.j_oTag||t===x.j_cTag){if(ae(e))return void this.jsxReadWord();if(62===e)return++this.state.pos,void this.finishToken(141);if((34===e||39===e)&&t===x.j_oTag)return void this.jsxReadString(e)}if(60===e&&this.state.canStartJSXElement&&33!==this.input.charCodeAt(this.state.pos+1))return++this.state.pos,void this.finishToken(140);super.getTokenFromCode(e)}else this.jsxReadToken()}updateContext(e){const{context:t,type:n}=this.state;if(56===n&&140===e)t.splice(-2,2,x.j_cTag),this.state.canStartJSXElement=!1;else if(140===n)t.push(x.j_oTag);else if(141===n){const n=t[t.length-1];n===x.j_oTag&&56===e||n===x.j_cTag?(t.pop(),this.state.canStartJSXElement=t[t.length-1]===x.j_expr):(this.setContext(x.j_expr),this.state.canStartJSXElement=!0)}else this.state.canStartJSXElement=B[n]}},flow:e=>class extends e{constructor(...e){super(...e),this.flowPragma=void 0}getScopeHandler(){return be}shouldParseTypes(){return this.getPluginOption(\"flow\",\"all\")||\"flow\"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption(\"flow\",\"enums\")}finishToken(e,t){131!==e&&13!==e&&28!==e&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(e,t)}addComment(e){if(void 0===this.flowPragma){const t=ht.exec(e.value);if(t)if(\"flow\"===t[1])this.flowPragma=\"flow\";else{if(\"noflow\"!==t[1])throw new Error(\"Unexpected flow pragma\");this.flowPragma=\"noflow\"}}super.addComment(e)}flowParseTypeInitialiser(e){const t=this.state.inType;this.state.inType=!0,this.expect(e||14);const n=this.flowParseType();return this.state.inType=t,n}flowParsePredicate(){const e=this.startNode(),t=this.state.startLoc;return this.next(),this.expectContextual(108),this.state.lastTokStart>t.index+1&&this.raise(ct.UnexpectedSpaceBetweenModuloChecks,{at:t}),this.eat(10)?(e.value=super.parseExpression(),this.expect(11),this.finishNode(e,\"DeclaredPredicate\")):this.finishNode(e,\"InferredPredicate\")}flowParseTypeAndPredicateInitialiser(){const e=this.state.inType;this.state.inType=!0,this.expect(14);let t=null,n=null;return this.match(54)?(this.state.inType=e,n=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(54)&&(n=this.flowParsePredicate())),[t,n]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,\"DeclareClass\")}flowParseDeclareFunction(e){this.next();const t=e.id=this.parseIdentifier(),n=this.startNode(),r=this.startNode();this.match(47)?n.typeParameters=this.flowParseTypeParameterDeclaration():n.typeParameters=null,this.expect(10);const i=this.flowParseFunctionTypeParams();return n.params=i.params,n.rest=i.rest,n.this=i._this,this.expect(11),[n.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),r.typeAnnotation=this.finishNode(n,\"FunctionTypeAnnotation\"),t.typeAnnotation=this.finishNode(r,\"TypeAnnotation\"),this.resetEndLocation(t),this.semicolon(),this.scope.declareName(e.id.name,2048,e.id.loc.start),this.finishNode(e,\"DeclareFunction\")}flowParseDeclare(e,t){return this.match(80)?this.flowParseDeclareClass(e):this.match(68)?this.flowParseDeclareFunction(e):this.match(74)?this.flowParseDeclareVariable(e):this.eatContextual(125)?this.match(16)?this.flowParseDeclareModuleExports(e):(t&&this.raise(ct.NestedDeclareModule,{at:this.state.lastTokStartLoc}),this.flowParseDeclareModule(e)):this.isContextual(128)?this.flowParseDeclareTypeAlias(e):this.isContextual(129)?this.flowParseDeclareOpaqueType(e):this.isContextual(127)?this.flowParseDeclareInterface(e):this.match(82)?this.flowParseDeclareExportDeclaration(e,t):void this.unexpected()}flowParseDeclareVariable(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(e.id.name,5,e.id.loc.start),this.semicolon(),this.finishNode(e,\"DeclareVariable\")}flowParseDeclareModule(e){this.scope.enter(0),this.match(131)?e.id=super.parseExprAtom():e.id=this.parseIdentifier();const t=e.body=this.startNode(),n=t.body=[];for(this.expect(5);!this.match(8);){let e=this.startNode();this.match(83)?(this.next(),this.isContextual(128)||this.match(87)||this.raise(ct.InvalidNonTypeImportInDeclareModule,{at:this.state.lastTokStartLoc}),super.parseImport(e)):(this.expectContextual(123,ct.UnsupportedStatementInDeclareModule),e=this.flowParseDeclare(e,!0)),n.push(e)}this.scope.exit(),this.expect(8),this.finishNode(t,\"BlockStatement\");let r=null,i=!1;return n.forEach((e=>{!function(e){return\"DeclareExportAllDeclaration\"===e.type||\"DeclareExportDeclaration\"===e.type&&(!e.declaration||\"TypeAlias\"!==e.declaration.type&&\"InterfaceDeclaration\"!==e.declaration.type)}(e)?\"DeclareModuleExports\"===e.type&&(i&&this.raise(ct.DuplicateDeclareModuleExports,{at:e}),\"ES\"===r&&this.raise(ct.AmbiguousDeclareModuleKind,{at:e}),r=\"CommonJS\",i=!0):(\"CommonJS\"===r&&this.raise(ct.AmbiguousDeclareModuleKind,{at:e}),r=\"ES\")})),e.kind=r||\"CommonJS\",this.finishNode(e,\"DeclareModule\")}flowParseDeclareExportDeclaration(e,t){if(this.expect(82),this.eat(65))return this.match(68)||this.match(80)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,\"DeclareExportDeclaration\");if(this.match(75)||this.isLet()||(this.isContextual(128)||this.isContextual(127))&&!t){const e=this.state.value;throw this.raise(ct.UnsupportedDeclareExportKind,{at:this.state.startLoc,unsupportedExportKind:e,suggestion:pt[e]})}return this.match(74)||this.match(68)||this.match(80)||this.isContextual(129)?(e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,\"DeclareExportDeclaration\")):this.match(55)||this.match(5)||this.isContextual(127)||this.isContextual(128)||this.isContextual(129)?(\"ExportNamedDeclaration\"===(e=this.parseExport(e,null)).type&&(e.type=\"ExportDeclaration\",e.default=!1,delete e.exportKind),e.type=\"Declare\"+e.type,e):void this.unexpected()}flowParseDeclareModuleExports(e){return this.next(),this.expectContextual(109),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,\"DeclareModuleExports\")}flowParseDeclareTypeAlias(e){this.next();const t=this.flowParseTypeAlias(e);return t.type=\"DeclareTypeAlias\",t}flowParseDeclareOpaqueType(e){this.next();const t=this.flowParseOpaqueType(e,!0);return t.type=\"DeclareOpaqueType\",t}flowParseDeclareInterface(e){return this.next(),this.flowParseInterfaceish(e,!1),this.finishNode(e,\"DeclareInterface\")}flowParseInterfaceish(e,t){if(e.id=this.flowParseRestrictedIdentifier(!t,!0),this.scope.declareName(e.id.name,t?17:8201,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],this.eat(81))do{e.extends.push(this.flowParseInterfaceExtends())}while(!t&&this.eat(12));if(t){if(e.implements=[],e.mixins=[],this.eatContextual(115))do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(12));if(this.eatContextual(111))do{e.implements.push(this.flowParseInterfaceExtends())}while(this.eat(12))}e.body=this.flowParseObjectType({allowStatic:t,allowExact:!1,allowSpread:!1,allowProto:t,allowInexact:!1})}flowParseInterfaceExtends(){const e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.match(47)?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,\"InterfaceExtends\")}flowParseInterface(e){return this.flowParseInterfaceish(e,!1),this.finishNode(e,\"InterfaceDeclaration\")}checkNotUnderscore(e){\"_\"===e&&this.raise(ct.UnexpectedReservedUnderscore,{at:this.state.startLoc})}checkReservedType(e,t,n){lt.has(e)&&this.raise(n?ct.AssignReservedType:ct.UnexpectedReservedType,{at:t,reservedType:e})}flowParseRestrictedIdentifier(e,t){return this.checkReservedType(this.state.value,this.state.startLoc,t),this.parseIdentifier(e)}flowParseTypeAlias(e){return e.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(e.id.name,8201,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(29),this.semicolon(),this.finishNode(e,\"TypeAlias\")}flowParseOpaqueType(e,t){return this.expectContextual(128),e.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(e.id.name,8201,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(14)&&(e.supertype=this.flowParseTypeInitialiser(14)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(29)),this.semicolon(),this.finishNode(e,\"OpaqueType\")}flowParseTypeParameter(e=!1){const t=this.state.startLoc,n=this.startNode(),r=this.flowParseVariance(),i=this.flowParseTypeAnnotatableIdentifier();return n.name=i.name,n.variance=r,n.bound=i.typeAnnotation,this.match(29)?(this.eat(29),n.default=this.flowParseType()):e&&this.raise(ct.MissingTypeParamDefault,{at:t}),this.finishNode(n,\"TypeParameter\")}flowParseTypeParameterDeclaration(){const e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.match(47)||this.match(140)?this.next():this.unexpected();let n=!1;do{const e=this.flowParseTypeParameter(n);t.params.push(e),e.default&&(n=!0),this.match(48)||this.expect(12)}while(!this.match(48));return this.expect(48),this.state.inType=e,this.finishNode(t,\"TypeParameterDeclaration\")}flowParseTypeParameterInstantiation(){const e=this.startNode(),t=this.state.inType;e.params=[],this.state.inType=!0,this.expect(47);const n=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.match(48);)e.params.push(this.flowParseType()),this.match(48)||this.expect(12);return this.state.noAnonFunctionType=n,this.expect(48),this.state.inType=t,this.finishNode(e,\"TypeParameterInstantiation\")}flowParseTypeParameterInstantiationCallOrNew(){const e=this.startNode(),t=this.state.inType;for(e.params=[],this.state.inType=!0,this.expect(47);!this.match(48);)e.params.push(this.flowParseTypeOrImplicitInstantiation()),this.match(48)||this.expect(12);return this.expect(48),this.state.inType=t,this.finishNode(e,\"TypeParameterInstantiation\")}flowParseInterfaceType(){const e=this.startNode();if(this.expectContextual(127),e.extends=[],this.eat(81))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(12));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,\"InterfaceTypeAnnotation\")}flowParseObjectPropertyKey(){return this.match(132)||this.match(131)?super.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,t,n){return e.static=t,14===this.lookahead().type?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(3),e.value=this.flowParseTypeInitialiser(),e.variance=n,this.finishNode(e,\"ObjectTypeIndexer\")}flowParseObjectTypeInternalSlot(e,t){return e.static=t,e.id=this.flowParseObjectPropertyKey(),this.expect(3),this.expect(3),this.match(47)||this.match(10)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.loc.start))):(e.method=!1,this.eat(17)&&(e.optional=!0),e.value=this.flowParseTypeInitialiser()),this.finishNode(e,\"ObjectTypeInternalSlot\")}flowParseObjectTypeMethodish(e){for(e.params=[],e.rest=null,e.typeParameters=null,e.this=null,this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(10),this.match(78)&&(e.this=this.flowParseFunctionTypeParam(!0),e.this.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)e.params.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(e.rest=this.flowParseFunctionTypeParam(!1)),this.expect(11),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,\"FunctionTypeAnnotation\")}flowParseObjectTypeCallProperty(e,t){const n=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(n),this.finishNode(e,\"ObjectTypeCallProperty\")}flowParseObjectType({allowStatic:e,allowExact:t,allowSpread:n,allowProto:r,allowInexact:i}){const s=this.state.inType;this.state.inType=!0;const a=this.startNode();let o,l;a.callProperties=[],a.properties=[],a.indexers=[],a.internalSlots=[];let c=!1;for(t&&this.match(6)?(this.expect(6),o=9,l=!0):(this.expect(5),o=8,l=!1),a.exact=l;!this.match(o);){let t=!1,s=null,o=null;const u=this.startNode();if(r&&this.isContextual(116)){const t=this.lookahead();14!==t.type&&17!==t.type&&(this.next(),s=this.state.startLoc,e=!1)}if(e&&this.isContextual(104)){const e=this.lookahead();14!==e.type&&17!==e.type&&(this.next(),t=!0)}const p=this.flowParseVariance();if(this.eat(0))null!=s&&this.unexpected(s),this.eat(0)?(p&&this.unexpected(p.loc.start),a.internalSlots.push(this.flowParseObjectTypeInternalSlot(u,t))):a.indexers.push(this.flowParseObjectTypeIndexer(u,t,p));else if(this.match(10)||this.match(47))null!=s&&this.unexpected(s),p&&this.unexpected(p.loc.start),a.callProperties.push(this.flowParseObjectTypeCallProperty(u,t));else{let e=\"init\";(this.isContextual(98)||this.isContextual(103))&&Y(this.lookahead().type)&&(e=this.state.value,this.next());const r=this.flowParseObjectTypeProperty(u,t,s,p,e,n,null!=i?i:!l);null===r?(c=!0,o=this.state.lastTokStartLoc):a.properties.push(r)}this.flowObjectTypeSemicolon(),!o||this.match(8)||this.match(9)||this.raise(ct.UnexpectedExplicitInexactInObject,{at:o})}this.expect(o),n&&(a.inexact=c);const u=this.finishNode(a,\"ObjectTypeAnnotation\");return this.state.inType=s,u}flowParseObjectTypeProperty(e,t,n,r,i,s,a){if(this.eat(21))return this.match(12)||this.match(13)||this.match(8)||this.match(9)?(s?a||this.raise(ct.InexactInsideExact,{at:this.state.lastTokStartLoc}):this.raise(ct.InexactInsideNonObject,{at:this.state.lastTokStartLoc}),r&&this.raise(ct.InexactVariance,{at:r}),null):(s||this.raise(ct.UnexpectedSpreadType,{at:this.state.lastTokStartLoc}),null!=n&&this.unexpected(n),r&&this.raise(ct.SpreadVariance,{at:r}),e.argument=this.flowParseType(),this.finishNode(e,\"ObjectTypeSpreadProperty\"));{e.key=this.flowParseObjectPropertyKey(),e.static=t,e.proto=null!=n,e.kind=i;let a=!1;return this.match(47)||this.match(10)?(e.method=!0,null!=n&&this.unexpected(n),r&&this.unexpected(r.loc.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.loc.start)),\"get\"!==i&&\"set\"!==i||this.flowCheckGetterSetterParams(e),!s&&\"constructor\"===e.key.name&&e.value.this&&this.raise(ct.ThisParamBannedInConstructor,{at:e.value.this})):(\"init\"!==i&&this.unexpected(),e.method=!1,this.eat(17)&&(a=!0),e.value=this.flowParseTypeInitialiser(),e.variance=r),e.optional=a,this.finishNode(e,\"ObjectTypeProperty\")}}flowCheckGetterSetterParams(e){const t=\"get\"===e.kind?0:1,n=e.value.params.length+(e.value.rest?1:0);e.value.this&&this.raise(\"get\"===e.kind?ct.GetterMayNotHaveThisParam:ct.SetterMayNotHaveThisParam,{at:e.value.this}),n!==t&&this.raise(\"get\"===e.kind?g.BadGetterArity:g.BadSetterArity,{at:e}),\"set\"===e.kind&&e.value.rest&&this.raise(g.BadSetterRestParameter,{at:e})}flowObjectTypeSemicolon(){this.eat(13)||this.eat(12)||this.match(8)||this.match(9)||this.unexpected()}flowParseQualifiedTypeIdentifier(e,t){null!=e||(e=this.state.startLoc);let n=t||this.flowParseRestrictedIdentifier(!0);for(;this.eat(16);){const t=this.startNodeAt(e);t.qualification=n,t.id=this.flowParseRestrictedIdentifier(!0),n=this.finishNode(t,\"QualifiedTypeIdentifier\")}return n}flowParseGenericType(e,t){const n=this.startNodeAt(e);return n.typeParameters=null,n.id=this.flowParseQualifiedTypeIdentifier(e,t),this.match(47)&&(n.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(n,\"GenericTypeAnnotation\")}flowParseTypeofType(){const e=this.startNode();return this.expect(87),e.argument=this.flowParsePrimaryType(),this.finishNode(e,\"TypeofTypeAnnotation\")}flowParseTupleType(){const e=this.startNode();for(e.types=[],this.expect(0);this.state.pos<this.length&&!this.match(3)&&(e.types.push(this.flowParseType()),!this.match(3));)this.expect(12);return this.expect(3),this.finishNode(e,\"TupleTypeAnnotation\")}flowParseFunctionTypeParam(e){let t=null,n=!1,r=null;const i=this.startNode(),s=this.lookahead(),a=78===this.state.type;return 14===s.type||17===s.type?(a&&!e&&this.raise(ct.ThisParamMustBeFirst,{at:i}),t=this.parseIdentifier(a),this.eat(17)&&(n=!0,a&&this.raise(ct.ThisParamMayNotBeOptional,{at:i})),r=this.flowParseTypeInitialiser()):r=this.flowParseType(),i.name=t,i.optional=n,i.typeAnnotation=r,this.finishNode(i,\"FunctionTypeParam\")}reinterpretTypeAsFunctionTypeParam(e){const t=this.startNodeAt(e.loc.start);return t.name=null,t.optional=!1,t.typeAnnotation=e,this.finishNode(t,\"FunctionTypeParam\")}flowParseFunctionTypeParams(e=[]){let t=null,n=null;for(this.match(78)&&(n=this.flowParseFunctionTypeParam(!0),n.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)e.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(t=this.flowParseFunctionTypeParam(!1)),{params:e,rest:t,_this:n}}flowIdentToTypeAnnotation(e,t,n){switch(n.name){case\"any\":return this.finishNode(t,\"AnyTypeAnnotation\");case\"bool\":case\"boolean\":return this.finishNode(t,\"BooleanTypeAnnotation\");case\"mixed\":return this.finishNode(t,\"MixedTypeAnnotation\");case\"empty\":return this.finishNode(t,\"EmptyTypeAnnotation\");case\"number\":return this.finishNode(t,\"NumberTypeAnnotation\");case\"string\":return this.finishNode(t,\"StringTypeAnnotation\");case\"symbol\":return this.finishNode(t,\"SymbolTypeAnnotation\");default:return this.checkNotUnderscore(n.name),this.flowParseGenericType(e,n)}}flowParsePrimaryType(){const e=this.state.startLoc,t=this.startNode();let n,r,i=!1;const s=this.state.noAnonFunctionType;switch(this.state.type){case 5:return this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!0,allowProto:!1,allowInexact:!0});case 6:return this.flowParseObjectType({allowStatic:!1,allowExact:!0,allowSpread:!0,allowProto:!1,allowInexact:!1});case 0:return this.state.noAnonFunctionType=!1,r=this.flowParseTupleType(),this.state.noAnonFunctionType=s,r;case 47:return t.typeParameters=this.flowParseTypeParameterDeclaration(),this.expect(10),n=this.flowParseFunctionTypeParams(),t.params=n.params,t.rest=n.rest,t.this=n._this,this.expect(11),this.expect(19),t.returnType=this.flowParseType(),this.finishNode(t,\"FunctionTypeAnnotation\");case 10:if(this.next(),!this.match(11)&&!this.match(21))if(W(this.state.type)||this.match(78)){const e=this.lookahead().type;i=17!==e&&14!==e}else i=!0;if(i){if(this.state.noAnonFunctionType=!1,r=this.flowParseType(),this.state.noAnonFunctionType=s,this.state.noAnonFunctionType||!(this.match(12)||this.match(11)&&19===this.lookahead().type))return this.expect(11),r;this.eat(12)}return n=r?this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(r)]):this.flowParseFunctionTypeParams(),t.params=n.params,t.rest=n.rest,t.this=n._this,this.expect(11),this.expect(19),t.returnType=this.flowParseType(),t.typeParameters=null,this.finishNode(t,\"FunctionTypeAnnotation\");case 131:return this.parseLiteral(this.state.value,\"StringLiteralTypeAnnotation\");case 85:case 86:return t.value=this.match(85),this.next(),this.finishNode(t,\"BooleanLiteralTypeAnnotation\");case 53:if(\"-\"===this.state.value){if(this.next(),this.match(132))return this.parseLiteralAtNode(-this.state.value,\"NumberLiteralTypeAnnotation\",t);if(this.match(133))return this.parseLiteralAtNode(-this.state.value,\"BigIntLiteralTypeAnnotation\",t);throw this.raise(ct.UnexpectedSubtractionOperand,{at:this.state.startLoc})}return void this.unexpected();case 132:return this.parseLiteral(this.state.value,\"NumberLiteralTypeAnnotation\");case 133:return this.parseLiteral(this.state.value,\"BigIntLiteralTypeAnnotation\");case 88:return this.next(),this.finishNode(t,\"VoidTypeAnnotation\");case 84:return this.next(),this.finishNode(t,\"NullLiteralTypeAnnotation\");case 78:return this.next(),this.finishNode(t,\"ThisTypeAnnotation\");case 55:return this.next(),this.finishNode(t,\"ExistsTypeAnnotation\");case 87:return this.flowParseTypeofType();default:if(J(this.state.type)){const e=$(this.state.type);return this.next(),super.createIdentifier(t,e)}if(W(this.state.type))return this.isContextual(127)?this.flowParseInterfaceType():this.flowIdentToTypeAnnotation(e,t,this.parseIdentifier())}this.unexpected()}flowParsePostfixType(){const e=this.state.startLoc;let t=this.flowParsePrimaryType(),n=!1;for(;(this.match(0)||this.match(18))&&!this.canInsertSemicolon();){const r=this.startNodeAt(e),i=this.eat(18);n=n||i,this.expect(0),!i&&this.match(3)?(r.elementType=t,this.next(),t=this.finishNode(r,\"ArrayTypeAnnotation\")):(r.objectType=t,r.indexType=this.flowParseType(),this.expect(3),n?(r.optional=i,t=this.finishNode(r,\"OptionalIndexedAccessType\")):t=this.finishNode(r,\"IndexedAccessType\"))}return t}flowParsePrefixType(){const e=this.startNode();return this.eat(17)?(e.typeAnnotation=this.flowParsePrefixType(),this.finishNode(e,\"NullableTypeAnnotation\")):this.flowParsePostfixType()}flowParseAnonFunctionWithoutParens(){const e=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(19)){const t=this.startNodeAt(e.loc.start);return t.params=[this.reinterpretTypeAsFunctionTypeParam(e)],t.rest=null,t.this=null,t.returnType=this.flowParseType(),t.typeParameters=null,this.finishNode(t,\"FunctionTypeAnnotation\")}return e}flowParseIntersectionType(){const e=this.startNode();this.eat(45);const t=this.flowParseAnonFunctionWithoutParens();for(e.types=[t];this.eat(45);)e.types.push(this.flowParseAnonFunctionWithoutParens());return 1===e.types.length?t:this.finishNode(e,\"IntersectionTypeAnnotation\")}flowParseUnionType(){const e=this.startNode();this.eat(43);const t=this.flowParseIntersectionType();for(e.types=[t];this.eat(43);)e.types.push(this.flowParseIntersectionType());return 1===e.types.length?t:this.finishNode(e,\"UnionTypeAnnotation\")}flowParseType(){const e=this.state.inType;this.state.inType=!0;const t=this.flowParseUnionType();return this.state.inType=e,t}flowParseTypeOrImplicitInstantiation(){if(130===this.state.type&&\"_\"===this.state.value){const e=this.state.startLoc,t=this.parseIdentifier();return this.flowParseGenericType(e,t)}return this.flowParseType()}flowParseTypeAnnotation(){const e=this.startNode();return e.typeAnnotation=this.flowParseTypeInitialiser(),this.finishNode(e,\"TypeAnnotation\")}flowParseTypeAnnotatableIdentifier(e){const t=e?this.parseIdentifier():this.flowParseRestrictedIdentifier();return this.match(14)&&(t.typeAnnotation=this.flowParseTypeAnnotation(),this.resetEndLocation(t)),t}typeCastToParameter(e){return e.expression.typeAnnotation=e.typeAnnotation,this.resetEndLocation(e.expression,e.typeAnnotation.loc.end),e.expression}flowParseVariance(){let e=null;return this.match(53)?(e=this.startNode(),\"+\"===this.state.value?e.kind=\"plus\":e.kind=\"minus\",this.next(),this.finishNode(e,\"Variance\")):e}parseFunctionBody(e,t,n=!1){t?this.forwardNoArrowParamsConversionAt(e,(()=>super.parseFunctionBody(e,!0,n))):super.parseFunctionBody(e,!1,n)}parseFunctionBodyAndFinish(e,t,n=!1){if(this.match(14)){const t=this.startNode();[t.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),e.returnType=t.typeAnnotation?this.finishNode(t,\"TypeAnnotation\"):null}return super.parseFunctionBodyAndFinish(e,t,n)}parseStatementLike(e){if(this.state.strict&&this.isContextual(127)){if(X(this.lookahead().type)){const e=this.startNode();return this.next(),this.flowParseInterface(e)}}else if(this.shouldParseEnums()&&this.isContextual(124)){const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}const t=super.parseStatementLike(e);return void 0!==this.flowPragma||this.isValidDirective(t)||(this.flowPragma=null),t}parseExpressionStatement(e,t,n){if(\"Identifier\"===t.type)if(\"declare\"===t.name){if(this.match(80)||W(this.state.type)||this.match(68)||this.match(74)||this.match(82))return this.flowParseDeclare(e)}else if(W(this.state.type)){if(\"interface\"===t.name)return this.flowParseInterface(e);if(\"type\"===t.name)return this.flowParseTypeAlias(e);if(\"opaque\"===t.name)return this.flowParseOpaqueType(e,!1)}return super.parseExpressionStatement(e,t,n)}shouldParseExportDeclaration(){const{type:e}=this.state;return H(e)||this.shouldParseEnums()&&124===e?!this.state.containsEsc:super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){const{type:e}=this.state;return H(e)||this.shouldParseEnums()&&124===e?this.state.containsEsc:super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual(124)){const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDefaultExpression()}parseConditional(e,t,n){if(!this.match(17))return e;if(this.state.maybeInArrowParameters){const t=this.lookaheadCharCode();if(44===t||61===t||58===t||41===t)return this.setOptionalParametersError(n),e}this.expect(17);const r=this.state.clone(),i=this.state.noArrowAt,s=this.startNodeAt(t);let{consequent:a,failed:o}=this.tryParseConditionalConsequent(),[l,c]=this.getArrowLikeExpressions(a);if(o||c.length>0){const e=[...i];if(c.length>0){this.state=r,this.state.noArrowAt=e;for(let t=0;t<c.length;t++)e.push(c[t].start);({consequent:a,failed:o}=this.tryParseConditionalConsequent()),[l,c]=this.getArrowLikeExpressions(a)}o&&l.length>1&&this.raise(ct.AmbiguousConditionalArrow,{at:r.startLoc}),o&&1===l.length&&(this.state=r,e.push(l[0].start),this.state.noArrowAt=e,({consequent:a,failed:o}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(a,!0),this.state.noArrowAt=i,this.expect(14),s.test=e,s.consequent=a,s.alternate=this.forwardNoArrowParamsConversionAt(s,(()=>this.parseMaybeAssign(void 0,void 0))),this.finishNode(s,\"ConditionalExpression\")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const e=this.parseMaybeAssignAllowIn(),t=!this.match(14);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:t}}getArrowLikeExpressions(e,t){const n=[e],r=[];for(;0!==n.length;){const e=n.pop();\"ArrowFunctionExpression\"===e.type?(e.typeParameters||!e.returnType?this.finishArrowValidation(e):r.push(e),n.push(e.body)):\"ConditionalExpression\"===e.type&&(n.push(e.consequent),n.push(e.alternate))}return t?(r.forEach((e=>this.finishArrowValidation(e))),[r,[]]):function(e,t){const n=[],r=[];for(let i=0;i<e.length;i++)(t(e[i])?n:r).push(e[i]);return[n,r]}(r,(e=>e.params.every((e=>this.isAssignable(e,!0)))))}finishArrowValidation(e){var t;this.toAssignableList(e.params,null==(t=e.extra)?void 0:t.trailingCommaLoc,!1),this.scope.enter(6),super.checkParams(e,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(e,t){let n;return-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),n=t(),this.state.noArrowParamsConversionAt.pop()):n=t(),n}parseParenItem(e,t){if(e=super.parseParenItem(e,t),this.eat(17)&&(e.optional=!0,this.resetEndLocation(e)),this.match(14)){const n=this.startNodeAt(t);return n.expression=e,n.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(n,\"TypeCastExpression\")}return e}assertModuleNodeAllowed(e){\"ImportDeclaration\"===e.type&&(\"type\"===e.importKind||\"typeof\"===e.importKind)||\"ExportNamedDeclaration\"===e.type&&\"type\"===e.exportKind||\"ExportAllDeclaration\"===e.type&&\"type\"===e.exportKind||super.assertModuleNodeAllowed(e)}parseExportDeclaration(e){if(this.isContextual(128)){e.exportKind=\"type\";const t=this.startNode();return this.next(),this.match(5)?(e.specifiers=this.parseExportSpecifiers(!0),super.parseExportFrom(e),null):this.flowParseTypeAlias(t)}if(this.isContextual(129)){e.exportKind=\"type\";const t=this.startNode();return this.next(),this.flowParseOpaqueType(t,!1)}if(this.isContextual(127)){e.exportKind=\"type\";const t=this.startNode();return this.next(),this.flowParseInterface(t)}if(this.shouldParseEnums()&&this.isContextual(124)){e.exportKind=\"value\";const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}return super.parseExportDeclaration(e)}eatExportStar(e){return!!super.eatExportStar(e)||!(!this.isContextual(128)||55!==this.lookahead().type)&&(e.exportKind=\"type\",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(e){const{startLoc:t}=this.state,n=super.maybeParseExportNamespaceSpecifier(e);return n&&\"type\"===e.exportKind&&this.unexpected(t),n}parseClassId(e,t,n){super.parseClassId(e,t,n),this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,t,n){const{startLoc:r}=this.state;if(this.isContextual(123)){if(super.parseClassMemberFromModifier(e,t))return;t.declare=!0}super.parseClassMember(e,t,n),t.declare&&(\"ClassProperty\"!==t.type&&\"ClassPrivateProperty\"!==t.type&&\"PropertyDefinition\"!==t.type?this.raise(ct.DeclareClassElement,{at:r}):t.value&&this.raise(ct.DeclareClassFieldInitializer,{at:t.value}))}isIterator(e){return\"iterator\"===e||\"asyncIterator\"===e}readIterator(){const e=super.readWord1(),t=\"@@\"+e;this.isIterator(e)&&this.state.inType||this.raise(g.InvalidIdentifier,{at:this.state.curPosition(),identifierName:t}),this.finishToken(130,t)}getTokenFromCode(e){const t=this.input.charCodeAt(this.state.pos+1);123===e&&124===t?this.finishOp(6,2):!this.state.inType||62!==e&&60!==e?this.state.inType&&63===e?46===t?this.finishOp(18,2):this.finishOp(17,1):function(e,t,n){return 64===e&&64===t&&ae(n)}(e,t,this.input.charCodeAt(this.state.pos+2))?(this.state.pos+=2,this.readIterator()):super.getTokenFromCode(e):this.finishOp(62===e?48:47,1)}isAssignable(e,t){return\"TypeCastExpression\"===e.type?this.isAssignable(e.expression,t):super.isAssignable(e,t)}toAssignable(e,t=!1){t||\"AssignmentExpression\"!==e.type||\"TypeCastExpression\"!==e.left.type||(e.left=this.typeCastToParameter(e.left)),super.toAssignable(e,t)}toAssignableList(e,t,n){for(let t=0;t<e.length;t++){const n=e[t];\"TypeCastExpression\"===(null==n?void 0:n.type)&&(e[t]=this.typeCastToParameter(n))}super.toAssignableList(e,t,n)}toReferencedList(e,t){for(let r=0;r<e.length;r++){var n;const i=e[r];!i||\"TypeCastExpression\"!==i.type||null!=(n=i.extra)&&n.parenthesized||!(e.length>1)&&t||this.raise(ct.TypeCastInPattern,{at:i.typeAnnotation})}return e}parseArrayLike(e,t,n,r){const i=super.parseArrayLike(e,t,n,r);return t&&!this.state.maybeInArrowParameters&&this.toReferencedList(i.elements),i}isValidLVal(e,t,n){return\"TypeCastExpression\"===e||super.isValidLVal(e,t,n)}parseClassProperty(e){return this.match(14)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(e)}parseClassPrivateProperty(e){return this.match(14)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(e)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(14)||super.isClassProperty()}isNonstaticConstructor(e){return!this.match(14)&&super.isNonstaticConstructor(e)}pushClassMethod(e,t,n,r,i,s){if(t.variance&&this.unexpected(t.variance.loc.start),delete t.variance,this.match(47)&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,t,n,r,i,s),t.params&&i){const e=t.params;e.length>0&&this.isThisParam(e[0])&&this.raise(ct.ThisParamBannedInConstructor,{at:t})}else if(\"MethodDefinition\"===t.type&&i&&t.value.params){const e=t.value.params;e.length>0&&this.isThisParam(e[0])&&this.raise(ct.ThisParamBannedInConstructor,{at:t})}}pushClassPrivateMethod(e,t,n,r){t.variance&&this.unexpected(t.variance.loc.start),delete t.variance,this.match(47)&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,t,n,r)}parseClassSuper(e){if(super.parseClassSuper(e),e.superClass&&this.match(47)&&(e.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual(111)){this.next();const t=e.implements=[];do{const e=this.startNode();e.id=this.flowParseRestrictedIdentifier(!0),this.match(47)?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,t.push(this.finishNode(e,\"ClassImplements\"))}while(this.eat(12))}}checkGetterSetterParams(e){super.checkGetterSetterParams(e);const t=this.getObjectOrClassMethodParams(e);if(t.length>0){const n=t[0];this.isThisParam(n)&&\"get\"===e.kind?this.raise(ct.GetterMayNotHaveThisParam,{at:n}):this.isThisParam(n)&&this.raise(ct.SetterMayNotHaveThisParam,{at:n})}}parsePropertyNamePrefixOperator(e){e.variance=this.flowParseVariance()}parseObjPropValue(e,t,n,r,i,s,a){let o;e.variance&&this.unexpected(e.variance.loc.start),delete e.variance,this.match(47)&&!s&&(o=this.flowParseTypeParameterDeclaration(),this.match(10)||this.unexpected());const l=super.parseObjPropValue(e,t,n,r,i,s,a);return o&&((l.value||l).typeParameters=o),l}parseAssignableListItemTypes(e){return this.eat(17)&&(\"Identifier\"!==e.type&&this.raise(ct.PatternIsOptional,{at:e}),this.isThisParam(e)&&this.raise(ct.ThisParamMayNotBeOptional,{at:e}),e.optional=!0),this.match(14)?e.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(e)&&this.raise(ct.ThisParamAnnotationRequired,{at:e}),this.match(29)&&this.isThisParam(e)&&this.raise(ct.ThisParamNoDefault,{at:e}),this.resetEndLocation(e),e}parseMaybeDefault(e,t){const n=super.parseMaybeDefault(e,t);return\"AssignmentPattern\"===n.type&&n.typeAnnotation&&n.right.start<n.typeAnnotation.start&&this.raise(ct.TypeBeforeInitializer,{at:n.typeAnnotation}),n}checkImportReflection(e){super.checkImportReflection(e),e.module&&\"value\"!==e.importKind&&this.raise(ct.ImportReflectionHasImportType,{at:e.specifiers[0].loc.start})}parseImportSpecifierLocal(e,t,n){t.local=ut(e)?this.flowParseRestrictedIdentifier(!0,!0):this.parseIdentifier(),e.specifiers.push(this.finishImportSpecifier(t,n))}isPotentialImportPhase(e){if(super.isPotentialImportPhase(e))return!0;if(this.isContextual(128)){if(!e)return!0;const t=this.lookaheadCharCode();return 123===t||42===t}return!e&&this.isContextual(87)}applyImportPhase(e,t,n,r){if(super.applyImportPhase(e,t,n,r),t){if(!n&&this.match(65))return;e.exportKind=\"type\"===n?n:\"value\"}else\"type\"===n&&this.match(55)&&this.unexpected(),e.importKind=\"type\"===n||\"typeof\"===n?n:\"value\"}parseImportSpecifier(e,t,n,r,i){const s=e.imported;let a=null;\"Identifier\"===s.type&&(\"type\"===s.name?a=\"type\":\"typeof\"===s.name&&(a=\"typeof\"));let o=!1;if(this.isContextual(93)&&!this.isLookaheadContextual(\"as\")){const t=this.parseIdentifier(!0);null===a||X(this.state.type)?(e.imported=s,e.importKind=null,e.local=this.parseIdentifier()):(e.imported=t,e.importKind=a,e.local=at(t))}else{if(null!==a&&X(this.state.type))e.imported=this.parseIdentifier(!0),e.importKind=a;else{if(t)throw this.raise(g.ImportBindingIsString,{at:e,importName:s.value});e.imported=s,e.importKind=null}this.eatContextual(93)?e.local=this.parseIdentifier():(o=!0,e.local=at(e.imported))}const l=ut(e);return n&&l&&this.raise(ct.ImportTypeShorthandOnlyInPureImport,{at:e}),(n||l)&&this.checkReservedType(e.local.name,e.local.loc.start,!0),!o||n||l||this.checkReservedWord(e.local.name,e.loc.start,!0,!0),this.finishImportSpecifier(e,\"ImportSpecifier\")}parseBindingAtom(){return 78===this.state.type?this.parseIdentifier(!0):super.parseBindingAtom()}parseFunctionParams(e,t){const n=e.kind;\"get\"!==n&&\"set\"!==n&&this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),this.match(14)&&(e.id.typeAnnotation=this.flowParseTypeAnnotation(),this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){if(this.match(14)){const t=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0,e.returnType=this.flowParseTypeAnnotation(),this.state.noAnonFunctionType=t}return super.parseAsyncArrowFromCallExpression(e,t)}shouldParseAsyncArrow(){return this.match(14)||super.shouldParseAsyncArrow()}parseMaybeAssign(e,t){var n;let r,i=null;if(this.hasPlugin(\"jsx\")&&(this.match(140)||this.match(47))){if(i=this.state.clone(),r=this.tryParse((()=>super.parseMaybeAssign(e,t)),i),!r.error)return r.node;const{context:n}=this.state,s=n[n.length-1];s!==x.j_oTag&&s!==x.j_expr||n.pop()}if(null!=(n=r)&&n.error||this.match(47)){var s,a;let n;i=i||this.state.clone();const o=this.tryParse((r=>{var i;n=this.flowParseTypeParameterDeclaration();const s=this.forwardNoArrowParamsConversionAt(n,(()=>{const r=super.parseMaybeAssign(e,t);return this.resetStartLocationFromNode(r,n),r}));null!=(i=s.extra)&&i.parenthesized&&r();const a=this.maybeUnwrapTypeCastExpression(s);return\"ArrowFunctionExpression\"!==a.type&&r(),a.typeParameters=n,this.resetStartLocationFromNode(a,n),s}),i);let l=null;if(o.node&&\"ArrowFunctionExpression\"===this.maybeUnwrapTypeCastExpression(o.node).type){if(!o.error&&!o.aborted)return o.node.async&&this.raise(ct.UnexpectedTypeParameterBeforeAsyncArrowFunction,{at:n}),o.node;l=o.node}if(null!=(s=r)&&s.node)return this.state=r.failState,r.node;if(l)return this.state=o.failState,l;if(null!=(a=r)&&a.thrown)throw r.error;if(o.thrown)throw o.error;throw this.raise(ct.UnexpectedTokenAfterTypeParameter,{at:n})}return super.parseMaybeAssign(e,t)}parseArrow(e){if(this.match(14)){const t=this.tryParse((()=>{const t=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const n=this.startNode();return[n.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=t,this.canInsertSemicolon()&&this.unexpected(),this.match(19)||this.unexpected(),n}));if(t.thrown)return null;t.error&&(this.state=t.failState),e.returnType=t.node.typeAnnotation?this.finishNode(t.node,\"TypeAnnotation\"):null}return super.parseArrow(e)}shouldParseArrow(e){return this.match(14)||super.shouldParseArrow(e)}setArrowFunctionParameters(e,t){-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?e.params=t:super.setArrowFunctionParameters(e,t)}checkParams(e,t,n,r=!0){if(!n||-1===this.state.noArrowParamsConversionAt.indexOf(e.start)){for(let t=0;t<e.params.length;t++)this.isThisParam(e.params[t])&&t>0&&this.raise(ct.ThisParamMustBeFirst,{at:e.params[t]});super.checkParams(e,t,n,r)}}parseParenAndDistinguishExpression(e){return super.parseParenAndDistinguishExpression(e&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(e,t,n){if(\"Identifier\"===e.type&&\"async\"===e.name&&-1!==this.state.noArrowAt.indexOf(t.index)){this.next();const n=this.startNodeAt(t);n.callee=e,n.arguments=super.parseCallExpressionArguments(11,!1),e=this.finishNode(n,\"CallExpression\")}else if(\"Identifier\"===e.type&&\"async\"===e.name&&this.match(47)){const r=this.state.clone(),i=this.tryParse((e=>this.parseAsyncArrowWithTypeParameters(t)||e()),r);if(!i.error&&!i.aborted)return i.node;const s=this.tryParse((()=>super.parseSubscripts(e,t,n)),r);if(s.node&&!s.error)return s.node;if(i.node)return this.state=i.failState,i.node;if(s.node)return this.state=s.failState,s.node;throw i.error||s.error}return super.parseSubscripts(e,t,n)}parseSubscript(e,t,n,r){if(this.match(18)&&this.isLookaheadToken_lt()){if(r.optionalChainMember=!0,n)return r.stop=!0,e;this.next();const i=this.startNodeAt(t);return i.callee=e,i.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(10),i.arguments=this.parseCallExpressionArguments(11,!1),i.optional=!0,this.finishCallExpression(i,!0)}if(!n&&this.shouldParseTypes()&&this.match(47)){const n=this.startNodeAt(t);n.callee=e;const i=this.tryParse((()=>(n.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(10),n.arguments=super.parseCallExpressionArguments(11,!1),r.optionalChainMember&&(n.optional=!1),this.finishCallExpression(n,r.optionalChainMember))));if(i.node)return i.error&&(this.state=i.failState),i.node}return super.parseSubscript(e,t,n,r)}parseNewCallee(e){super.parseNewCallee(e);let t=null;this.shouldParseTypes()&&this.match(47)&&(t=this.tryParse((()=>this.flowParseTypeParameterInstantiationCallOrNew())).node),e.typeArguments=t}parseAsyncArrowWithTypeParameters(e){const t=this.startNodeAt(e);if(this.parseFunctionParams(t,!1),this.parseArrow(t))return super.parseArrowExpression(t,void 0,!0)}readToken_mult_modulo(e){const t=this.input.charCodeAt(this.state.pos+1);if(42===e&&47===t&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(e)}readToken_pipe_amp(e){const t=this.input.charCodeAt(this.state.pos+1);124!==e||125!==t?super.readToken_pipe_amp(e):this.finishOp(9,2)}parseTopLevel(e,t){const n=super.parseTopLevel(e,t);return this.state.hasFlowComment&&this.raise(ct.UnterminatedFlowComment,{at:this.state.curPosition()}),n}skipBlockComment(){if(!this.hasPlugin(\"flowComments\")||!this.skipFlowComment())return super.skipBlockComment(this.state.hasFlowComment?\"*-/\":\"*/\");{if(this.state.hasFlowComment)throw this.raise(ct.NestedFlowComment,{at:this.state.startLoc});this.hasFlowCommentCompletion();const e=this.skipFlowComment();e&&(this.state.pos+=e,this.state.hasFlowComment=!0)}}skipFlowComment(){const{pos:e}=this.state;let t=2;for(;[32,9].includes(this.input.charCodeAt(e+t));)t++;const n=this.input.charCodeAt(t+e),r=this.input.charCodeAt(t+e+1);return 58===n&&58===r?t+2:\"flow-include\"===this.input.slice(t+e,t+e+12)?t+12:58===n&&58!==r&&t}hasFlowCommentCompletion(){if(-1===this.input.indexOf(\"*/\",this.state.pos))throw this.raise(g.UnterminatedComment,{at:this.state.curPosition()})}flowEnumErrorBooleanMemberNotInitialized(e,{enumName:t,memberName:n}){this.raise(ct.EnumBooleanMemberNotInitialized,{at:e,memberName:n,enumName:t})}flowEnumErrorInvalidMemberInitializer(e,t){return this.raise(t.explicitType?\"symbol\"===t.explicitType?ct.EnumInvalidMemberInitializerSymbolType:ct.EnumInvalidMemberInitializerPrimaryType:ct.EnumInvalidMemberInitializerUnknownType,Object.assign({at:e},t))}flowEnumErrorNumberMemberNotInitialized(e,{enumName:t,memberName:n}){this.raise(ct.EnumNumberMemberNotInitialized,{at:e,enumName:t,memberName:n})}flowEnumErrorStringMemberInconsistentlyInitialized(e,{enumName:t}){this.raise(ct.EnumStringMemberInconsistentlyInitialized,{at:e,enumName:t})}flowEnumMemberInit(){const e=this.state.startLoc,t=()=>this.match(12)||this.match(8);switch(this.state.type){case 132:{const n=this.parseNumericLiteral(this.state.value);return t()?{type:\"number\",loc:n.loc.start,value:n}:{type:\"invalid\",loc:e}}case 131:{const n=this.parseStringLiteral(this.state.value);return t()?{type:\"string\",loc:n.loc.start,value:n}:{type:\"invalid\",loc:e}}case 85:case 86:{const n=this.parseBooleanLiteral(this.match(85));return t()?{type:\"boolean\",loc:n.loc.start,value:n}:{type:\"invalid\",loc:e}}default:return{type:\"invalid\",loc:e}}}flowEnumMemberRaw(){const e=this.state.startLoc;return{id:this.parseIdentifier(!0),init:this.eat(29)?this.flowEnumMemberInit():{type:\"none\",loc:e}}}flowEnumCheckExplicitTypeMismatch(e,t,n){const{explicitType:r}=t;null!==r&&r!==n&&this.flowEnumErrorInvalidMemberInitializer(e,t)}flowEnumMembers({enumName:e,explicitType:t}){const n=new Set,r={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};let i=!1;for(;!this.match(8);){if(this.eat(21)){i=!0;break}const s=this.startNode(),{id:a,init:o}=this.flowEnumMemberRaw(),l=a.name;if(\"\"===l)continue;/^[a-z]/.test(l)&&this.raise(ct.EnumInvalidMemberName,{at:a,memberName:l,suggestion:l[0].toUpperCase()+l.slice(1),enumName:e}),n.has(l)&&this.raise(ct.EnumDuplicateMemberName,{at:a,memberName:l,enumName:e}),n.add(l);const c={enumName:e,explicitType:t,memberName:l};switch(s.id=a,o.type){case\"boolean\":this.flowEnumCheckExplicitTypeMismatch(o.loc,c,\"boolean\"),s.init=o.value,r.booleanMembers.push(this.finishNode(s,\"EnumBooleanMember\"));break;case\"number\":this.flowEnumCheckExplicitTypeMismatch(o.loc,c,\"number\"),s.init=o.value,r.numberMembers.push(this.finishNode(s,\"EnumNumberMember\"));break;case\"string\":this.flowEnumCheckExplicitTypeMismatch(o.loc,c,\"string\"),s.init=o.value,r.stringMembers.push(this.finishNode(s,\"EnumStringMember\"));break;case\"invalid\":throw this.flowEnumErrorInvalidMemberInitializer(o.loc,c);case\"none\":switch(t){case\"boolean\":this.flowEnumErrorBooleanMemberNotInitialized(o.loc,c);break;case\"number\":this.flowEnumErrorNumberMemberNotInitialized(o.loc,c);break;default:r.defaultedMembers.push(this.finishNode(s,\"EnumDefaultedMember\"))}}this.match(8)||this.expect(12)}return{members:r,hasUnknownMembers:i}}flowEnumStringMembers(e,t,{enumName:n}){if(0===e.length)return t;if(0===t.length)return e;if(t.length>e.length){for(const t of e)this.flowEnumErrorStringMemberInconsistentlyInitialized(t,{enumName:n});return t}for(const e of t)this.flowEnumErrorStringMemberInconsistentlyInitialized(e,{enumName:n});return e}flowEnumParseExplicitType({enumName:e}){if(!this.eatContextual(101))return null;if(!W(this.state.type))throw this.raise(ct.EnumInvalidExplicitTypeUnknownSupplied,{at:this.state.startLoc,enumName:e});const{value:t}=this.state;return this.next(),\"boolean\"!==t&&\"number\"!==t&&\"string\"!==t&&\"symbol\"!==t&&this.raise(ct.EnumInvalidExplicitType,{at:this.state.startLoc,enumName:e,invalidEnumType:t}),t}flowEnumBody(e,t){const n=t.name,r=t.loc.start,i=this.flowEnumParseExplicitType({enumName:n});this.expect(5);const{members:s,hasUnknownMembers:a}=this.flowEnumMembers({enumName:n,explicitType:i});switch(e.hasUnknownMembers=a,i){case\"boolean\":return e.explicitType=!0,e.members=s.booleanMembers,this.expect(8),this.finishNode(e,\"EnumBooleanBody\");case\"number\":return e.explicitType=!0,e.members=s.numberMembers,this.expect(8),this.finishNode(e,\"EnumNumberBody\");case\"string\":return e.explicitType=!0,e.members=this.flowEnumStringMembers(s.stringMembers,s.defaultedMembers,{enumName:n}),this.expect(8),this.finishNode(e,\"EnumStringBody\");case\"symbol\":return e.members=s.defaultedMembers,this.expect(8),this.finishNode(e,\"EnumSymbolBody\");default:{const t=()=>(e.members=[],this.expect(8),this.finishNode(e,\"EnumStringBody\"));e.explicitType=!1;const i=s.booleanMembers.length,a=s.numberMembers.length,o=s.stringMembers.length,l=s.defaultedMembers.length;if(i||a||o||l){if(i||a){if(!a&&!o&&i>=l){for(const e of s.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized(e.loc.start,{enumName:n,memberName:e.id.name});return e.members=s.booleanMembers,this.expect(8),this.finishNode(e,\"EnumBooleanBody\")}if(!i&&!o&&a>=l){for(const e of s.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized(e.loc.start,{enumName:n,memberName:e.id.name});return e.members=s.numberMembers,this.expect(8),this.finishNode(e,\"EnumNumberBody\")}return this.raise(ct.EnumInconsistentMemberValues,{at:r,enumName:n}),t()}return e.members=this.flowEnumStringMembers(s.stringMembers,s.defaultedMembers,{enumName:n}),this.expect(8),this.finishNode(e,\"EnumStringBody\")}return t()}}}flowParseEnumDeclaration(e){const t=this.parseIdentifier();return e.id=t,e.body=this.flowEnumBody(this.startNode(),t),this.finishNode(e,\"EnumDeclaration\")}isLookaheadToken_lt(){const e=this.nextTokenStart();if(60===this.input.charCodeAt(e)){const t=this.input.charCodeAt(e+1);return 60!==t&&61!==t}return!1}maybeUnwrapTypeCastExpression(e){return\"TypeCastExpression\"===e.type?e.expression:e}},typescript:e=>class extends e{constructor(...e){super(...e),this.tsParseInOutModifiers=this.tsParseModifiers.bind(this,{allowedModifiers:[\"in\",\"out\"],disallowedModifiers:[\"const\",\"public\",\"private\",\"protected\",\"readonly\",\"declare\",\"abstract\",\"override\"],errorTemplate:Pt.InvalidModifierOnTypeParameter}),this.tsParseConstModifier=this.tsParseModifiers.bind(this,{allowedModifiers:[\"const\"],disallowedModifiers:[\"in\",\"out\"],errorTemplate:Pt.InvalidModifierOnTypeParameterPositions}),this.tsParseInOutConstModifiers=this.tsParseModifiers.bind(this,{allowedModifiers:[\"in\",\"out\",\"const\"],disallowedModifiers:[\"public\",\"private\",\"protected\",\"readonly\",\"declare\",\"abstract\",\"override\"],errorTemplate:Pt.InvalidModifierOnTypeParameter})}getScopeHandler(){return gt}tsIsIdentifier(){return W(this.state.type)}tsTokenCanFollowModifier(){return(this.match(0)||this.match(5)||this.match(55)||this.match(21)||this.match(136)||this.isLiteralPropertyName())&&!this.hasPrecedingLineBreak()}tsNextTokenCanFollowModifier(){return this.next(),this.tsTokenCanFollowModifier()}tsParseModifier(e,t){if(!W(this.state.type)&&58!==this.state.type&&75!==this.state.type)return;const n=this.state.value;if(-1!==e.indexOf(n)){if(t&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return n}}tsParseModifiers({allowedModifiers:e,disallowedModifiers:t,stopOnStartOfClassStaticBlock:n,errorTemplate:r=Pt.InvalidModifierOnTypeMember},i){const s=(e,t,n,r)=>{t===n&&i[r]&&this.raise(Pt.InvalidModifiersOrder,{at:e,orderedModifiers:[n,r]})},a=(e,t,n,r)=>{(i[n]&&t===r||i[r]&&t===n)&&this.raise(Pt.IncompatibleModifiers,{at:e,modifiers:[n,r]})};for(;;){const{startLoc:o}=this.state,l=this.tsParseModifier(e.concat(null!=t?t:[]),n);if(!l)break;xt(l)?i.accessibility?this.raise(Pt.DuplicateAccessibilityModifier,{at:o,modifier:l}):(s(o,l,l,\"override\"),s(o,l,l,\"static\"),s(o,l,l,\"readonly\"),i.accessibility=l):Dt(l)?(i[l]&&this.raise(Pt.DuplicateModifier,{at:o,modifier:l}),i[l]=!0,s(o,l,\"in\",\"out\")):(Object.hasOwnProperty.call(i,l)?this.raise(Pt.DuplicateModifier,{at:o,modifier:l}):(s(o,l,\"static\",\"readonly\"),s(o,l,\"static\",\"override\"),s(o,l,\"override\",\"readonly\"),s(o,l,\"abstract\",\"override\"),a(o,l,\"declare\",\"override\"),a(o,l,\"static\",\"abstract\")),i[l]=!0),null!=t&&t.includes(l)&&this.raise(r,{at:o,modifier:l})}}tsIsListTerminator(e){switch(e){case\"EnumMembers\":case\"TypeMembers\":return this.match(8);case\"HeritageClauseElement\":return this.match(5);case\"TupleElementTypes\":return this.match(3);case\"TypeParametersOrArguments\":return this.match(48)}}tsParseList(e,t){const n=[];for(;!this.tsIsListTerminator(e);)n.push(t());return n}tsParseDelimitedList(e,t,n){return function(e){if(null==e)throw new Error(`Unexpected ${e} value.`);return e}(this.tsParseDelimitedListWorker(e,t,!0,n))}tsParseDelimitedListWorker(e,t,n,r){const i=[];let s=-1;for(;!this.tsIsListTerminator(e);){s=-1;const r=t();if(null==r)return;if(i.push(r),!this.eat(12)){if(this.tsIsListTerminator(e))break;return void(n&&this.expect(12))}s=this.state.lastTokStart}return r&&(r.value=s),i}tsParseBracketedList(e,t,n,r,i){r||(n?this.expect(0):this.expect(47));const s=this.tsParseDelimitedList(e,t,i);return n?this.expect(3):this.expect(48),s}tsParseImportType(){const e=this.startNode();return this.expect(83),this.expect(10),this.match(131)||this.raise(Pt.UnsupportedImportTypeArgument,{at:this.state.startLoc}),e.argument=super.parseExprAtom(),this.expect(11),this.eat(16)&&(e.qualifier=this.tsParseEntityName()),this.match(47)&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,\"TSImportType\")}tsParseEntityName(e=!0){let t=this.parseIdentifier(e);for(;this.eat(16);){const n=this.startNodeAtNode(t);n.left=t,n.right=this.parseIdentifier(e),t=this.finishNode(n,\"TSQualifiedName\")}return t}tsParseTypeReference(){const e=this.startNode();return e.typeName=this.tsParseEntityName(),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,\"TSTypeReference\")}tsParseThisTypePredicate(e){this.next();const t=this.startNodeAtNode(e);return t.parameterName=e,t.typeAnnotation=this.tsParseTypeAnnotation(!1),t.asserts=!1,this.finishNode(t,\"TSTypePredicate\")}tsParseThisTypeNode(){const e=this.startNode();return this.next(),this.finishNode(e,\"TSThisType\")}tsParseTypeQuery(){const e=this.startNode();return this.expect(87),this.match(83)?e.exprName=this.tsParseImportType():e.exprName=this.tsParseEntityName(),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,\"TSTypeQuery\")}tsParseTypeParameter(e){const t=this.startNode();return e(t),t.name=this.tsParseTypeParameterName(),t.constraint=this.tsEatThenParseType(81),t.default=this.tsEatThenParseType(29),this.finishNode(t,\"TSTypeParameter\")}tsTryParseTypeParameters(e){if(this.match(47))return this.tsParseTypeParameters(e)}tsParseTypeParameters(e){const t=this.startNode();this.match(47)||this.match(140)?this.next():this.unexpected();const n={value:-1};return t.params=this.tsParseBracketedList(\"TypeParametersOrArguments\",this.tsParseTypeParameter.bind(this,e),!1,!0,n),0===t.params.length&&this.raise(Pt.EmptyTypeParameters,{at:t}),-1!==n.value&&this.addExtra(t,\"trailingComma\",n.value),this.finishNode(t,\"TSTypeParameterDeclaration\")}tsFillSignature(e,t){const n=19===e;t.typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier),this.expect(10),t.parameters=this.tsParseBindingListForSignature(),(n||this.match(e))&&(t.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){const e=super.parseBindingList(11,41,2);for(const t of e){const{type:e}=t;\"AssignmentPattern\"!==e&&\"TSParameterProperty\"!==e||this.raise(Pt.UnsupportedSignatureParameterKind,{at:t,type:e})}return e}tsParseTypeMemberSemicolon(){this.eat(12)||this.isLineTerminator()||this.expect(13)}tsParseSignatureMember(e,t){return this.tsFillSignature(14,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),!!W(this.state.type)&&(this.next(),this.match(14))}tsTryParseIndexSignature(e){if(!this.match(0)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(0);const t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(3),e.parameters=[t];const n=this.tsTryParseTypeAnnotation();return n&&(e.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(e,\"TSIndexSignature\")}tsParsePropertyOrMethodSignature(e,t){this.eat(17)&&(e.optional=!0);const n=e;if(this.match(10)||this.match(47)){t&&this.raise(Pt.ReadonlyForMethodSignature,{at:e});const r=n;r.kind&&this.match(47)&&this.raise(Pt.AccesorCannotHaveTypeParameters,{at:this.state.curPosition()}),this.tsFillSignature(14,r),this.tsParseTypeMemberSemicolon();const i=\"parameters\",s=\"typeAnnotation\";if(\"get\"===r.kind)r[i].length>0&&(this.raise(g.BadGetterArity,{at:this.state.curPosition()}),this.isThisParam(r[i][0])&&this.raise(Pt.AccesorCannotDeclareThisParameter,{at:this.state.curPosition()}));else if(\"set\"===r.kind){if(1!==r[i].length)this.raise(g.BadSetterArity,{at:this.state.curPosition()});else{const e=r[i][0];this.isThisParam(e)&&this.raise(Pt.AccesorCannotDeclareThisParameter,{at:this.state.curPosition()}),\"Identifier\"===e.type&&e.optional&&this.raise(Pt.SetAccesorCannotHaveOptionalParameter,{at:this.state.curPosition()}),\"RestElement\"===e.type&&this.raise(Pt.SetAccesorCannotHaveRestParameter,{at:this.state.curPosition()})}r[s]&&this.raise(Pt.SetAccesorCannotHaveReturnType,{at:r[s]})}else r.kind=\"method\";return this.finishNode(r,\"TSMethodSignature\")}{const e=n;t&&(e.readonly=!0);const r=this.tsTryParseTypeAnnotation();return r&&(e.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(e,\"TSPropertySignature\")}}tsParseTypeMember(){const e=this.startNode();if(this.match(10)||this.match(47))return this.tsParseSignatureMember(\"TSCallSignatureDeclaration\",e);if(this.match(77)){const t=this.startNode();return this.next(),this.match(10)||this.match(47)?this.tsParseSignatureMember(\"TSConstructSignatureDeclaration\",e):(e.key=this.createIdentifier(t,\"new\"),this.tsParsePropertyOrMethodSignature(e,!1))}this.tsParseModifiers({allowedModifiers:[\"readonly\"],disallowedModifiers:[\"declare\",\"abstract\",\"private\",\"protected\",\"public\",\"static\",\"override\"]},e);return this.tsTryParseIndexSignature(e)||(super.parsePropertyName(e),e.computed||\"Identifier\"!==e.key.type||\"get\"!==e.key.name&&\"set\"!==e.key.name||!this.tsTokenCanFollowModifier()||(e.kind=e.key.name,super.parsePropertyName(e)),this.tsParsePropertyOrMethodSignature(e,!!e.readonly))}tsParseTypeLiteral(){const e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,\"TSTypeLiteral\")}tsParseObjectTypeMembers(){this.expect(5);const e=this.tsParseList(\"TypeMembers\",this.tsParseTypeMember.bind(this));return this.expect(8),e}tsIsStartOfMappedType(){return this.next(),this.eat(53)?this.isContextual(120):(this.isContextual(120)&&this.next(),!!this.match(0)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(58))))}tsParseMappedTypeParameter(){const e=this.startNode();return e.name=this.tsParseTypeParameterName(),e.constraint=this.tsExpectThenParseType(58),this.finishNode(e,\"TSTypeParameter\")}tsParseMappedType(){const e=this.startNode();return this.expect(5),this.match(53)?(e.readonly=this.state.value,this.next(),this.expectContextual(120)):this.eatContextual(120)&&(e.readonly=!0),this.expect(0),e.typeParameter=this.tsParseMappedTypeParameter(),e.nameType=this.eatContextual(93)?this.tsParseType():null,this.expect(3),this.match(53)?(e.optional=this.state.value,this.next(),this.expect(17)):this.eat(17)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(8),this.finishNode(e,\"TSMappedType\")}tsParseTupleType(){const e=this.startNode();e.elementTypes=this.tsParseBracketedList(\"TupleElementTypes\",this.tsParseTupleElementType.bind(this),!0,!1);let t=!1,n=null;return e.elementTypes.forEach((e=>{const{type:r}=e;!t||\"TSRestType\"===r||\"TSOptionalType\"===r||\"TSNamedTupleMember\"===r&&e.optional||this.raise(Pt.OptionalTypeBeforeRequired,{at:e}),t||(t=\"TSNamedTupleMember\"===r&&e.optional||\"TSOptionalType\"===r);let i=r;\"TSRestType\"===r&&(i=(e=e.typeAnnotation).type);const s=\"TSNamedTupleMember\"===i;null!=n||(n=s),n!==s&&this.raise(Pt.MixedLabeledAndUnlabeledElements,{at:e})})),this.finishNode(e,\"TSTupleType\")}tsParseTupleElementType(){const{startLoc:e}=this.state,t=this.eat(21);let n,r,i,s;const a=X(this.state.type)?this.lookaheadCharCode():null;if(58===a)n=!0,i=!1,r=this.parseIdentifier(!0),this.expect(14),s=this.tsParseType();else if(63===a){i=!0;const e=this.state.startLoc,t=this.state.value,a=this.tsParseNonArrayType();58===this.lookaheadCharCode()?(n=!0,r=this.createIdentifier(this.startNodeAt(e),t),this.expect(17),this.expect(14),s=this.tsParseType()):(n=!1,s=a,this.expect(17))}else s=this.tsParseType(),i=this.eat(17),n=this.eat(14);if(n){let e;r?(e=this.startNodeAtNode(r),e.optional=i,e.label=r,e.elementType=s,this.eat(17)&&(e.optional=!0,this.raise(Pt.TupleOptionalAfterType,{at:this.state.lastTokStartLoc}))):(e=this.startNodeAtNode(s),e.optional=i,this.raise(Pt.InvalidTupleMemberLabel,{at:s}),e.label=s,e.elementType=this.tsParseType()),s=this.finishNode(e,\"TSNamedTupleMember\")}else if(i){const e=this.startNodeAtNode(s);e.typeAnnotation=s,s=this.finishNode(e,\"TSOptionalType\")}if(t){const t=this.startNodeAt(e);t.typeAnnotation=s,s=this.finishNode(t,\"TSRestType\")}return s}tsParseParenthesizedType(){const e=this.startNode();return this.expect(10),e.typeAnnotation=this.tsParseType(),this.expect(11),this.finishNode(e,\"TSParenthesizedType\")}tsParseFunctionOrConstructorType(e,t){const n=this.startNode();return\"TSConstructorType\"===e&&(n.abstract=!!t,t&&this.next(),this.next()),this.tsInAllowConditionalTypesContext((()=>this.tsFillSignature(19,n))),this.finishNode(n,e)}tsParseLiteralTypeNode(){const e=this.startNode();switch(this.state.type){case 132:case 133:case 131:case 85:case 86:e.literal=super.parseExprAtom();break;default:this.unexpected()}return this.finishNode(e,\"TSLiteralType\")}tsParseTemplateLiteralType(){const e=this.startNode();return e.literal=super.parseTemplate(!1),this.finishNode(e,\"TSLiteralType\")}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){const e=this.tsParseThisTypeNode();return this.isContextual(114)&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}tsParseNonArrayType(){switch(this.state.type){case 131:case 132:case 133:case 85:case 86:return this.tsParseLiteralTypeNode();case 53:if(\"-\"===this.state.value){const e=this.startNode(),t=this.lookahead();return 132!==t.type&&133!==t.type&&this.unexpected(),e.literal=this.parseMaybeUnary(),this.finishNode(e,\"TSLiteralType\")}break;case 78:return this.tsParseThisTypeOrThisTypePredicate();case 87:return this.tsParseTypeQuery();case 83:return this.tsParseImportType();case 5:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 10:return this.tsParseParenthesizedType();case 25:case 24:return this.tsParseTemplateLiteralType();default:{const{type:e}=this.state;if(W(e)||88===e||84===e){const t=88===e?\"TSVoidKeyword\":84===e?\"TSNullKeyword\":function(e){switch(e){case\"any\":return\"TSAnyKeyword\";case\"boolean\":return\"TSBooleanKeyword\";case\"bigint\":return\"TSBigIntKeyword\";case\"never\":return\"TSNeverKeyword\";case\"number\":return\"TSNumberKeyword\";case\"object\":return\"TSObjectKeyword\";case\"string\":return\"TSStringKeyword\";case\"symbol\":return\"TSSymbolKeyword\";case\"undefined\":return\"TSUndefinedKeyword\";case\"unknown\":return\"TSUnknownKeyword\";default:return}}(this.state.value);if(void 0!==t&&46!==this.lookaheadCharCode()){const e=this.startNode();return this.next(),this.finishNode(e,t)}return this.tsParseTypeReference()}}}this.unexpected()}tsParseArrayTypeOrHigher(){let e=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(0);)if(this.match(3)){const t=this.startNodeAtNode(e);t.elementType=e,this.expect(3),e=this.finishNode(t,\"TSArrayType\")}else{const t=this.startNodeAtNode(e);t.objectType=e,t.indexType=this.tsParseType(),this.expect(3),e=this.finishNode(t,\"TSIndexedAccessType\")}return e}tsParseTypeOperator(){const e=this.startNode(),t=this.state.value;return this.next(),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),\"readonly\"===t&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,\"TSTypeOperator\")}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case\"TSTupleType\":case\"TSArrayType\":return;default:this.raise(Pt.UnexpectedReadonly,{at:e})}}tsParseInferType(){const e=this.startNode();this.expectContextual(113);const t=this.startNode();return t.name=this.tsParseTypeParameterName(),t.constraint=this.tsTryParse((()=>this.tsParseConstraintForInferType())),e.typeParameter=this.finishNode(t,\"TSTypeParameter\"),this.finishNode(e,\"TSInferType\")}tsParseConstraintForInferType(){if(this.eat(81)){const e=this.tsInDisallowConditionalTypesContext((()=>this.tsParseType()));if(this.state.inDisallowConditionalTypesContext||!this.match(17))return e}}tsParseTypeOperatorOrHigher(){var e;return(e=this.state.type)>=119&&e<=121&&!this.state.containsEsc?this.tsParseTypeOperator():this.isContextual(113)?this.tsParseInferType():this.tsInAllowConditionalTypesContext((()=>this.tsParseArrayTypeOrHigher()))}tsParseUnionOrIntersectionType(e,t,n){const r=this.startNode(),i=this.eat(n),s=[];do{s.push(t())}while(this.eat(n));return 1!==s.length||i?(r.types=s,this.finishNode(r,e)):s[0]}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType(\"TSIntersectionType\",this.tsParseTypeOperatorOrHigher.bind(this),45)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType(\"TSUnionType\",this.tsParseIntersectionTypeOrHigher.bind(this),43)}tsIsStartOfFunctionType(){return!!this.match(47)||this.match(10)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(W(this.state.type)||this.match(78))return this.next(),!0;if(this.match(5)){const{errors:e}=this.state,t=e.length;try{return this.parseObjectLike(8,!0),e.length===t}catch(e){return!1}}if(this.match(0)){this.next();const{errors:e}=this.state,t=e.length;try{return super.parseBindingList(3,93,1),e.length===t}catch(e){return!1}}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(11)||this.match(21))return!0;if(this.tsSkipParameterStart()){if(this.match(14)||this.match(12)||this.match(17)||this.match(29))return!0;if(this.match(11)&&(this.next(),this.match(19)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType((()=>{const t=this.startNode();this.expect(e);const n=this.startNode(),r=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(r&&this.match(78)){let e=this.tsParseThisTypeOrThisTypePredicate();return\"TSThisType\"===e.type?(n.parameterName=e,n.asserts=!0,n.typeAnnotation=null,e=this.finishNode(n,\"TSTypePredicate\")):(this.resetStartLocationFromNode(e,n),e.asserts=!0),t.typeAnnotation=e,this.finishNode(t,\"TSTypeAnnotation\")}const i=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!i)return r?(n.parameterName=this.parseIdentifier(),n.asserts=r,n.typeAnnotation=null,t.typeAnnotation=this.finishNode(n,\"TSTypePredicate\"),this.finishNode(t,\"TSTypeAnnotation\")):this.tsParseTypeAnnotation(!1,t);const s=this.tsParseTypeAnnotation(!1);return n.parameterName=i,n.typeAnnotation=s,n.asserts=r,t.typeAnnotation=this.finishNode(n,\"TSTypePredicate\"),this.finishNode(t,\"TSTypeAnnotation\")}))}tsTryParseTypeOrTypePredicateAnnotation(){if(this.match(14))return this.tsParseTypeOrTypePredicateAnnotation(14)}tsTryParseTypeAnnotation(){if(this.match(14))return this.tsParseTypeAnnotation()}tsTryParseType(){return this.tsEatThenParseType(14)}tsParseTypePredicatePrefix(){const e=this.parseIdentifier();if(this.isContextual(114)&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(107!==this.state.type)return!1;const e=this.state.containsEsc;return this.next(),!(!W(this.state.type)&&!this.match(78)||(e&&this.raise(g.InvalidEscapedReservedWord,{at:this.state.lastTokStartLoc,reservedWord:\"asserts\"}),0))}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType((()=>{e&&this.expect(14),t.typeAnnotation=this.tsParseType()})),this.finishNode(t,\"TSTypeAnnotation\")}tsParseType(){St(this.state.inType);const e=this.tsParseNonConditionalType();if(this.state.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(81))return e;const t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsInDisallowConditionalTypesContext((()=>this.tsParseNonConditionalType())),this.expect(17),t.trueType=this.tsInAllowConditionalTypesContext((()=>this.tsParseType())),this.expect(14),t.falseType=this.tsInAllowConditionalTypesContext((()=>this.tsParseType())),this.finishNode(t,\"TSConditionalType\")}isAbstractConstructorSignature(){return this.isContextual(122)&&77===this.lookahead().type}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType(\"TSFunctionType\"):this.match(77)?this.tsParseFunctionOrConstructorType(\"TSConstructorType\"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType(\"TSConstructorType\",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){this.getPluginOption(\"typescript\",\"disallowAmbiguousJSXLike\")&&this.raise(Pt.ReservedTypeAssertion,{at:this.state.startLoc});const e=this.startNode();return e.typeAnnotation=this.tsInType((()=>(this.next(),this.match(75)?this.tsParseTypeReference():this.tsParseType()))),this.expect(48),e.expression=this.parseMaybeUnary(),this.finishNode(e,\"TSTypeAssertion\")}tsParseHeritageClause(e){const t=this.state.startLoc,n=this.tsParseDelimitedList(\"HeritageClauseElement\",(()=>{const e=this.startNode();return e.expression=this.tsParseEntityName(),this.match(47)&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,\"TSExpressionWithTypeArguments\")}));return n.length||this.raise(Pt.EmptyHeritageClauseType,{at:t,token:e}),n}tsParseInterfaceDeclaration(e,t={}){if(this.hasFollowingLineBreak())return null;this.expectContextual(127),t.declare&&(e.declare=!0),W(this.state.type)?(e.id=this.parseIdentifier(),this.checkIdentifier(e.id,130)):(e.id=null,this.raise(Pt.MissingInterfaceName,{at:this.state.startLoc})),e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers),this.eat(81)&&(e.extends=this.tsParseHeritageClause(\"extends\"));const n=this.startNode();return n.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(n,\"TSInterfaceBody\"),this.finishNode(e,\"TSInterfaceDeclaration\")}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkIdentifier(e.id,2),e.typeAnnotation=this.tsInType((()=>{if(e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutModifiers),this.expect(29),this.isContextual(112)&&16!==this.lookahead().type){const e=this.startNode();return this.next(),this.finishNode(e,\"TSIntrinsicKeyword\")}return this.tsParseType()})),this.semicolon(),this.finishNode(e,\"TSTypeAliasDeclaration\")}tsInNoContext(e){const t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}tsInType(e){const t=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=t}}tsInDisallowConditionalTypesContext(e){const t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!0;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsInAllowConditionalTypesContext(e){const t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!1;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsEatThenParseType(e){if(this.match(e))return this.tsNextThenParseType()}tsExpectThenParseType(e){return this.tsInType((()=>(this.expect(e),this.tsParseType())))}tsNextThenParseType(){return this.tsInType((()=>(this.next(),this.tsParseType())))}tsParseEnumMember(){const e=this.startNode();return e.id=this.match(131)?super.parseStringLiteral(this.state.value):this.parseIdentifier(!0),this.eat(29)&&(e.initializer=super.parseMaybeAssignAllowIn()),this.finishNode(e,\"TSEnumMember\")}tsParseEnumDeclaration(e,t={}){return t.const&&(e.const=!0),t.declare&&(e.declare=!0),this.expectContextual(124),e.id=this.parseIdentifier(),this.checkIdentifier(e.id,e.const?8971:8459),this.expect(5),e.members=this.tsParseDelimitedList(\"EnumMembers\",this.tsParseEnumMember.bind(this)),this.expect(8),this.finishNode(e,\"TSEnumDeclaration\")}tsParseModuleBlock(){const e=this.startNode();return this.scope.enter(0),this.expect(5),super.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,8),this.scope.exit(),this.finishNode(e,\"TSModuleBlock\")}tsParseModuleOrNamespaceDeclaration(e,t=!1){if(e.id=this.parseIdentifier(),t||this.checkIdentifier(e.id,1024),this.eat(16)){const t=this.startNode();this.tsParseModuleOrNamespaceDeclaration(t,!0),e.body=t}else this.scope.enter(256),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(e,\"TSModuleDeclaration\")}tsParseAmbientExternalModuleDeclaration(e){return this.isContextual(110)?(e.global=!0,e.id=this.parseIdentifier()):this.match(131)?e.id=super.parseStringLiteral(this.state.value):this.unexpected(),this.match(5)?(this.scope.enter(256),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(e,\"TSModuleDeclaration\")}tsParseImportEqualsDeclaration(e,t,n){e.isExport=n||!1,e.id=t||this.parseIdentifier(),this.checkIdentifier(e.id,4096),this.expect(29);const r=this.tsParseModuleReference();return\"type\"===e.importKind&&\"TSExternalModuleReference\"!==r.type&&this.raise(Pt.ImportAliasHasImportType,{at:r}),e.moduleReference=r,this.semicolon(),this.finishNode(e,\"TSImportEqualsDeclaration\")}tsIsExternalModuleReference(){return this.isContextual(117)&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){const e=this.startNode();return this.expectContextual(117),this.expect(10),this.match(131)||this.unexpected(),e.expression=super.parseExprAtom(),this.expect(11),this.sawUnambiguousESM=!0,this.finishNode(e,\"TSExternalModuleReference\")}tsLookAhead(e){const t=this.state.clone(),n=e();return this.state=t,n}tsTryParseAndCatch(e){const t=this.tryParse((t=>e()||t()));if(!t.aborted&&t.node)return t.error&&(this.state=t.failState),t.node}tsTryParse(e){const t=this.state.clone(),n=e();if(void 0!==n&&!1!==n)return n;this.state=t}tsTryParseDeclare(e){if(this.isLineTerminator())return;let t,n=this.state.type;return this.isContextual(99)&&(n=74,t=\"let\"),this.tsInAmbientContext((()=>{switch(n){case 68:return e.declare=!0,super.parseFunctionStatement(e,!1,!1);case 80:return e.declare=!0,this.parseClass(e,!0,!1);case 124:return this.tsParseEnumDeclaration(e,{declare:!0});case 110:return this.tsParseAmbientExternalModuleDeclaration(e);case 75:case 74:return this.match(75)&&this.isLookaheadContextual(\"enum\")?(this.expect(75),this.tsParseEnumDeclaration(e,{const:!0,declare:!0})):(e.declare=!0,this.parseVarStatement(e,t||this.state.value,!0));case 127:{const t=this.tsParseInterfaceDeclaration(e,{declare:!0});if(t)return t}default:if(W(n))return this.tsParseDeclaration(e,this.state.value,!0,null)}}))}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0,null)}tsParseExpressionStatement(e,t,n){switch(t.name){case\"declare\":{const t=this.tsTryParseDeclare(e);return t&&(t.declare=!0),t}case\"global\":if(this.match(5)){this.scope.enter(256),this.prodParam.enter(0);const n=e;return n.global=!0,n.id=t,n.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(n,\"TSModuleDeclaration\")}break;default:return this.tsParseDeclaration(e,t.name,!1,n)}}tsParseDeclaration(e,t,n,r){switch(t){case\"abstract\":if(this.tsCheckLineTerminator(n)&&(this.match(80)||W(this.state.type)))return this.tsParseAbstractDeclaration(e,r);break;case\"module\":if(this.tsCheckLineTerminator(n)){if(this.match(131))return this.tsParseAmbientExternalModuleDeclaration(e);if(W(this.state.type))return this.tsParseModuleOrNamespaceDeclaration(e)}break;case\"namespace\":if(this.tsCheckLineTerminator(n)&&W(this.state.type))return this.tsParseModuleOrNamespaceDeclaration(e);break;case\"type\":if(this.tsCheckLineTerminator(n)&&W(this.state.type))return this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminator(e){return e?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e){if(!this.match(47))return;const t=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const n=this.tsTryParseAndCatch((()=>{const t=this.startNodeAt(e);return t.typeParameters=this.tsParseTypeParameters(this.tsParseConstModifier),super.parseFunctionParams(t),t.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(19),t}));return this.state.maybeInArrowParameters=t,n?super.parseArrowExpression(n,null,!0):void 0}tsParseTypeArgumentsInExpression(){if(47===this.reScan_lt())return this.tsParseTypeArguments()}tsParseTypeArguments(){const e=this.startNode();return e.params=this.tsInType((()=>this.tsInNoContext((()=>(this.expect(47),this.tsParseDelimitedList(\"TypeParametersOrArguments\",this.tsParseType.bind(this))))))),0===e.params.length?this.raise(Pt.EmptyTypeArguments,{at:e}):this.state.inType||this.curContext()!==x.brace||this.reScan_lt_gt(),this.expect(48),this.finishNode(e,\"TSTypeParameterInstantiation\")}tsIsDeclarationStart(){return(e=this.state.type)>=122&&e<=128;var e}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseAssignableListItem(e,t){const n=this.state.startLoc,r={};this.tsParseModifiers({allowedModifiers:[\"public\",\"private\",\"protected\",\"override\",\"readonly\"]},r);const i=r.accessibility,s=r.override,a=r.readonly;4&e||!(i||a||s)||this.raise(Pt.UnexpectedParameterModifier,{at:n});const o=this.parseMaybeDefault();this.parseAssignableListItemTypes(o,e);const l=this.parseMaybeDefault(o.loc.start,o);if(i||a||s){const e=this.startNodeAt(n);return t.length&&(e.decorators=t),i&&(e.accessibility=i),a&&(e.readonly=a),s&&(e.override=s),\"Identifier\"!==l.type&&\"AssignmentPattern\"!==l.type&&this.raise(Pt.UnsupportedParameterPropertyKind,{at:e}),e.parameter=l,this.finishNode(e,\"TSParameterProperty\")}return t.length&&(o.decorators=t),l}isSimpleParameter(e){return\"TSParameterProperty\"===e.type&&super.isSimpleParameter(e.parameter)||super.isSimpleParameter(e)}tsDisallowOptionalPattern(e){for(const t of e.params)\"Identifier\"!==t.type&&t.optional&&!this.state.isAmbientContext&&this.raise(Pt.PatternIsOptional,{at:t})}setArrowFunctionParameters(e,t,n){super.setArrowFunctionParameters(e,t,n),this.tsDisallowOptionalPattern(e)}parseFunctionBodyAndFinish(e,t,n=!1){this.match(14)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(14));const r=\"FunctionDeclaration\"===t?\"TSDeclareFunction\":\"ClassMethod\"===t||\"ClassPrivateMethod\"===t?\"TSDeclareMethod\":void 0;return r&&!this.match(5)&&this.isLineTerminator()?this.finishNode(e,r):\"TSDeclareFunction\"===r&&this.state.isAmbientContext&&(this.raise(Pt.DeclareFunctionHasImplementation,{at:e}),e.declare)?super.parseFunctionBodyAndFinish(e,r,n):(this.tsDisallowOptionalPattern(e),super.parseFunctionBodyAndFinish(e,t,n))}registerFunctionStatementId(e){!e.body&&e.id?this.checkIdentifier(e.id,1024):super.registerFunctionStatementId(e)}tsCheckForInvalidTypeCasts(e){e.forEach((e=>{\"TSTypeCastExpression\"===(null==e?void 0:e.type)&&this.raise(Pt.UnexpectedTypeAnnotation,{at:e.typeAnnotation})}))}toReferencedList(e,t){return this.tsCheckForInvalidTypeCasts(e),e}parseArrayLike(e,t,n,r){const i=super.parseArrayLike(e,t,n,r);return\"ArrayExpression\"===i.type&&this.tsCheckForInvalidTypeCasts(i.elements),i}parseSubscript(e,t,n,r){if(!this.hasPrecedingLineBreak()&&this.match(35)){this.state.canStartJSXElement=!1,this.next();const n=this.startNodeAt(t);return n.expression=e,this.finishNode(n,\"TSNonNullExpression\")}let i=!1;if(this.match(18)&&60===this.lookaheadCharCode()){if(n)return r.stop=!0,e;r.optionalChainMember=i=!0,this.next()}if(this.match(47)||this.match(51)){let s;const a=this.tsTryParseAndCatch((()=>{if(!n&&this.atPossibleAsyncArrow(e)){const e=this.tsTryParseGenericAsyncArrowFunction(t);if(e)return e}const a=this.tsParseTypeArgumentsInExpression();if(!a)return;if(i&&!this.match(10))return void(s=this.state.curPosition());if(z(this.state.type)){const n=super.parseTaggedTemplateExpression(e,t,r);return n.typeParameters=a,n}if(!n&&this.eat(10)){const n=this.startNodeAt(t);return n.callee=e,n.arguments=this.parseCallExpressionArguments(11,!1),this.tsCheckForInvalidTypeCasts(n.arguments),n.typeParameters=a,r.optionalChainMember&&(n.optional=i),this.finishCallExpression(n,r.optionalChainMember)}const o=this.state.type;if(48===o||52===o||10!==o&&q(o)&&!this.hasPrecedingLineBreak())return;const l=this.startNodeAt(t);return l.expression=e,l.typeParameters=a,this.finishNode(l,\"TSInstantiationExpression\")}));if(s&&this.unexpected(s,10),a)return\"TSInstantiationExpression\"===a.type&&(this.match(16)||this.match(18)&&40!==this.lookaheadCharCode())&&this.raise(Pt.InvalidPropertyAccessAfterInstantiationExpression,{at:this.state.startLoc}),a}return super.parseSubscript(e,t,n,r)}parseNewCallee(e){var t;super.parseNewCallee(e);const{callee:n}=e;\"TSInstantiationExpression\"!==n.type||null!=(t=n.extra)&&t.parenthesized||(e.typeParameters=n.typeParameters,e.callee=n.expression)}parseExprOp(e,t,n){let r;if(G(58)>n&&!this.hasPrecedingLineBreak()&&(this.isContextual(93)||(r=this.isContextual(118)))){const i=this.startNodeAt(t);return i.expression=e,i.typeAnnotation=this.tsInType((()=>(this.next(),this.match(75)?(r&&this.raise(g.UnexpectedKeyword,{at:this.state.startLoc,keyword:\"const\"}),this.tsParseTypeReference()):this.tsParseType()))),this.finishNode(i,r?\"TSSatisfiesExpression\":\"TSAsExpression\"),this.reScan_lt_gt(),this.parseExprOp(i,t,n)}return super.parseExprOp(e,t,n)}checkReservedWord(e,t,n,r){this.state.isAmbientContext||super.checkReservedWord(e,t,n,r)}checkImportReflection(e){super.checkImportReflection(e),e.module&&\"value\"!==e.importKind&&this.raise(Pt.ImportReflectionHasImportType,{at:e.specifiers[0].loc.start})}checkDuplicateExports(){}isPotentialImportPhase(e){if(super.isPotentialImportPhase(e))return!0;if(this.isContextual(128)){const t=this.lookaheadCharCode();return e?123===t||42===t:61!==t}return!e&&this.isContextual(87)}applyImportPhase(e,t,n,r){super.applyImportPhase(e,t,n,r),t?e.exportKind=\"type\"===n?\"type\":\"value\":e.importKind=\"type\"===n||\"typeof\"===n?n:\"value\"}parseImport(e){if(this.match(131))return e.importKind=\"value\",super.parseImport(e);let t;if(W(this.state.type)&&61===this.lookaheadCharCode())return e.importKind=\"value\",this.tsParseImportEqualsDeclaration(e);if(this.isContextual(128)){const n=this.parseMaybeImportPhase(e,!1);if(61===this.lookaheadCharCode())return this.tsParseImportEqualsDeclaration(e,n);t=super.parseImportSpecifiersAndAfter(e,n)}else t=super.parseImport(e);return\"type\"===t.importKind&&t.specifiers.length>1&&\"ImportDefaultSpecifier\"===t.specifiers[0].type&&this.raise(Pt.TypeImportCannotSpecifyDefaultAndNamed,{at:t}),t}parseExport(e,t){if(this.match(83)){this.next();let t=null;return this.isContextual(128)&&this.isPotentialImportPhase(!1)?t=this.parseMaybeImportPhase(e,!1):e.importKind=\"value\",this.tsParseImportEqualsDeclaration(e,t,!0)}if(this.eat(29)){const t=e;return t.expression=super.parseExpression(),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(t,\"TSExportAssignment\")}if(this.eatContextual(93)){const t=e;return this.expectContextual(126),t.id=this.parseIdentifier(),this.semicolon(),this.finishNode(t,\"TSNamespaceExportDeclaration\")}return super.parseExport(e,t)}isAbstractClass(){return this.isContextual(122)&&80===this.lookahead().type}parseExportDefaultExpression(){if(this.isAbstractClass()){const e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0,!0)}if(this.match(127)){const e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e}return super.parseExportDefaultExpression()}parseVarStatement(e,t,n=!1){const{isAmbientContext:r}=this.state,i=super.parseVarStatement(e,t,n||r);if(!r)return i;for(const{id:e,init:n}of i.declarations)n&&(\"const\"!==t||e.typeAnnotation?this.raise(Pt.InitializerNotAllowedInAmbientContext,{at:n}):vt(n,this.hasPlugin(\"estree\"))||this.raise(Pt.ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference,{at:n}));return i}parseStatementContent(e,t){if(this.match(75)&&this.isLookaheadContextual(\"enum\")){const e=this.startNode();return this.expect(75),this.tsParseEnumDeclaration(e,{const:!0})}if(this.isContextual(124))return this.tsParseEnumDeclaration(this.startNode());if(this.isContextual(127)){const e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier([\"public\",\"protected\",\"private\"])}tsHasSomeModifiers(e,t){return t.some((t=>xt(t)?e.accessibility===t:!!e[t]))}tsIsStartOfStaticBlocks(){return this.isContextual(104)&&123===this.lookaheadCharCode()}parseClassMember(e,t,n){const r=[\"declare\",\"private\",\"public\",\"protected\",\"override\",\"abstract\",\"readonly\",\"static\"];this.tsParseModifiers({allowedModifiers:r,disallowedModifiers:[\"in\",\"out\"],stopOnStartOfClassStaticBlock:!0,errorTemplate:Pt.InvalidModifierOnTypeParameterPositions},t);const i=()=>{this.tsIsStartOfStaticBlocks()?(this.next(),this.next(),this.tsHasSomeModifiers(t,r)&&this.raise(Pt.StaticBlockCannotHaveModifier,{at:this.state.curPosition()}),super.parseClassStaticBlock(e,t)):this.parseClassMemberWithIsStatic(e,t,n,!!t.static)};t.declare?this.tsInAmbientContext(i):i()}parseClassMemberWithIsStatic(e,t,n,r){const i=this.tsTryParseIndexSignature(t);if(i)return e.body.push(i),t.abstract&&this.raise(Pt.IndexSignatureHasAbstract,{at:t}),t.accessibility&&this.raise(Pt.IndexSignatureHasAccessibility,{at:t,modifier:t.accessibility}),t.declare&&this.raise(Pt.IndexSignatureHasDeclare,{at:t}),void(t.override&&this.raise(Pt.IndexSignatureHasOverride,{at:t}));!this.state.inAbstractClass&&t.abstract&&this.raise(Pt.NonAbstractClassHasAbstractMethod,{at:t}),t.override&&(n.hadSuperClass||this.raise(Pt.OverrideNotInSubClass,{at:t})),super.parseClassMemberWithIsStatic(e,t,n,r)}parsePostMemberNameModifiers(e){this.eat(17)&&(e.optional=!0),e.readonly&&this.match(10)&&this.raise(Pt.ClassMethodHasReadonly,{at:e}),e.declare&&this.match(10)&&this.raise(Pt.ClassMethodHasDeclare,{at:e})}parseExpressionStatement(e,t,n){return(\"Identifier\"===t.type?this.tsParseExpressionStatement(e,t,n):void 0)||super.parseExpressionStatement(e,t,n)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(e,t,n){if(!this.state.maybeInArrowParameters||!this.match(17))return super.parseConditional(e,t,n);const r=this.tryParse((()=>super.parseConditional(e,t)));return r.node?(r.error&&(this.state=r.failState),r.node):(r.error&&super.setOptionalParametersError(n,r.error),e)}parseParenItem(e,t){if(e=super.parseParenItem(e,t),this.eat(17)&&(e.optional=!0,this.resetEndLocation(e)),this.match(14)){const n=this.startNodeAt(t);return n.expression=e,n.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(n,\"TSTypeCastExpression\")}return e}parseExportDeclaration(e){if(!this.state.isAmbientContext&&this.isContextual(123))return this.tsInAmbientContext((()=>this.parseExportDeclaration(e)));const t=this.state.startLoc,n=this.eatContextual(123);if(n&&(this.isContextual(123)||!this.shouldParseExportDeclaration()))throw this.raise(Pt.ExpectedAmbientAfterExportDeclare,{at:this.state.startLoc});const r=W(this.state.type)&&this.tsTryParseExportDeclaration()||super.parseExportDeclaration(e);return r?((\"TSInterfaceDeclaration\"===r.type||\"TSTypeAliasDeclaration\"===r.type||n)&&(e.exportKind=\"type\"),n&&(this.resetStartLocation(r,t),r.declare=!0),r):null}parseClassId(e,t,n,r){if((!t||n)&&this.isContextual(111))return;super.parseClassId(e,t,n,e.declare?1024:8331);const i=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);i&&(e.typeParameters=i)}parseClassPropertyAnnotation(e){e.optional||(this.eat(35)?e.definite=!0:this.eat(17)&&(e.optional=!0));const t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t)}parseClassProperty(e){if(this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&(!e.readonly||e.typeAnnotation)&&this.match(29)&&this.raise(Pt.DeclareClassFieldHasInitializer,{at:this.state.startLoc}),e.abstract&&this.match(29)){const{key:t}=e;this.raise(Pt.AbstractPropertyHasInitializer,{at:this.state.startLoc,propertyName:\"Identifier\"!==t.type||e.computed?`[${this.input.slice(t.start,t.end)}]`:t.name})}return super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(Pt.PrivateElementHasAbstract,{at:e}),e.accessibility&&this.raise(Pt.PrivateElementHasAccessibility,{at:e,modifier:e.accessibility}),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}parseClassAccessorProperty(e){return this.parseClassPropertyAnnotation(e),e.optional&&this.raise(Pt.AccessorCannotBeOptional,{at:e}),super.parseClassAccessorProperty(e)}pushClassMethod(e,t,n,r,i,s){const a=this.tsTryParseTypeParameters(this.tsParseConstModifier);a&&i&&this.raise(Pt.ConstructorHasTypeParameters,{at:a});const{declare:o=!1,kind:l}=t;!o||\"get\"!==l&&\"set\"!==l||this.raise(Pt.DeclareAccessor,{at:t,kind:l}),a&&(t.typeParameters=a),super.pushClassMethod(e,t,n,r,i,s)}pushClassPrivateMethod(e,t,n,r){const i=this.tsTryParseTypeParameters(this.tsParseConstModifier);i&&(t.typeParameters=i),super.pushClassPrivateMethod(e,t,n,r)}declareClassPrivateMethodInScope(e,t){\"TSDeclareMethod\"!==e.type&&(\"MethodDefinition\"!==e.type||e.value.body)&&super.declareClassPrivateMethodInScope(e,t)}parseClassSuper(e){super.parseClassSuper(e),e.superClass&&(this.match(47)||this.match(51))&&(e.superTypeParameters=this.tsParseTypeArgumentsInExpression()),this.eatContextual(111)&&(e.implements=this.tsParseHeritageClause(\"implements\"))}parseObjPropValue(e,t,n,r,i,s,a){const o=this.tsTryParseTypeParameters(this.tsParseConstModifier);return o&&(e.typeParameters=o),super.parseObjPropValue(e,t,n,r,i,s,a)}parseFunctionParams(e,t){const n=this.tsTryParseTypeParameters(this.tsParseConstModifier);n&&(e.typeParameters=n),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),\"Identifier\"===e.id.type&&!this.hasPrecedingLineBreak()&&this.eat(35)&&(e.definite=!0);const n=this.tsTryParseTypeAnnotation();n&&(e.id.typeAnnotation=n,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(14)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(e,t){var n,r,i,s,a;let o,l,c,u;if(this.hasPlugin(\"jsx\")&&(this.match(140)||this.match(47))){if(o=this.state.clone(),l=this.tryParse((()=>super.parseMaybeAssign(e,t)),o),!l.error)return l.node;const{context:n}=this.state,r=n[n.length-1];r!==x.j_oTag&&r!==x.j_expr||n.pop()}if(!(null!=(n=l)&&n.error||this.match(47)))return super.parseMaybeAssign(e,t);o&&o!==this.state||(o=this.state.clone());const p=this.tryParse((n=>{var r,i;u=this.tsParseTypeParameters(this.tsParseConstModifier);const s=super.parseMaybeAssign(e,t);return(\"ArrowFunctionExpression\"!==s.type||null!=(r=s.extra)&&r.parenthesized)&&n(),0!==(null==(i=u)?void 0:i.params.length)&&this.resetStartLocationFromNode(s,u),s.typeParameters=u,s}),o);if(!p.error&&!p.aborted)return u&&this.reportReservedArrowTypeParam(u),p.node;if(!l&&(St(!this.hasPlugin(\"jsx\")),c=this.tryParse((()=>super.parseMaybeAssign(e,t)),o),!c.error))return c.node;if(null!=(r=l)&&r.node)return this.state=l.failState,l.node;if(p.node)return this.state=p.failState,u&&this.reportReservedArrowTypeParam(u),p.node;if(null!=(i=c)&&i.node)return this.state=c.failState,c.node;throw(null==(s=l)?void 0:s.error)||p.error||(null==(a=c)?void 0:a.error)}reportReservedArrowTypeParam(e){var t;1!==e.params.length||e.params[0].constraint||null!=(t=e.extra)&&t.trailingComma||!this.getPluginOption(\"typescript\",\"disallowAmbiguousJSXLike\")||this.raise(Pt.ReservedArrowTypeParam,{at:e})}parseMaybeUnary(e,t){return!this.hasPlugin(\"jsx\")&&this.match(47)?this.tsParseTypeAssertion():super.parseMaybeUnary(e,t)}parseArrow(e){if(this.match(14)){const t=this.tryParse((e=>{const t=this.tsParseTypeOrTypePredicateAnnotation(14);return!this.canInsertSemicolon()&&this.match(19)||e(),t}));if(t.aborted)return;t.thrown||(t.error&&(this.state=t.failState),e.returnType=t.node)}return super.parseArrow(e)}parseAssignableListItemTypes(e,t){if(!(2&t))return e;this.eat(17)&&(e.optional=!0);const n=this.tsTryParseTypeAnnotation();return n&&(e.typeAnnotation=n),this.resetEndLocation(e),e}isAssignable(e,t){switch(e.type){case\"TSTypeCastExpression\":return this.isAssignable(e.expression,t);case\"TSParameterProperty\":return!0;default:return super.isAssignable(e,t)}}toAssignable(e,t=!1){switch(e.type){case\"ParenthesizedExpression\":this.toAssignableParenthesizedExpression(e,t);break;case\"TSAsExpression\":case\"TSSatisfiesExpression\":case\"TSNonNullExpression\":case\"TSTypeAssertion\":t?this.expressionScope.recordArrowParameterBindingError(Pt.UnexpectedTypeCastInParameter,{at:e}):this.raise(Pt.UnexpectedTypeCastInParameter,{at:e}),this.toAssignable(e.expression,t);break;case\"AssignmentExpression\":t||\"TSTypeCastExpression\"!==e.left.type||(e.left=this.typeCastToParameter(e.left));default:super.toAssignable(e,t)}}toAssignableParenthesizedExpression(e,t){switch(e.expression.type){case\"TSAsExpression\":case\"TSSatisfiesExpression\":case\"TSNonNullExpression\":case\"TSTypeAssertion\":case\"ParenthesizedExpression\":this.toAssignable(e.expression,t);break;default:super.toAssignable(e,t)}}checkToRestConversion(e,t){switch(e.type){case\"TSAsExpression\":case\"TSSatisfiesExpression\":case\"TSTypeAssertion\":case\"TSNonNullExpression\":this.checkToRestConversion(e.expression,!1);break;default:super.checkToRestConversion(e,t)}}isValidLVal(e,t,n){return r={TSTypeCastExpression:!0,TSParameterProperty:\"parameter\",TSNonNullExpression:\"expression\",TSAsExpression:(64!==n||!t)&&[\"expression\",!0],TSSatisfiesExpression:(64!==n||!t)&&[\"expression\",!0],TSTypeAssertion:(64!==n||!t)&&[\"expression\",!0]},i=e,Object.hasOwnProperty.call(r,i)&&r[i]||super.isValidLVal(e,t,n);var r,i}parseBindingAtom(){return 78===this.state.type?this.parseIdentifier(!0):super.parseBindingAtom()}parseMaybeDecoratorArguments(e){if(this.match(47)||this.match(51)){const t=this.tsParseTypeArgumentsInExpression();if(this.match(10)){const n=super.parseMaybeDecoratorArguments(e);return n.typeParameters=t,n}this.unexpected(null,10)}return super.parseMaybeDecoratorArguments(e)}checkCommaAfterRest(e){return this.state.isAmbientContext&&this.match(12)&&this.lookaheadCharCode()===e?(this.next(),!1):super.checkCommaAfterRest(e)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(35)||this.match(14)||super.isClassProperty()}parseMaybeDefault(e,t){const n=super.parseMaybeDefault(e,t);return\"AssignmentPattern\"===n.type&&n.typeAnnotation&&n.right.start<n.typeAnnotation.start&&this.raise(Pt.TypeAnnotationAfterAssign,{at:n.typeAnnotation}),n}getTokenFromCode(e){if(this.state.inType){if(62===e)return void this.finishOp(48,1);if(60===e)return void this.finishOp(47,1)}super.getTokenFromCode(e)}reScan_lt_gt(){const{type:e}=this.state;47===e?(this.state.pos-=1,this.readToken_lt()):48===e&&(this.state.pos-=1,this.readToken_gt())}reScan_lt(){const{type:e}=this.state;return 51===e?(this.state.pos-=2,this.finishOp(47,1),47):e}toAssignableList(e,t,n){for(let t=0;t<e.length;t++){const n=e[t];\"TSTypeCastExpression\"===(null==n?void 0:n.type)&&(e[t]=this.typeCastToParameter(n))}super.toAssignableList(e,t,n)}typeCastToParameter(e){return e.expression.typeAnnotation=e.typeAnnotation,this.resetEndLocation(e.expression,e.typeAnnotation.loc.end),e.expression}shouldParseArrow(e){return this.match(14)?e.every((e=>this.isAssignable(e,!0))):super.shouldParseArrow(e)}shouldParseAsyncArrow(){return this.match(14)||super.shouldParseAsyncArrow()}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(e){if(this.match(47)||this.match(51)){const t=this.tsTryParseAndCatch((()=>this.tsParseTypeArgumentsInExpression()));t&&(e.typeParameters=t)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){const t=super.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e)[0];return n&&this.isThisParam(n)?t+1:t}parseCatchClauseParam(){const e=super.parseCatchClauseParam(),t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t,this.resetEndLocation(e)),e}tsInAmbientContext(e){const t=this.state.isAmbientContext;this.state.isAmbientContext=!0;try{return e()}finally{this.state.isAmbientContext=t}}parseClass(e,t,n){const r=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,t,n)}finally{this.state.inAbstractClass=r}}tsParseAbstractDeclaration(e,t){if(this.match(80))return e.abstract=!0,this.maybeTakeDecorators(t,this.parseClass(e,!0,!1));if(this.isContextual(127)){if(!this.hasFollowingLineBreak())return e.abstract=!0,this.raise(Pt.NonClassMethodPropertyHasAbstractModifer,{at:e}),this.tsParseInterfaceDeclaration(e)}else this.unexpected(null,80)}parseMethod(e,t,n,r,i,s,a){const o=super.parseMethod(e,t,n,r,i,s,a);if(o.abstract&&(this.hasPlugin(\"estree\")?o.value.body:o.body)){const{key:e}=o;this.raise(Pt.AbstractMethodHasImplementation,{at:o,methodName:\"Identifier\"!==e.type||o.computed?`[${this.input.slice(e.start,e.end)}]`:e.name})}return o}tsParseTypeParameterName(){return this.parseIdentifier().name}shouldParseAsAmbientContext(){return!!this.getPluginOption(\"typescript\",\"dts\")}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}parseExportSpecifier(e,t,n,r){return!t&&r?(this.parseTypeOnlyImportExportSpecifier(e,!1,n),this.finishNode(e,\"ExportSpecifier\")):(e.exportKind=\"value\",super.parseExportSpecifier(e,t,n,r))}parseImportSpecifier(e,t,n,r,i){return!t&&r?(this.parseTypeOnlyImportExportSpecifier(e,!0,n),this.finishNode(e,\"ImportSpecifier\")):(e.importKind=\"value\",super.parseImportSpecifier(e,t,n,r,n?4098:4096))}parseTypeOnlyImportExportSpecifier(e,t,n){const r=t?\"imported\":\"local\",i=t?\"local\":\"exported\";let s,a=e[r],o=!1,l=!0;const c=a.loc.start;if(this.isContextual(93)){const e=this.parseIdentifier();if(this.isContextual(93)){const n=this.parseIdentifier();X(this.state.type)?(o=!0,a=e,s=t?this.parseIdentifier():this.parseModuleExportName(),l=!1):(s=n,l=!1)}else X(this.state.type)?(l=!1,s=t?this.parseIdentifier():this.parseModuleExportName()):(o=!0,a=e)}else X(this.state.type)&&(o=!0,t?(a=this.parseIdentifier(!0),this.isContextual(93)||this.checkReservedWord(a.name,a.loc.start,!0,!0)):a=this.parseModuleExportName());o&&n&&this.raise(t?Pt.TypeModifierIsUsedInTypeImports:Pt.TypeModifierIsUsedInTypeExports,{at:c}),e[r]=a,e[i]=s,e[t?\"importKind\":\"exportKind\"]=o?\"type\":\"value\",l&&this.eatContextual(93)&&(e[i]=t?this.parseIdentifier():this.parseModuleExportName()),e[i]||(e[i]=at(e[r])),t&&this.checkIdentifier(e[i],o?4098:4096)}},v8intrinsic:e=>class extends e{parseV8Intrinsic(){if(this.match(54)){const e=this.state.startLoc,t=this.startNode();if(this.next(),W(this.state.type)){const e=this.parseIdentifierName(),n=this.createIdentifier(t,e);if(n.type=\"V8IntrinsicIdentifier\",this.match(10))return n}this.unexpected(e)}}parseExprAtom(e){return this.parseV8Intrinsic()||super.parseExprAtom(e)}},placeholders:e=>class extends e{parsePlaceholder(e){if(this.match(142)){const t=this.startNode();return this.next(),this.assertNoSpace(),t.name=super.parseIdentifier(!0),this.assertNoSpace(),this.expect(142),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){const n=!(!e.expectedNode||\"Placeholder\"!==e.type);return e.expectedNode=t,n?e:this.finishNode(e,\"Placeholder\")}getTokenFromCode(e){37===e&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(142,2):super.getTokenFromCode(e)}parseExprAtom(e){return this.parsePlaceholder(\"Expression\")||super.parseExprAtom(e)}parseIdentifier(e){return this.parsePlaceholder(\"Identifier\")||super.parseIdentifier(e)}checkReservedWord(e,t,n,r){void 0!==e&&super.checkReservedWord(e,t,n,r)}parseBindingAtom(){return this.parsePlaceholder(\"Pattern\")||super.parseBindingAtom()}isValidLVal(e,t,n){return\"Placeholder\"===e||super.isValidLVal(e,t,n)}toAssignable(e,t){e&&\"Placeholder\"===e.type&&\"Expression\"===e.expectedNode?e.expectedNode=\"Pattern\":super.toAssignable(e,t)}chStartsBindingIdentifier(e,t){return!!super.chStartsBindingIdentifier(e,t)||142===this.lookahead().type}verifyBreakContinue(e,t){e.label&&\"Placeholder\"===e.label.type||super.verifyBreakContinue(e,t)}parseExpressionStatement(e,t){var n;if(\"Placeholder\"!==t.type||null!=(n=t.extra)&&n.parenthesized)return super.parseExpressionStatement(e,t);if(this.match(14)){const n=e;return n.label=this.finishPlaceholder(t,\"Identifier\"),this.next(),n.body=super.parseStatementOrSloppyAnnexBFunctionDeclaration(),this.finishNode(n,\"LabeledStatement\")}return this.semicolon(),e.name=t.name,this.finishPlaceholder(e,\"Statement\")}parseBlock(e,t,n){return this.parsePlaceholder(\"BlockStatement\")||super.parseBlock(e,t,n)}parseFunctionId(e){return this.parsePlaceholder(\"Identifier\")||super.parseFunctionId(e)}parseClass(e,t,n){const r=t?\"ClassDeclaration\":\"ClassExpression\";this.next();const i=this.state.strict,s=this.parsePlaceholder(\"Identifier\");if(s){if(!(this.match(81)||this.match(142)||this.match(5))){if(n||!t)return e.id=null,e.body=this.finishPlaceholder(s,\"ClassBody\"),this.finishNode(e,r);throw this.raise(Ot.ClassNameIsRequired,{at:this.state.startLoc})}e.id=s}else this.parseClassId(e,t,n);return super.parseClassSuper(e),e.body=this.parsePlaceholder(\"ClassBody\")||super.parseClassBody(!!e.superClass,i),this.finishNode(e,r)}parseExport(e,t){const n=this.parsePlaceholder(\"Identifier\");if(!n)return super.parseExport(e,t);if(!this.isContextual(97)&&!this.match(12))return e.specifiers=[],e.source=null,e.declaration=this.finishPlaceholder(n,\"Declaration\"),this.finishNode(e,\"ExportNamedDeclaration\");this.expectPlugin(\"exportDefaultFrom\");const r=this.startNode();return r.exported=n,e.specifiers=[this.finishNode(r,\"ExportDefaultSpecifier\")],super.parseExport(e,t)}isExportDefaultSpecifier(){if(this.match(65)){const e=this.nextTokenStart();if(this.isUnparsedContextual(e,\"from\")&&this.input.startsWith($(142),this.nextTokenStartSince(e+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(e,t){var n;return!(null==(n=e.specifiers)||!n.length)||super.maybeParseExportDefaultSpecifier(e,t)}checkExport(e){const{specifiers:t}=e;null!=t&&t.length&&(e.specifiers=t.filter((e=>\"Placeholder\"===e.exported.type))),super.checkExport(e),e.specifiers=t}parseImport(e){const t=this.parsePlaceholder(\"Identifier\");if(!t)return super.parseImport(e);if(e.specifiers=[],!this.isContextual(97)&&!this.match(12))return e.source=this.finishPlaceholder(t,\"StringLiteral\"),this.semicolon(),this.finishNode(e,\"ImportDeclaration\");const n=this.startNodeAtNode(t);return n.local=t,e.specifiers.push(this.finishNode(n,\"ImportDefaultSpecifier\")),this.eat(12)&&(this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)),this.expectContextual(97),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,\"ImportDeclaration\")}parseImportSource(){return this.parsePlaceholder(\"StringLiteral\")||super.parseImportSource()}assertNoSpace(){this.state.start>this.state.lastTokEndLoc.index&&this.raise(Ot.UnexpectedSpace,{at:this.state.lastTokEndLoc})}}},Mt=Object.keys(_t),Bt={sourceType:\"script\",sourceFilename:void 0,startColumn:0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowNewTargetOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1,attachComment:!0,annexB:!0};class jt extends Et{checkProto(e,t,n,r){if(\"SpreadElement\"===e.type||this.isObjectMethod(e)||e.computed||e.shorthand)return;const i=e.key;if(\"__proto__\"===(\"Identifier\"===i.type?i.name:i.value)){if(t)return void this.raise(g.RecordNoProto,{at:i});n.used&&(r?null===r.doubleProtoLoc&&(r.doubleProtoLoc=i.loc.start):this.raise(g.DuplicateProto,{at:i})),n.used=!0}}shouldExitDescending(e,t){return\"ArrowFunctionExpression\"===e.type&&e.start===t}getExpression(){this.enterInitialScopes(),this.nextToken();const e=this.parseExpression();return this.match(137)||this.unexpected(),this.finalizeRemainingComments(),e.comments=this.state.comments,e.errors=this.state.errors,this.options.tokens&&(e.tokens=this.tokens),e}parseExpression(e,t){return e?this.disallowInAnd((()=>this.parseExpressionBase(t))):this.allowInAnd((()=>this.parseExpressionBase(t)))}parseExpressionBase(e){const t=this.state.startLoc,n=this.parseMaybeAssign(e);if(this.match(12)){const r=this.startNodeAt(t);for(r.expressions=[n];this.eat(12);)r.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(r.expressions),this.finishNode(r,\"SequenceExpression\")}return n}parseMaybeAssignDisallowIn(e,t){return this.disallowInAnd((()=>this.parseMaybeAssign(e,t)))}parseMaybeAssignAllowIn(e,t){return this.allowInAnd((()=>this.parseMaybeAssign(e,t)))}setOptionalParametersError(e,t){var n;e.optionalParametersLoc=null!=(n=null==t?void 0:t.loc)?n:this.state.startLoc}parseMaybeAssign(e,t){const n=this.state.startLoc;if(this.isContextual(106)&&this.prodParam.hasYield){let e=this.parseYield();return t&&(e=t.call(this,e,n)),e}let r;e?r=!1:(e=new rt,r=!0);const{type:i}=this.state;(10===i||W(i))&&(this.state.potentialArrowAt=this.state.start);let s=this.parseMaybeConditional(e);if(t&&(s=t.call(this,s,n)),(a=this.state.type)>=29&&a<=33){const t=this.startNodeAt(n),r=this.state.value;if(t.operator=r,this.match(29)){this.toAssignable(s,!0),t.left=s;const r=n.index;null!=e.doubleProtoLoc&&e.doubleProtoLoc.index>=r&&(e.doubleProtoLoc=null),null!=e.shorthandAssignLoc&&e.shorthandAssignLoc.index>=r&&(e.shorthandAssignLoc=null),null!=e.privateKeyLoc&&e.privateKeyLoc.index>=r&&(this.checkDestructuringPrivate(e),e.privateKeyLoc=null)}else t.left=s;return this.next(),t.right=this.parseMaybeAssign(),this.checkLVal(s,{in:this.finishNode(t,\"AssignmentExpression\")}),t}var a;return r&&this.checkExpressionErrors(e,!0),s}parseMaybeConditional(e){const t=this.state.startLoc,n=this.state.potentialArrowAt,r=this.parseExprOps(e);return this.shouldExitDescending(r,n)?r:this.parseConditional(r,t,e)}parseConditional(e,t,n){if(this.eat(17)){const n=this.startNodeAt(t);return n.test=e,n.consequent=this.parseMaybeAssignAllowIn(),this.expect(14),n.alternate=this.parseMaybeAssign(),this.finishNode(n,\"ConditionalExpression\")}return e}parseMaybeUnaryOrPrivate(e){return this.match(136)?this.parsePrivateName():this.parseMaybeUnary(e)}parseExprOps(e){const t=this.state.startLoc,n=this.state.potentialArrowAt,r=this.parseMaybeUnaryOrPrivate(e);return this.shouldExitDescending(r,n)?r:this.parseExprOp(r,t,-1)}parseExprOp(e,t,n){if(this.isPrivateName(e)){const t=this.getPrivateNameSV(e);(n>=G(58)||!this.prodParam.hasIn||!this.match(58))&&this.raise(g.PrivateInExpectedIn,{at:e,identifierName:t}),this.classScope.usePrivateName(t,e.loc.start)}const r=this.state.type;if((i=r)>=39&&i<=59&&(this.prodParam.hasIn||!this.match(58))){let i=G(r);if(i>n){if(39===r){if(this.expectPlugin(\"pipelineOperator\"),this.state.inFSharpPipelineDirectBody)return e;this.checkPipelineAtInfixOperator(e,t)}const s=this.startNodeAt(t);s.left=e,s.operator=this.state.value;const a=41===r||42===r,o=40===r;if(o&&(i=G(42)),this.next(),39===r&&this.hasPlugin([\"pipelineOperator\",{proposal:\"minimal\"}])&&96===this.state.type&&this.prodParam.hasAwait)throw this.raise(g.UnexpectedAwaitAfterPipelineBody,{at:this.state.startLoc});s.right=this.parseExprOpRightExpr(r,i);const l=this.finishNode(s,a||o?\"LogicalExpression\":\"BinaryExpression\"),c=this.state.type;if(o&&(41===c||42===c)||a&&40===c)throw this.raise(g.MixingCoalesceWithLogical,{at:this.state.startLoc});return this.parseExprOp(l,t,n)}}var i;return e}parseExprOpRightExpr(e,t){const n=this.state.startLoc;if(39===e)switch(this.getPluginOption(\"pipelineOperator\",\"proposal\")){case\"hack\":return this.withTopicBindingContext((()=>this.parseHackPipeBody()));case\"smart\":return this.withTopicBindingContext((()=>{if(this.prodParam.hasYield&&this.isContextual(106))throw this.raise(g.PipeBodyIsTighter,{at:this.state.startLoc});return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(e,t),n)}));case\"fsharp\":return this.withSoloAwaitPermittingContext((()=>this.parseFSharpPipelineBody(t)))}return this.parseExprOpBaseRightExpr(e,t)}parseExprOpBaseRightExpr(e,t){const n=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnaryOrPrivate(),n,57===e?t-1:t)}parseHackPipeBody(){var e;const{startLoc:t}=this.state,n=this.parseMaybeAssign();return!p.has(n.type)||null!=(e=n.extra)&&e.parenthesized||this.raise(g.PipeUnparenthesizedBody,{at:t,type:n.type}),this.topicReferenceWasUsedInCurrentContext()||this.raise(g.PipeTopicUnused,{at:t}),n}checkExponentialAfterUnary(e){this.match(57)&&this.raise(g.UnexpectedTokenUnaryExponentiation,{at:e.argument})}parseMaybeUnary(e,t){const n=this.state.startLoc,r=this.isContextual(96);if(r&&this.isAwaitAllowed()){this.next();const e=this.parseAwait(n);return t||this.checkExponentialAfterUnary(e),e}const i=this.match(34),s=this.startNode();if(a=this.state.type,R[a]){s.operator=this.state.value,s.prefix=!0,this.match(72)&&this.expectPlugin(\"throwExpressions\");const n=this.match(89);if(this.next(),s.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),this.state.strict&&n){const e=s.argument;\"Identifier\"===e.type?this.raise(g.StrictDelete,{at:s}):this.hasPropertyAsPrivateName(e)&&this.raise(g.DeletePrivateField,{at:s})}if(!i)return t||this.checkExponentialAfterUnary(s),this.finishNode(s,\"UnaryExpression\")}var a;const o=this.parseUpdate(s,i,e);if(r){const{type:e}=this.state;if((this.hasPlugin(\"v8intrinsic\")?q(e):q(e)&&!this.match(54))&&!this.isAmbiguousAwait())return this.raiseOverwrite(g.AwaitNotInAsyncContext,{at:n}),this.parseAwait(n)}return o}parseUpdate(e,t,n){if(t){const t=e;return this.checkLVal(t.argument,{in:this.finishNode(t,\"UpdateExpression\")}),e}const r=this.state.startLoc;let i=this.parseExprSubscripts(n);if(this.checkExpressionErrors(n,!1))return i;for(;34===this.state.type&&!this.canInsertSemicolon();){const e=this.startNodeAt(r);e.operator=this.state.value,e.prefix=!1,e.argument=i,this.next(),this.checkLVal(i,{in:i=this.finishNode(e,\"UpdateExpression\")})}return i}parseExprSubscripts(e){const t=this.state.startLoc,n=this.state.potentialArrowAt,r=this.parseExprAtom(e);return this.shouldExitDescending(r,n)?r:this.parseSubscripts(r,t)}parseSubscripts(e,t,n){const r={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do{e=this.parseSubscript(e,t,n,r),r.maybeAsyncArrow=!1}while(!r.stop);return e}parseSubscript(e,t,n,r){const{type:i}=this.state;if(!n&&15===i)return this.parseBind(e,t,n,r);if(z(i))return this.parseTaggedTemplateExpression(e,t,r);let s=!1;if(18===i){if(n&&(this.raise(g.OptionalChainingNoNew,{at:this.state.startLoc}),40===this.lookaheadCharCode()))return r.stop=!0,e;r.optionalChainMember=s=!0,this.next()}if(!n&&this.match(10))return this.parseCoverCallAndAsyncArrowHead(e,t,r,s);{const n=this.eat(0);return n||s||this.eat(16)?this.parseMember(e,t,r,n,s):(r.stop=!0,e)}}parseMember(e,t,n,r,i){const s=this.startNodeAt(t);return s.object=e,s.computed=r,r?(s.property=this.parseExpression(),this.expect(3)):this.match(136)?(\"Super\"===e.type&&this.raise(g.SuperPrivateField,{at:t}),this.classScope.usePrivateName(this.state.value,this.state.startLoc),s.property=this.parsePrivateName()):s.property=this.parseIdentifier(!0),n.optionalChainMember?(s.optional=i,this.finishNode(s,\"OptionalMemberExpression\")):this.finishNode(s,\"MemberExpression\")}parseBind(e,t,n,r){const i=this.startNodeAt(t);return i.object=e,this.next(),i.callee=this.parseNoCallExpr(),r.stop=!0,this.parseSubscripts(this.finishNode(i,\"BindExpression\"),t,n)}parseCoverCallAndAsyncArrowHead(e,t,n,r){const i=this.state.maybeInArrowParameters;let s=null;this.state.maybeInArrowParameters=!0,this.next();const a=this.startNodeAt(t);a.callee=e;const{maybeAsyncArrow:o,optionalChainMember:l}=n;o&&(this.expressionScope.enter(new ze(2)),s=new rt),l&&(a.optional=r),a.arguments=r?this.parseCallExpressionArguments(11):this.parseCallExpressionArguments(11,\"Import\"===e.type,\"Super\"!==e.type,a,s);let c=this.finishCallExpression(a,l);return o&&this.shouldParseAsyncArrow()&&!r?(n.stop=!0,this.checkDestructuringPrivate(s),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),c=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t),c)):(o&&(this.checkExpressionErrors(s,!0),this.expressionScope.exit()),this.toReferencedArguments(c)),this.state.maybeInArrowParameters=i,c}toReferencedArguments(e,t){this.toReferencedListDeep(e.arguments,t)}parseTaggedTemplateExpression(e,t,n){const r=this.startNodeAt(t);return r.tag=e,r.quasi=this.parseTemplate(!0),n.optionalChainMember&&this.raise(g.OptionalChainingNoTemplate,{at:t}),this.finishNode(r,\"TaggedTemplateExpression\")}atPossibleAsyncArrow(e){return\"Identifier\"===e.type&&\"async\"===e.name&&this.state.lastTokEndLoc.index===e.end&&!this.canInsertSemicolon()&&e.end-e.start==5&&e.start===this.state.potentialArrowAt}expectImportAttributesPlugin(){this.hasPlugin(\"importAssertions\")||this.expectPlugin(\"importAttributes\")}finishCallExpression(e,t){if(\"Import\"===e.callee.type)if(2===e.arguments.length&&(this.hasPlugin(\"moduleAttributes\")||this.expectImportAttributesPlugin()),0===e.arguments.length||e.arguments.length>2)this.raise(g.ImportCallArity,{at:e,maxArgumentCount:this.hasPlugin(\"importAttributes\")||this.hasPlugin(\"importAssertions\")||this.hasPlugin(\"moduleAttributes\")?2:1});else for(const t of e.arguments)\"SpreadElement\"===t.type&&this.raise(g.ImportCallSpreadArgument,{at:t});return this.finishNode(e,t?\"OptionalCallExpression\":\"CallExpression\")}parseCallExpressionArguments(e,t,n,r,i){const s=[];let a=!0;const o=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(e);){if(a)a=!1;else if(this.expect(12),this.match(e)){!t||this.hasPlugin(\"importAttributes\")||this.hasPlugin(\"importAssertions\")||this.hasPlugin(\"moduleAttributes\")||this.raise(g.ImportCallArgumentTrailingComma,{at:this.state.lastTokStartLoc}),r&&this.addTrailingCommaExtraToNode(r),this.next();break}s.push(this.parseExprListItem(!1,i,n))}return this.state.inFSharpPipelineDirectBody=o,s}shouldParseAsyncArrow(){return this.match(19)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(e,t){var n;return this.resetPreviousNodeTrailingComments(t),this.expect(19),this.parseArrowExpression(e,t.arguments,!0,null==(n=t.extra)?void 0:n.trailingCommaLoc),t.innerComments&&Pe(e,t.innerComments),t.callee.trailingComments&&Pe(e,t.callee.trailingComments),e}parseNoCallExpr(){const e=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),e,!0)}parseExprAtom(e){let t,n=null;const{type:r}=this.state;switch(r){case 79:return this.parseSuper();case 83:return t=this.startNode(),this.next(),this.match(16)?this.parseImportMetaProperty(t):(this.match(10)||this.raise(g.UnsupportedImport,{at:this.state.lastTokStartLoc}),this.finishNode(t,\"Import\"));case 78:return t=this.startNode(),this.next(),this.finishNode(t,\"ThisExpression\");case 90:return this.parseDo(this.startNode(),!1);case 56:case 31:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case 132:return this.parseNumericLiteral(this.state.value);case 133:return this.parseBigIntLiteral(this.state.value);case 134:return this.parseDecimalLiteral(this.state.value);case 131:return this.parseStringLiteral(this.state.value);case 84:return this.parseNullLiteral();case 85:return this.parseBooleanLiteral(!0);case 86:return this.parseBooleanLiteral(!1);case 10:{const e=this.state.potentialArrowAt===this.state.start;return this.parseParenAndDistinguishExpression(e)}case 2:case 1:return this.parseArrayLike(2===this.state.type?4:3,!1,!0);case 0:return this.parseArrayLike(3,!0,!1,e);case 6:case 7:return this.parseObjectLike(6===this.state.type?9:8,!1,!0);case 5:return this.parseObjectLike(8,!1,!1,e);case 68:return this.parseFunctionOrFunctionSent();case 26:n=this.parseDecorators();case 80:return this.parseClass(this.maybeTakeDecorators(n,this.startNode()),!1);case 77:return this.parseNewOrNewTarget();case 25:case 24:return this.parseTemplate(!1);case 15:{t=this.startNode(),this.next(),t.object=null;const e=t.callee=this.parseNoCallExpr();if(\"MemberExpression\"===e.type)return this.finishNode(t,\"BindExpression\");throw this.raise(g.UnsupportedBind,{at:e})}case 136:return this.raise(g.PrivateInExpectedIn,{at:this.state.startLoc,identifierName:this.state.value}),this.parsePrivateName();case 33:return this.parseTopicReferenceThenEqualsSign(54,\"%\");case 32:return this.parseTopicReferenceThenEqualsSign(44,\"^\");case 37:case 38:return this.parseTopicReference(\"hack\");case 44:case 54:case 27:{const e=this.getPluginOption(\"pipelineOperator\",\"proposal\");if(e)return this.parseTopicReference(e);this.unexpected();break}case 47:{const e=this.input.codePointAt(this.nextTokenStart());ae(e)||62===e?this.expectOnePlugin([\"jsx\",\"flow\",\"typescript\"]):this.unexpected();break}default:if(W(r)){if(this.isContextual(125)&&123===this.lookaheadInLineCharCode())return this.parseModuleExpression();const e=this.state.potentialArrowAt===this.state.start,t=this.state.containsEsc,n=this.parseIdentifier();if(!t&&\"async\"===n.name&&!this.canInsertSemicolon()){const{type:e}=this.state;if(68===e)return this.resetPreviousNodeTrailingComments(n),this.next(),this.parseAsyncFunctionExpression(this.startNodeAtNode(n));if(W(e))return 61===this.lookaheadCharCode()?this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(n)):n;if(90===e)return this.resetPreviousNodeTrailingComments(n),this.parseDo(this.startNodeAtNode(n),!0)}return e&&this.match(19)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(n),[n],!1)):n}this.unexpected()}}parseTopicReferenceThenEqualsSign(e,t){const n=this.getPluginOption(\"pipelineOperator\",\"proposal\");if(n)return this.state.type=e,this.state.value=t,this.state.pos--,this.state.end--,this.state.endLoc=s(this.state.endLoc,-1),this.parseTopicReference(n);this.unexpected()}parseTopicReference(e){const t=this.startNode(),n=this.state.startLoc,r=this.state.type;return this.next(),this.finishTopicReference(t,n,e,r)}finishTopicReference(e,t,n,r){if(this.testTopicReferenceConfiguration(n,t,r)){const r=\"smart\"===n?\"PipelinePrimaryTopicReference\":\"TopicReference\";return this.topicReferenceIsAllowedInCurrentContext()||this.raise(\"smart\"===n?g.PrimaryTopicNotAllowed:g.PipeTopicUnbound,{at:t}),this.registerTopicReference(),this.finishNode(e,r)}throw this.raise(g.PipeTopicUnconfiguredToken,{at:t,token:$(r)})}testTopicReferenceConfiguration(e,t,n){switch(e){case\"hack\":return this.hasPlugin([\"pipelineOperator\",{topicToken:$(n)}]);case\"smart\":return 27===n;default:throw this.raise(g.PipeTopicRequiresHackPipes,{at:t})}}parseAsyncArrowUnaryFunction(e){this.prodParam.enter(tt(!0,this.prodParam.hasYield));const t=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(g.LineTerminatorBeforeArrow,{at:this.state.curPosition()}),this.expect(19),this.parseArrowExpression(e,t,!0)}parseDo(e,t){this.expectPlugin(\"doExpressions\"),t&&this.expectPlugin(\"asyncDoExpressions\"),e.async=t,this.next();const n=this.state.labels;return this.state.labels=[],t?(this.prodParam.enter(2),e.body=this.parseBlock(),this.prodParam.exit()):e.body=this.parseBlock(),this.state.labels=n,this.finishNode(e,\"DoExpression\")}parseSuper(){const e=this.startNode();return this.next(),!this.match(10)||this.scope.allowDirectSuper||this.options.allowSuperOutsideMethod?this.scope.allowSuper||this.options.allowSuperOutsideMethod||this.raise(g.UnexpectedSuper,{at:e}):this.raise(g.SuperNotAllowed,{at:e}),this.match(10)||this.match(0)||this.match(16)||this.raise(g.UnsupportedSuper,{at:e}),this.finishNode(e,\"Super\")}parsePrivateName(){const e=this.startNode(),t=this.startNodeAt(s(this.state.startLoc,1)),n=this.state.value;return this.next(),e.id=this.createIdentifier(t,n),this.finishNode(e,\"PrivateName\")}parseFunctionOrFunctionSent(){const e=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(16)){const t=this.createIdentifier(this.startNodeAtNode(e),\"function\");return this.next(),this.match(102)?this.expectPlugin(\"functionSent\"):this.hasPlugin(\"functionSent\")||this.unexpected(),this.parseMetaProperty(e,t,\"sent\")}return this.parseFunction(e)}parseMetaProperty(e,t,n){e.meta=t;const r=this.state.containsEsc;return e.property=this.parseIdentifier(!0),(e.property.name!==n||r)&&this.raise(g.UnsupportedMetaProperty,{at:e.property,target:t.name,onlyValidPropertyName:n}),this.finishNode(e,\"MetaProperty\")}parseImportMetaProperty(e){const t=this.createIdentifier(this.startNodeAtNode(e),\"import\");return this.next(),this.isContextual(100)&&(this.inModule||this.raise(g.ImportMetaOutsideModule,{at:t}),this.sawUnambiguousESM=!0),this.parseMetaProperty(e,t,\"meta\")}parseLiteralAtNode(e,t,n){return this.addExtra(n,\"rawValue\",e),this.addExtra(n,\"raw\",this.input.slice(n.start,this.state.end)),n.value=e,this.next(),this.finishNode(n,t)}parseLiteral(e,t){const n=this.startNode();return this.parseLiteralAtNode(e,t,n)}parseStringLiteral(e){return this.parseLiteral(e,\"StringLiteral\")}parseNumericLiteral(e){return this.parseLiteral(e,\"NumericLiteral\")}parseBigIntLiteral(e){return this.parseLiteral(e,\"BigIntLiteral\")}parseDecimalLiteral(e){return this.parseLiteral(e,\"DecimalLiteral\")}parseRegExpLiteral(e){const t=this.parseLiteral(e.value,\"RegExpLiteral\");return t.pattern=e.pattern,t.flags=e.flags,t}parseBooleanLiteral(e){const t=this.startNode();return t.value=e,this.next(),this.finishNode(t,\"BooleanLiteral\")}parseNullLiteral(){const e=this.startNode();return this.next(),this.finishNode(e,\"NullLiteral\")}parseParenAndDistinguishExpression(e){const t=this.state.startLoc;let n;this.next(),this.expressionScope.enter(new ze(1));const r=this.state.maybeInArrowParameters,i=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;const s=this.state.startLoc,a=[],o=new rt;let l,c,u=!0;for(;!this.match(11);){if(u)u=!1;else if(this.expect(12,null===o.optionalParametersLoc?null:o.optionalParametersLoc),this.match(11)){c=this.state.startLoc;break}if(this.match(21)){const e=this.state.startLoc;if(l=this.state.startLoc,a.push(this.parseParenItem(this.parseRestBinding(),e)),!this.checkCommaAfterRest(41))break}else a.push(this.parseMaybeAssignAllowIn(o,this.parseParenItem))}const p=this.state.lastTokEndLoc;this.expect(11),this.state.maybeInArrowParameters=r,this.state.inFSharpPipelineDirectBody=i;let h=this.startNodeAt(t);return e&&this.shouldParseArrow(a)&&(h=this.parseArrow(h))?(this.checkDestructuringPrivate(o),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(h,a,!1),h):(this.expressionScope.exit(),a.length||this.unexpected(this.state.lastTokStartLoc),c&&this.unexpected(c),l&&this.unexpected(l),this.checkExpressionErrors(o,!0),this.toReferencedListDeep(a,!0),a.length>1?(n=this.startNodeAt(s),n.expressions=a,this.finishNode(n,\"SequenceExpression\"),this.resetEndLocation(n,p)):n=a[0],this.wrapParenthesis(t,n))}wrapParenthesis(e,t){if(!this.options.createParenthesizedExpressions)return this.addExtra(t,\"parenthesized\",!0),this.addExtra(t,\"parenStart\",e.index),this.takeSurroundingComments(t,e.index,this.state.lastTokEndLoc.index),t;const n=this.startNodeAt(e);return n.expression=t,this.finishNode(n,\"ParenthesizedExpression\")}shouldParseArrow(e){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(19))return e}parseParenItem(e,t){return e}parseNewOrNewTarget(){const e=this.startNode();if(this.next(),this.match(16)){const t=this.createIdentifier(this.startNodeAtNode(e),\"new\");this.next();const n=this.parseMetaProperty(e,t,\"target\");return this.scope.inNonArrowFunction||this.scope.inClass||this.options.allowNewTargetOutsideFunction||this.raise(g.UnexpectedNewTarget,{at:n}),n}return this.parseNew(e)}parseNew(e){if(this.parseNewCallee(e),this.eat(10)){const t=this.parseExprList(11);this.toReferencedList(t),e.arguments=t}else e.arguments=[];return this.finishNode(e,\"NewExpression\")}parseNewCallee(e){e.callee=this.parseNoCallExpr(),\"Import\"===e.callee.type&&this.raise(g.ImportCallNotNewExpression,{at:e.callee})}parseTemplateElement(e){const{start:t,startLoc:n,end:r,value:i}=this.state,a=t+1,o=this.startNodeAt(s(n,1));null===i&&(e||this.raise(g.InvalidEscapeSequenceTemplate,{at:s(this.state.firstInvalidTemplateEscapePos,1)}));const l=this.match(24),c=l?-1:-2,u=r+c;o.value={raw:this.input.slice(a,u).replace(/\\r\\n?/g,\"\\n\"),cooked:null===i?null:i.slice(1,c)},o.tail=l,this.next();const p=this.finishNode(o,\"TemplateElement\");return this.resetEndLocation(p,s(this.state.lastTokEndLoc,c)),p}parseTemplate(e){const t=this.startNode();t.expressions=[];let n=this.parseTemplateElement(e);for(t.quasis=[n];!n.tail;)t.expressions.push(this.parseTemplateSubstitution()),this.readTemplateContinuation(),t.quasis.push(n=this.parseTemplateElement(e));return this.finishNode(t,\"TemplateLiteral\")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,n,r){n&&this.expectPlugin(\"recordAndTuple\");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const s=Object.create(null);let a=!0;const o=this.startNode();for(o.properties=[],this.next();!this.match(e);){if(a)a=!1;else if(this.expect(12),this.match(e)){this.addTrailingCommaExtraToNode(o);break}let i;t?i=this.parseBindingProperty():(i=this.parsePropertyDefinition(r),this.checkProto(i,n,s,r)),n&&!this.isObjectProperty(i)&&\"SpreadElement\"!==i.type&&this.raise(g.InvalidRecordProperty,{at:i}),i.shorthand&&this.addExtra(i,\"shorthand\",!0),o.properties.push(i)}this.next(),this.state.inFSharpPipelineDirectBody=i;let l=\"ObjectExpression\";return t?l=\"ObjectPattern\":n&&(l=\"RecordExpression\"),this.finishNode(o,l)}addTrailingCommaExtraToNode(e){this.addExtra(e,\"trailingComma\",this.state.lastTokStart),this.addExtra(e,\"trailingCommaLoc\",this.state.lastTokStartLoc,!1)}maybeAsyncOrAccessorProp(e){return!e.computed&&\"Identifier\"===e.key.type&&(this.isLiteralPropertyName()||this.match(0)||this.match(55))}parsePropertyDefinition(e){let t=[];if(this.match(26))for(this.hasPlugin(\"decorators\")&&this.raise(g.UnsupportedPropertyDecorator,{at:this.state.startLoc});this.match(26);)t.push(this.parseDecorator());const n=this.startNode();let r,i=!1,s=!1;if(this.match(21))return t.length&&this.unexpected(),this.parseSpread();t.length&&(n.decorators=t,t=[]),n.method=!1,e&&(r=this.state.startLoc);let a=this.eat(55);this.parsePropertyNamePrefixOperator(n);const o=this.state.containsEsc,l=this.parsePropertyName(n,e);if(!a&&!o&&this.maybeAsyncOrAccessorProp(n)){const e=l.name;\"async\"!==e||this.hasPrecedingLineBreak()||(i=!0,this.resetPreviousNodeTrailingComments(l),a=this.eat(55),this.parsePropertyName(n)),\"get\"!==e&&\"set\"!==e||(s=!0,this.resetPreviousNodeTrailingComments(l),n.kind=e,this.match(55)&&(a=!0,this.raise(g.AccessorIsGenerator,{at:this.state.curPosition(),kind:e}),this.next()),this.parsePropertyName(n))}return this.parseObjPropValue(n,r,a,i,!1,s,e)}getGetterSetterExpectedParamCount(e){return\"get\"===e.kind?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){var t;const n=this.getGetterSetterExpectedParamCount(e),r=this.getObjectOrClassMethodParams(e);r.length!==n&&this.raise(\"get\"===e.kind?g.BadGetterArity:g.BadSetterArity,{at:e}),\"set\"===e.kind&&\"RestElement\"===(null==(t=r[r.length-1])?void 0:t.type)&&this.raise(g.BadSetterRestParameter,{at:e})}parseObjectMethod(e,t,n,r,i){if(i){const n=this.parseMethod(e,t,!1,!1,!1,\"ObjectMethod\");return this.checkGetterSetterParams(n),n}if(n||t||this.match(10))return r&&this.unexpected(),e.kind=\"method\",e.method=!0,this.parseMethod(e,t,n,!1,!1,\"ObjectMethod\")}parseObjectProperty(e,t,n,r){if(e.shorthand=!1,this.eat(14))return e.value=n?this.parseMaybeDefault(this.state.startLoc):this.parseMaybeAssignAllowIn(r),this.finishNode(e,\"ObjectProperty\");if(!e.computed&&\"Identifier\"===e.key.type){if(this.checkReservedWord(e.key.name,e.key.loc.start,!0,!1),n)e.value=this.parseMaybeDefault(t,at(e.key));else if(this.match(29)){const n=this.state.startLoc;null!=r?null===r.shorthandAssignLoc&&(r.shorthandAssignLoc=n):this.raise(g.InvalidCoverInitializedName,{at:n}),e.value=this.parseMaybeDefault(t,at(e.key))}else e.value=at(e.key);return e.shorthand=!0,this.finishNode(e,\"ObjectProperty\")}}parseObjPropValue(e,t,n,r,i,s,a){const o=this.parseObjectMethod(e,n,r,i,s)||this.parseObjectProperty(e,t,i,a);return o||this.unexpected(),o}parsePropertyName(e,t){if(this.eat(0))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(3);else{const{type:n,value:r}=this.state;let i;if(X(n))i=this.parseIdentifier(!0);else switch(n){case 132:i=this.parseNumericLiteral(r);break;case 131:i=this.parseStringLiteral(r);break;case 133:i=this.parseBigIntLiteral(r);break;case 134:i=this.parseDecimalLiteral(r);break;case 136:{const e=this.state.startLoc;null!=t?null===t.privateKeyLoc&&(t.privateKeyLoc=e):this.raise(g.UnexpectedPrivateField,{at:e}),i=this.parsePrivateName();break}default:this.unexpected()}e.key=i,136!==n&&(e.computed=!1)}return e.key}initFunction(e,t){e.id=null,e.generator=!1,e.async=t}parseMethod(e,t,n,r,i,s,a=!1){this.initFunction(e,n),e.generator=t,this.scope.enter(18|(a?64:0)|(i?32:0)),this.prodParam.enter(tt(n,e.generator)),this.parseFunctionParams(e,r);const o=this.parseFunctionBodyAndFinish(e,s,!0);return this.prodParam.exit(),this.scope.exit(),o}parseArrayLike(e,t,n,r){n&&this.expectPlugin(\"recordAndTuple\");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const s=this.startNode();return this.next(),s.elements=this.parseExprList(e,!n,r,s),this.state.inFSharpPipelineDirectBody=i,this.finishNode(s,n?\"TupleExpression\":\"ArrayExpression\")}parseArrowExpression(e,t,n,r){this.scope.enter(6);let i=tt(n,!1);!this.match(5)&&this.prodParam.hasIn&&(i|=8),this.prodParam.enter(i),this.initFunction(e,n);const s=this.state.maybeInArrowParameters;return t&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(e,t,r)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(e,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=s,this.finishNode(e,\"ArrowFunctionExpression\")}setArrowFunctionParameters(e,t,n){this.toAssignableList(t,n,!1),e.params=t}parseFunctionBodyAndFinish(e,t,n=!1){return this.parseFunctionBody(e,!1,n),this.finishNode(e,t)}parseFunctionBody(e,t,n=!1){const r=t&&!this.match(5);if(this.expressionScope.enter(Ze()),r)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{const r=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),e.body=this.parseBlock(!0,!1,(i=>{const s=!this.isSimpleParamList(e.params);i&&s&&this.raise(g.IllegalLanguageModeDirective,{at:\"method\"!==e.kind&&\"constructor\"!==e.kind||!e.key?e:e.key.loc.end});const a=!r&&this.state.strict;this.checkParams(e,!(this.state.strict||t||n||s),t,a),this.state.strict&&e.id&&this.checkIdentifier(e.id,65,a)})),this.prodParam.exit(),this.state.labels=i}this.expressionScope.exit()}isSimpleParameter(e){return\"Identifier\"===e.type}isSimpleParamList(e){for(let t=0,n=e.length;t<n;t++)if(!this.isSimpleParameter(e[t]))return!1;return!0}checkParams(e,t,n,r=!0){const i=!t&&new Set,s={type:\"FormalParameters\"};for(const t of e.params)this.checkLVal(t,{in:s,binding:5,checkClashes:i,strictModeChanged:r})}parseExprList(e,t,n,r){const i=[];let s=!0;for(;!this.eat(e);){if(s)s=!1;else if(this.expect(12),this.match(e)){r&&this.addTrailingCommaExtraToNode(r),this.next();break}i.push(this.parseExprListItem(t,n))}return i}parseExprListItem(e,t,n){let r;if(this.match(12))e||this.raise(g.UnexpectedToken,{at:this.state.curPosition(),unexpected:\",\"}),r=null;else if(this.match(21)){const e=this.state.startLoc;r=this.parseParenItem(this.parseSpread(t),e)}else if(this.match(17)){this.expectPlugin(\"partialApplication\"),n||this.raise(g.UnexpectedArgumentPlaceholder,{at:this.state.startLoc});const e=this.startNode();this.next(),r=this.finishNode(e,\"ArgumentPlaceholder\")}else r=this.parseMaybeAssignAllowIn(t,this.parseParenItem);return r}parseIdentifier(e){const t=this.startNode(),n=this.parseIdentifierName(e);return this.createIdentifier(t,n)}createIdentifier(e,t){return e.name=t,e.loc.identifierName=t,this.finishNode(e,\"Identifier\")}parseIdentifierName(e){let t;const{startLoc:n,type:r}=this.state;X(r)?t=this.state.value:this.unexpected();const i=r<=92;return e?i&&this.replaceToken(130):this.checkReservedWord(t,n,i,!1),this.next(),t}checkReservedWord(e,t,n,r){if(!(e.length>10)&&function(e){return ye.has(e)}(e))if(n&&function(e){return le.has(e)}(e))this.raise(g.UnexpectedKeyword,{at:t,keyword:e});else if((this.state.strict?r?fe:he:pe)(e,this.inModule))this.raise(g.UnexpectedReservedWord,{at:t,reservedWord:e});else if(\"yield\"===e){if(this.prodParam.hasYield)return void this.raise(g.YieldBindingIdentifier,{at:t})}else if(\"await\"===e){if(this.prodParam.hasAwait)return void this.raise(g.AwaitBindingIdentifier,{at:t});if(this.scope.inStaticBlock)return void this.raise(g.AwaitBindingIdentifierInStaticBlock,{at:t});this.expressionScope.recordAsyncArrowParametersError({at:t})}else if(\"arguments\"===e&&this.scope.inClassAndNotInNonArrowFunction)return void this.raise(g.ArgumentsInClass,{at:t})}isAwaitAllowed(){return!!this.prodParam.hasAwait||!(!this.options.allowAwaitOutsideFunction||this.scope.inFunction)}parseAwait(e){const t=this.startNodeAt(e);return this.expressionScope.recordParameterInitializerError(g.AwaitExpressionFormalParameter,{at:t}),this.eat(55)&&this.raise(g.ObsoleteAwaitStar,{at:t}),this.scope.inFunction||this.options.allowAwaitOutsideFunction||(this.isAmbiguousAwait()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),this.state.soloAwait||(t.argument=this.parseMaybeUnary(null,!0)),this.finishNode(t,\"AwaitExpression\")}isAmbiguousAwait(){if(this.hasPrecedingLineBreak())return!0;const{type:e}=this.state;return 53===e||10===e||0===e||z(e)||101===e&&!this.state.containsEsc||135===e||56===e||this.hasPlugin(\"v8intrinsic\")&&54===e}parseYield(){const e=this.startNode();this.expressionScope.recordParameterInitializerError(g.YieldInParameter,{at:e}),this.next();let t=!1,n=null;if(!this.hasPrecedingLineBreak())switch(t=this.eat(55),this.state.type){case 13:case 137:case 8:case 11:case 3:case 9:case 14:case 12:if(!t)break;default:n=this.parseMaybeAssign()}return e.delegate=t,e.argument=n,this.finishNode(e,\"YieldExpression\")}checkPipelineAtInfixOperator(e,t){this.hasPlugin([\"pipelineOperator\",{proposal:\"smart\"}])&&\"SequenceExpression\"===e.type&&this.raise(g.PipelineHeadSequenceExpression,{at:t})}parseSmartPipelineBodyInStyle(e,t){if(this.isSimpleReference(e)){const n=this.startNodeAt(t);return n.callee=e,this.finishNode(n,\"PipelineBareFunction\")}{const n=this.startNodeAt(t);return this.checkSmartPipeTopicBodyEarlyErrors(t),n.expression=e,this.finishNode(n,\"PipelineTopicExpression\")}}isSimpleReference(e){switch(e.type){case\"MemberExpression\":return!e.computed&&this.isSimpleReference(e.object);case\"Identifier\":return!0;default:return!1}}checkSmartPipeTopicBodyEarlyErrors(e){if(this.match(19))throw this.raise(g.PipelineBodyNoArrow,{at:this.state.startLoc});this.topicReferenceWasUsedInCurrentContext()||this.raise(g.PipelineTopicUnused,{at:e})}withTopicBindingContext(e){const t=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return e()}finally{this.state.topicContext=t}}withSmartMixTopicForbiddingContext(e){if(!this.hasPlugin([\"pipelineOperator\",{proposal:\"smart\"}]))return e();{const t=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null};try{return e()}finally{this.state.topicContext=t}}}withSoloAwaitPermittingContext(e){const t=this.state.soloAwait;this.state.soloAwait=!0;try{return e()}finally{this.state.soloAwait=t}}allowInAnd(e){const t=this.prodParam.currentFlags();if(8&~t){this.prodParam.enter(8|t);try{return e()}finally{this.prodParam.exit()}}return e()}disallowInAnd(e){const t=this.prodParam.currentFlags();if(8&t){this.prodParam.enter(-9&t);try{return e()}finally{this.prodParam.exit()}}return e()}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}topicReferenceIsAllowedInCurrentContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(e){const t=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const r=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),t,e);return this.state.inFSharpPipelineDirectBody=n,r}parseModuleExpression(){this.expectPlugin(\"moduleBlocks\");const e=this.startNode();this.next(),this.match(5)||this.unexpected(null,5);const t=this.startNodeAt(this.state.endLoc);this.next();const n=this.initializeScopes(!0);this.enterInitialScopes();try{e.body=this.parseProgram(t,8,\"module\")}finally{n()}return this.finishNode(e,\"ModuleExpression\")}parsePropertyNamePrefixOperator(e){}}const Rt={kind:\"loop\"},Ut={kind:\"switch\"},Vt=/[\\uD800-\\uDFFF]/u,Kt=/in(?:stanceof)?/y;class Wt extends jt{parseTopLevel(e,t){return e.program=this.parseProgram(t),e.comments=this.state.comments,this.options.tokens&&(e.tokens=function(e,t){for(let n=0;n<e.length;n++){const r=e[n],{type:i}=r;if(\"number\"==typeof i){if(136===i){const{loc:t,start:i,value:a,end:o}=r,l=i+1,c=s(t.start,1);e.splice(n,1,new qe({type:Q(27),value:\"#\",start:i,end:l,startLoc:t.start,endLoc:c}),new qe({type:Q(130),value:a,start:l,end:o,startLoc:c,endLoc:t.end})),n++;continue}if(z(i)){const{loc:a,start:o,value:l,end:c}=r,u=o+1,p=s(a.start,1);let h,d,f,y,m;h=96===t.charCodeAt(o)?new qe({type:Q(22),value:\"`\",start:o,end:u,startLoc:a.start,endLoc:p}):new qe({type:Q(8),value:\"}\",start:o,end:u,startLoc:a.start,endLoc:p}),24===i?(f=c-1,y=s(a.end,-1),d=null===l?null:l.slice(1,-1),m=new qe({type:Q(22),value:\"`\",start:f,end:c,startLoc:y,endLoc:a.end})):(f=c-2,y=s(a.end,-2),d=null===l?null:l.slice(1,-2),m=new qe({type:Q(23),value:\"${\",start:f,end:c,startLoc:y,endLoc:a.end})),e.splice(n,1,h,new qe({type:Q(20),value:d,start:u,end:f,startLoc:p,endLoc:y}),m),n+=2;continue}r.type=Q(i)}}return e}(this.tokens,this.input)),this.finishNode(e,\"File\")}parseProgram(e,t=137,n=this.options.sourceType){if(e.sourceType=n,e.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(e,!0,!0,t),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(const[e,t]of Array.from(this.scope.undefinedExports))this.raise(g.ModuleExportUndefined,{at:t,localName:e});let r;return r=137===t?this.finishNode(e,\"Program\"):this.finishNodeAt(e,\"Program\",s(this.state.startLoc,-1)),r}stmtToDirective(e){const t=e;t.type=\"Directive\",t.value=t.expression,delete t.expression;const n=t.value,r=n.value,i=this.input.slice(n.start,n.end),s=n.value=i.slice(1,-1);return this.addExtra(n,\"raw\",i),this.addExtra(n,\"rawValue\",s),this.addExtra(n,\"expressionValue\",r),n.type=\"DirectiveLiteral\",t}parseInterpreterDirective(){if(!this.match(28))return null;const e=this.startNode();return e.value=this.state.value,this.next(),this.finishNode(e,\"InterpreterDirective\")}isLet(){return!!this.isContextual(99)&&this.hasFollowingBindingAtom()}chStartsBindingIdentifier(e,t){if(ae(e)){if(Kt.lastIndex=t,Kt.test(this.input)){const e=this.codePointAtPos(Kt.lastIndex);if(!oe(e)&&92!==e)return!1}return!0}return 92===e}chStartsBindingPattern(e){return 91===e||123===e}hasFollowingBindingAtom(){const e=this.nextTokenStart(),t=this.codePointAtPos(e);return this.chStartsBindingPattern(t)||this.chStartsBindingIdentifier(t,e)}hasInLineFollowingBindingIdentifier(){const e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifier(t,e)}startsUsingForOf(){const{type:e,containsEsc:t}=this.lookahead();return!(101===e&&!t)&&(W(e)&&!this.hasFollowingLineBreak()?(this.expectPlugin(\"explicitResourceManagement\"),!0):void 0)}startsAwaitUsing(){let e=this.nextTokenInLineStart();if(this.isUnparsedContextual(e,\"using\")){e=this.nextTokenInLineStartSince(e+5);const t=this.codePointAtPos(e);if(this.chStartsBindingIdentifier(t,e))return this.expectPlugin(\"explicitResourceManagement\"),!0}return!1}parseModuleItem(){return this.parseStatementLike(15)}parseStatementListItem(){return this.parseStatementLike(6|(!this.options.annexB||this.state.strict?0:8))}parseStatementOrSloppyAnnexBFunctionDeclaration(e=!1){let t=0;return this.options.annexB&&!this.state.strict&&(t|=4,e&&(t|=8)),this.parseStatementLike(t)}parseStatement(){return this.parseStatementLike(0)}parseStatementLike(e){let t=null;return this.match(26)&&(t=this.parseDecorators(!0)),this.parseStatementContent(e,t)}parseStatementContent(e,t){const n=this.state.type,r=this.startNode(),i=!!(2&e),s=!!(4&e),a=1&e;switch(n){case 60:return this.parseBreakContinueStatement(r,!0);case 63:return this.parseBreakContinueStatement(r,!1);case 64:return this.parseDebuggerStatement(r);case 90:return this.parseDoWhileStatement(r);case 91:return this.parseForStatement(r);case 68:if(46===this.lookaheadCharCode())break;return s||this.raise(this.state.strict?g.StrictFunction:this.options.annexB?g.SloppyFunctionAnnexB:g.SloppyFunction,{at:this.state.startLoc}),this.parseFunctionStatement(r,!1,!i&&s);case 80:return i||this.unexpected(),this.parseClass(this.maybeTakeDecorators(t,r),!0);case 69:return this.parseIfStatement(r);case 70:return this.parseReturnStatement(r);case 71:return this.parseSwitchStatement(r);case 72:return this.parseThrowStatement(r);case 73:return this.parseTryStatement(r);case 96:if(!this.state.containsEsc&&this.startsAwaitUsing())return this.isAwaitAllowed()?i||this.raise(g.UnexpectedLexicalDeclaration,{at:r}):this.raise(g.AwaitUsingNotInAsyncContext,{at:r}),this.next(),this.parseVarStatement(r,\"await using\");break;case 105:if(this.state.containsEsc||!this.hasInLineFollowingBindingIdentifier())break;return this.expectPlugin(\"explicitResourceManagement\"),!this.scope.inModule&&this.scope.inTopLevel?this.raise(g.UnexpectedUsingDeclaration,{at:this.state.startLoc}):i||this.raise(g.UnexpectedLexicalDeclaration,{at:this.state.startLoc}),this.parseVarStatement(r,\"using\");case 99:{if(this.state.containsEsc)break;const e=this.nextTokenStart(),t=this.codePointAtPos(e);if(91!==t){if(!i&&this.hasFollowingLineBreak())break;if(!this.chStartsBindingIdentifier(t,e)&&123!==t)break}}case 75:i||this.raise(g.UnexpectedLexicalDeclaration,{at:this.state.startLoc});case 74:{const e=this.state.value;return this.parseVarStatement(r,e)}case 92:return this.parseWhileStatement(r);case 76:return this.parseWithStatement(r);case 5:return this.parseBlock();case 13:return this.parseEmptyStatement(r);case 83:{const e=this.lookaheadCharCode();if(40===e||46===e)break}case 82:{let e;return this.options.allowImportExportEverywhere||a||this.raise(g.UnexpectedImportExport,{at:this.state.startLoc}),this.next(),83===n?(e=this.parseImport(r),\"ImportDeclaration\"!==e.type||e.importKind&&\"value\"!==e.importKind||(this.sawUnambiguousESM=!0)):(e=this.parseExport(r,t),(\"ExportNamedDeclaration\"!==e.type||e.exportKind&&\"value\"!==e.exportKind)&&(\"ExportAllDeclaration\"!==e.type||e.exportKind&&\"value\"!==e.exportKind)&&\"ExportDefaultDeclaration\"!==e.type||(this.sawUnambiguousESM=!0)),this.assertModuleNodeAllowed(e),e}default:if(this.isAsyncFunction())return i||this.raise(g.AsyncFunctionInSingleStatementContext,{at:this.state.startLoc}),this.next(),this.parseFunctionStatement(r,!0,!i&&s)}const o=this.state.value,l=this.parseExpression();return W(n)&&\"Identifier\"===l.type&&this.eat(14)?this.parseLabeledStatement(r,o,l,e):this.parseExpressionStatement(r,l,t)}assertModuleNodeAllowed(e){this.options.allowImportExportEverywhere||this.inModule||this.raise(g.ImportOutsideModule,{at:e})}decoratorsEnabledBeforeExport(){return!!this.hasPlugin(\"decorators-legacy\")||this.hasPlugin(\"decorators\")&&!1!==this.getPluginOption(\"decorators\",\"decoratorsBeforeExport\")}maybeTakeDecorators(e,t,n){return e&&(t.decorators&&t.decorators.length>0?(\"boolean\"!=typeof this.getPluginOption(\"decorators\",\"decoratorsBeforeExport\")&&this.raise(g.DecoratorsBeforeAfterExport,{at:t.decorators[0]}),t.decorators.unshift(...e)):t.decorators=e,this.resetStartLocationFromNode(t,e[0]),n&&this.resetStartLocationFromNode(n,t)),t}canHaveLeadingDecorator(){return this.match(80)}parseDecorators(e){const t=[];do{t.push(this.parseDecorator())}while(this.match(26));if(this.match(82))e||this.unexpected(),this.decoratorsEnabledBeforeExport()||this.raise(g.DecoratorExportClass,{at:this.state.startLoc});else if(!this.canHaveLeadingDecorator())throw this.raise(g.UnexpectedLeadingDecorator,{at:this.state.startLoc});return t}parseDecorator(){this.expectOnePlugin([\"decorators\",\"decorators-legacy\"]);const e=this.startNode();if(this.next(),this.hasPlugin(\"decorators\")){const t=this.state.startLoc;let n;if(this.match(10)){const t=this.state.startLoc;this.next(),n=this.parseExpression(),this.expect(11),n=this.wrapParenthesis(t,n);const r=this.state.startLoc;e.expression=this.parseMaybeDecoratorArguments(n),!1===this.getPluginOption(\"decorators\",\"allowCallParenthesized\")&&e.expression!==n&&this.raise(g.DecoratorArgumentsOutsideParentheses,{at:r})}else{for(n=this.parseIdentifier(!1);this.eat(16);){const e=this.startNodeAt(t);e.object=n,this.match(136)?(this.classScope.usePrivateName(this.state.value,this.state.startLoc),e.property=this.parsePrivateName()):e.property=this.parseIdentifier(!0),e.computed=!1,n=this.finishNode(e,\"MemberExpression\")}e.expression=this.parseMaybeDecoratorArguments(n)}}else e.expression=this.parseExprSubscripts();return this.finishNode(e,\"Decorator\")}parseMaybeDecoratorArguments(e){if(this.eat(10)){const t=this.startNodeAtNode(e);return t.callee=e,t.arguments=this.parseCallExpressionArguments(11,!1),this.toReferencedList(t.arguments),this.finishNode(t,\"CallExpression\")}return e}parseBreakContinueStatement(e,t){return this.next(),this.isLineTerminator()?e.label=null:(e.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(e,t),this.finishNode(e,t?\"BreakStatement\":\"ContinueStatement\")}verifyBreakContinue(e,t){let n;for(n=0;n<this.state.labels.length;++n){const r=this.state.labels[n];if(null==e.label||r.name===e.label.name){if(null!=r.kind&&(t||\"loop\"===r.kind))break;if(e.label&&t)break}}if(n===this.state.labels.length){const n=t?\"BreakStatement\":\"ContinueStatement\";this.raise(g.IllegalBreakContinue,{at:e,type:n})}}parseDebuggerStatement(e){return this.next(),this.semicolon(),this.finishNode(e,\"DebuggerStatement\")}parseHeaderExpression(){this.expect(10);const e=this.parseExpression();return this.expect(11),e}parseDoWhileStatement(e){return this.next(),this.state.labels.push(Rt),e.body=this.withSmartMixTopicForbiddingContext((()=>this.parseStatement())),this.state.labels.pop(),this.expect(92),e.test=this.parseHeaderExpression(),this.eat(13),this.finishNode(e,\"DoWhileStatement\")}parseForStatement(e){this.next(),this.state.labels.push(Rt);let t=null;if(this.isAwaitAllowed()&&this.eatContextual(96)&&(t=this.state.lastTokStartLoc),this.scope.enter(0),this.expect(10),this.match(13))return null!==t&&this.unexpected(t),this.parseFor(e,null);const n=this.isContextual(99);{const r=this.isContextual(96)&&this.startsAwaitUsing(),i=r||this.isContextual(105)&&this.startsUsingForOf(),s=n&&this.hasFollowingBindingAtom()||i;if(this.match(74)||this.match(75)||s){const n=this.startNode();let s;r?(s=\"await using\",this.isAwaitAllowed()||this.raise(g.AwaitUsingNotInAsyncContext,{at:this.state.startLoc}),this.next()):s=this.state.value,this.next(),this.parseVar(n,!0,s);const a=this.finishNode(n,\"VariableDeclaration\"),o=this.match(58);return o&&i&&this.raise(g.ForInUsing,{at:a}),(o||this.isContextual(101))&&1===a.declarations.length?this.parseForIn(e,a,t):(null!==t&&this.unexpected(t),this.parseFor(e,a))}}const r=this.isContextual(95),i=new rt,s=this.parseExpression(!0,i),a=this.isContextual(101);if(a&&(n&&this.raise(g.ForOfLet,{at:s}),null===t&&r&&\"Identifier\"===s.type&&this.raise(g.ForOfAsync,{at:s})),a||this.match(58)){this.checkDestructuringPrivate(i),this.toAssignable(s,!0);const n=a?\"ForOfStatement\":\"ForInStatement\";return this.checkLVal(s,{in:{type:n}}),this.parseForIn(e,s,t)}return this.checkExpressionErrors(i,!0),null!==t&&this.unexpected(t),this.parseFor(e,s)}parseFunctionStatement(e,t,n){return this.next(),this.parseFunction(e,1|(n?2:0)|(t?8:0))}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatementOrSloppyAnnexBFunctionDeclaration(),e.alternate=this.eat(66)?this.parseStatementOrSloppyAnnexBFunctionDeclaration():null,this.finishNode(e,\"IfStatement\")}parseReturnStatement(e){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(g.IllegalReturn,{at:this.state.startLoc}),this.next(),this.isLineTerminator()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,\"ReturnStatement\")}parseSwitchStatement(e){this.next(),e.discriminant=this.parseHeaderExpression();const t=e.cases=[];let n;this.expect(5),this.state.labels.push(Ut),this.scope.enter(0);for(let e;!this.match(8);)if(this.match(61)||this.match(65)){const r=this.match(61);n&&this.finishNode(n,\"SwitchCase\"),t.push(n=this.startNode()),n.consequent=[],this.next(),r?n.test=this.parseExpression():(e&&this.raise(g.MultipleDefaultsInSwitch,{at:this.state.lastTokStartLoc}),e=!0,n.test=null),this.expect(14)}else n?n.consequent.push(this.parseStatementListItem()):this.unexpected();return this.scope.exit(),n&&this.finishNode(n,\"SwitchCase\"),this.next(),this.state.labels.pop(),this.finishNode(e,\"SwitchStatement\")}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(g.NewlineAfterThrow,{at:this.state.lastTokEndLoc}),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,\"ThrowStatement\")}parseCatchClauseParam(){const e=this.parseBindingAtom();return this.scope.enter(this.options.annexB&&\"Identifier\"===e.type?8:0),this.checkLVal(e,{in:{type:\"CatchClause\"},binding:9}),e}parseTryStatement(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(62)){const t=this.startNode();this.next(),this.match(10)?(this.expect(10),t.param=this.parseCatchClauseParam(),this.expect(11)):(t.param=null,this.scope.enter(0)),t.body=this.withSmartMixTopicForbiddingContext((()=>this.parseBlock(!1,!1))),this.scope.exit(),e.handler=this.finishNode(t,\"CatchClause\")}return e.finalizer=this.eat(67)?this.parseBlock():null,e.handler||e.finalizer||this.raise(g.NoCatchOrFinally,{at:e}),this.finishNode(e,\"TryStatement\")}parseVarStatement(e,t,n=!1){return this.next(),this.parseVar(e,!1,t,n),this.semicolon(),this.finishNode(e,\"VariableDeclaration\")}parseWhileStatement(e){return this.next(),e.test=this.parseHeaderExpression(),this.state.labels.push(Rt),e.body=this.withSmartMixTopicForbiddingContext((()=>this.parseStatement())),this.state.labels.pop(),this.finishNode(e,\"WhileStatement\")}parseWithStatement(e){return this.state.strict&&this.raise(g.StrictWith,{at:this.state.startLoc}),this.next(),e.object=this.parseHeaderExpression(),e.body=this.withSmartMixTopicForbiddingContext((()=>this.parseStatement())),this.finishNode(e,\"WithStatement\")}parseEmptyStatement(e){return this.next(),this.finishNode(e,\"EmptyStatement\")}parseLabeledStatement(e,t,n,r){for(const e of this.state.labels)e.name===t&&this.raise(g.LabelRedeclaration,{at:n,labelName:t});const i=(s=this.state.type)>=90&&s<=92?\"loop\":this.match(71)?\"switch\":null;var s;for(let t=this.state.labels.length-1;t>=0;t--){const n=this.state.labels[t];if(n.statementStart!==e.start)break;n.statementStart=this.state.start,n.kind=i}return this.state.labels.push({name:t,kind:i,statementStart:this.state.start}),e.body=8&r?this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0):this.parseStatement(),this.state.labels.pop(),e.label=n,this.finishNode(e,\"LabeledStatement\")}parseExpressionStatement(e,t,n){return e.expression=t,this.semicolon(),this.finishNode(e,\"ExpressionStatement\")}parseBlock(e=!1,t=!0,n){const r=this.startNode();return e&&this.state.strictErrors.clear(),this.expect(5),t&&this.scope.enter(0),this.parseBlockBody(r,e,!1,8,n),t&&this.scope.exit(),this.finishNode(r,\"BlockStatement\")}isValidDirective(e){return\"ExpressionStatement\"===e.type&&\"StringLiteral\"===e.expression.type&&!e.expression.extra.parenthesized}parseBlockBody(e,t,n,r,i){const s=e.body=[],a=e.directives=[];this.parseBlockOrModuleBlockBody(s,t?a:void 0,n,r,i)}parseBlockOrModuleBlockBody(e,t,n,r,i){const s=this.state.strict;let a=!1,o=!1;for(;!this.match(r);){const r=n?this.parseModuleItem():this.parseStatementListItem();if(t&&!o){if(this.isValidDirective(r)){const e=this.stmtToDirective(r);t.push(e),a||\"use strict\"!==e.value.value||(a=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}e.push(r)}null==i||i.call(this,a),s||this.setStrict(!1),this.next()}parseFor(e,t){return e.init=t,this.semicolon(!1),e.test=this.match(13)?null:this.parseExpression(),this.semicolon(!1),e.update=this.match(11)?null:this.parseExpression(),this.expect(11),e.body=this.withSmartMixTopicForbiddingContext((()=>this.parseStatement())),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,\"ForStatement\")}parseForIn(e,t,n){const r=this.match(58);return this.next(),r?null!==n&&this.unexpected(n):e.await=null!==n,\"VariableDeclaration\"!==t.type||null==t.declarations[0].init||r&&this.options.annexB&&!this.state.strict&&\"var\"===t.kind&&\"Identifier\"===t.declarations[0].id.type||this.raise(g.ForInOfLoopInitializer,{at:t,type:r?\"ForInStatement\":\"ForOfStatement\"}),\"AssignmentPattern\"===t.type&&this.raise(g.InvalidLhs,{at:t,ancestor:{type:\"ForStatement\"}}),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(11),e.body=this.withSmartMixTopicForbiddingContext((()=>this.parseStatement())),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,r?\"ForInStatement\":\"ForOfStatement\")}parseVar(e,t,n,r=!1){const i=e.declarations=[];for(e.kind=n;;){const e=this.startNode();if(this.parseVarId(e,n),e.init=this.eat(29)?t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():null,null!==e.init||r||(\"Identifier\"===e.id.type||t&&(this.match(58)||this.isContextual(101))?\"const\"!==n||this.match(58)||this.isContextual(101)||this.raise(g.DeclarationMissingInitializer,{at:this.state.lastTokEndLoc,kind:\"const\"}):this.raise(g.DeclarationMissingInitializer,{at:this.state.lastTokEndLoc,kind:\"destructuring\"})),i.push(this.finishNode(e,\"VariableDeclarator\")),!this.eat(12))break}return e}parseVarId(e,t){const n=this.parseBindingAtom();this.checkLVal(n,{in:{type:\"VariableDeclarator\"},binding:\"var\"===t?5:8201}),e.id=n}parseAsyncFunctionExpression(e){return this.parseFunction(e,8)}parseFunction(e,t=0){const n=2&t,r=!!(1&t),i=r&&!(4&t),s=!!(8&t);this.initFunction(e,s),this.match(55)&&(n&&this.raise(g.GeneratorInSingleStatementContext,{at:this.state.startLoc}),this.next(),e.generator=!0),r&&(e.id=this.parseFunctionId(i));const a=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(tt(s,e.generator)),r||(e.id=this.parseFunctionId()),this.parseFunctionParams(e,!1),this.withSmartMixTopicForbiddingContext((()=>{this.parseFunctionBodyAndFinish(e,r?\"FunctionDeclaration\":\"FunctionExpression\")})),this.prodParam.exit(),this.scope.exit(),r&&!n&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=a,e}parseFunctionId(e){return e||W(this.state.type)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(10),this.expressionScope.enter(new Ge(3)),e.params=this.parseBindingList(11,41,2|(t?4:0)),this.expressionScope.exit()}registerFunctionStatementId(e){e.id&&this.scope.declareName(e.id.name,!this.options.annexB||this.state.strict||e.generator||e.async?this.scope.treatFunctionsAsVar?5:8201:17,e.id.loc.start)}parseClass(e,t,n){this.next();const r=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,n),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,r),this.finishNode(e,t?\"ClassDeclaration\":\"ClassExpression\")}isClassProperty(){return this.match(29)||this.match(13)||this.match(8)}isClassMethod(){return this.match(10)}isNonstaticConstructor(e){return!(e.computed||e.static||\"constructor\"!==e.key.name&&\"constructor\"!==e.key.value)}parseClassBody(e,t){this.classScope.enter();const n={hadConstructor:!1,hadSuperClass:e};let r=[];const i=this.startNode();if(i.body=[],this.expect(5),this.withSmartMixTopicForbiddingContext((()=>{for(;!this.match(8);){if(this.eat(13)){if(r.length>0)throw this.raise(g.DecoratorSemicolon,{at:this.state.lastTokEndLoc});continue}if(this.match(26)){r.push(this.parseDecorator());continue}const e=this.startNode();r.length&&(e.decorators=r,this.resetStartLocationFromNode(e,r[0]),r=[]),this.parseClassMember(i,e,n),\"constructor\"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(g.DecoratorConstructor,{at:e})}})),this.state.strict=t,this.next(),r.length)throw this.raise(g.TrailingDecorator,{at:this.state.startLoc});return this.classScope.exit(),this.finishNode(i,\"ClassBody\")}parseClassMemberFromModifier(e,t){const n=this.parseIdentifier(!0);if(this.isClassMethod()){const r=t;return r.kind=\"method\",r.computed=!1,r.key=n,r.static=!1,this.pushClassMethod(e,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){const r=t;return r.computed=!1,r.key=n,r.static=!1,e.body.push(this.parseClassProperty(r)),!0}return this.resetPreviousNodeTrailingComments(n),!1}parseClassMember(e,t,n){const r=this.isContextual(104);if(r){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(5))return void this.parseClassStaticBlock(e,t)}this.parseClassMemberWithIsStatic(e,t,n,r)}parseClassMemberWithIsStatic(e,t,n,r){const i=t,s=t,a=t,o=t,l=t,c=i,u=i;if(t.static=r,this.parsePropertyNamePrefixOperator(t),this.eat(55)){c.kind=\"method\";const t=this.match(136);return this.parseClassElementName(c),t?void this.pushClassPrivateMethod(e,s,!0,!1):(this.isNonstaticConstructor(i)&&this.raise(g.ConstructorIsGenerator,{at:i.key}),void this.pushClassMethod(e,i,!0,!1,!1,!1))}const p=W(this.state.type)&&!this.state.containsEsc,h=this.match(136),d=this.parseClassElementName(t),f=this.state.startLoc;if(this.parsePostMemberNameModifiers(u),this.isClassMethod()){if(c.kind=\"method\",h)return void this.pushClassPrivateMethod(e,s,!1,!1);const r=this.isNonstaticConstructor(i);let a=!1;r&&(i.kind=\"constructor\",n.hadConstructor&&!this.hasPlugin(\"typescript\")&&this.raise(g.DuplicateConstructor,{at:d}),r&&this.hasPlugin(\"typescript\")&&t.override&&this.raise(g.OverrideOnConstructor,{at:d}),n.hadConstructor=!0,a=n.hadSuperClass),this.pushClassMethod(e,i,!1,!1,r,a)}else if(this.isClassProperty())h?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a);else if(p&&\"async\"===d.name&&!this.isLineTerminator()){this.resetPreviousNodeTrailingComments(d);const t=this.eat(55);u.optional&&this.unexpected(f),c.kind=\"method\";const n=this.match(136);this.parseClassElementName(c),this.parsePostMemberNameModifiers(u),n?this.pushClassPrivateMethod(e,s,t,!0):(this.isNonstaticConstructor(i)&&this.raise(g.ConstructorIsAsync,{at:i.key}),this.pushClassMethod(e,i,t,!0,!1,!1))}else if(!p||\"get\"!==d.name&&\"set\"!==d.name||this.match(55)&&this.isLineTerminator())if(p&&\"accessor\"===d.name&&!this.isLineTerminator()){this.expectPlugin(\"decoratorAutoAccessors\"),this.resetPreviousNodeTrailingComments(d);const t=this.match(136);this.parseClassElementName(a),this.pushClassAccessorProperty(e,l,t)}else this.isLineTerminator()?h?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a):this.unexpected();else{this.resetPreviousNodeTrailingComments(d),c.kind=d.name;const t=this.match(136);this.parseClassElementName(i),t?this.pushClassPrivateMethod(e,s,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(g.ConstructorIsAccessor,{at:i.key}),this.pushClassMethod(e,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i)}}parseClassElementName(e){const{type:t,value:n}=this.state;if(130!==t&&131!==t||!e.static||\"prototype\"!==n||this.raise(g.StaticPrototype,{at:this.state.startLoc}),136===t){\"constructor\"===n&&this.raise(g.ConstructorClassPrivateField,{at:this.state.startLoc});const t=this.parsePrivateName();return e.key=t,t}return this.parsePropertyName(e)}parseClassStaticBlock(e,t){var n;this.scope.enter(208);const r=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const i=t.body=[];this.parseBlockOrModuleBlockBody(i,void 0,!1,8),this.prodParam.exit(),this.scope.exit(),this.state.labels=r,e.body.push(this.finishNode(t,\"StaticBlock\")),null!=(n=t.decorators)&&n.length&&this.raise(g.DecoratorStaticBlock,{at:t})}pushClassProperty(e,t){t.computed||\"constructor\"!==t.key.name&&\"constructor\"!==t.key.value||this.raise(g.ConstructorClassField,{at:t.key}),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){const n=this.parseClassPrivateProperty(t);e.body.push(n),this.classScope.declarePrivateName(this.getPrivateNameSV(n.key),0,n.key.loc.start)}pushClassAccessorProperty(e,t,n){if(!n&&!t.computed){const e=t.key;\"constructor\"!==e.name&&\"constructor\"!==e.value||this.raise(g.ConstructorClassField,{at:e})}const r=this.parseClassAccessorProperty(t);e.body.push(r),n&&this.classScope.declarePrivateName(this.getPrivateNameSV(r.key),0,r.key.loc.start)}pushClassMethod(e,t,n,r,i,s){e.body.push(this.parseMethod(t,n,r,i,s,\"ClassMethod\",!0))}pushClassPrivateMethod(e,t,n,r){const i=this.parseMethod(t,n,r,!1,!1,\"ClassPrivateMethod\",!0);e.body.push(i);const s=\"get\"===i.kind?i.static?6:2:\"set\"===i.kind?i.static?5:1:0;this.declareClassPrivateMethodInScope(i,s)}declareClassPrivateMethodInScope(e,t){this.classScope.declarePrivateName(this.getPrivateNameSV(e.key),t,e.key.loc.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,\"ClassPrivateProperty\")}parseClassProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,\"ClassProperty\")}parseClassAccessorProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,\"ClassAccessorProperty\")}parseInitializer(e){this.scope.enter(80),this.expressionScope.enter(Ze()),this.prodParam.enter(0),e.value=this.eat(29)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,n,r=8331){if(W(this.state.type))e.id=this.parseIdentifier(),t&&this.declareNameFromIdentifier(e.id,r);else{if(!n&&t)throw this.raise(g.MissingClassName,{at:this.state.startLoc});e.id=null}}parseClassSuper(e){e.superClass=this.eat(81)?this.parseExprSubscripts():null}parseExport(e,t){const n=this.parseMaybeImportPhase(e,!0),r=this.maybeParseExportDefaultSpecifier(e,n),i=!r||this.eat(12),s=i&&this.eatExportStar(e),a=s&&this.maybeParseExportNamespaceSpecifier(e),o=i&&(!a||this.eat(12)),l=r||s;if(s&&!a){if(r&&this.unexpected(),t)throw this.raise(g.UnsupportedDecoratorExport,{at:e});return this.parseExportFrom(e,!0),this.finishNode(e,\"ExportAllDeclaration\")}const c=this.maybeParseExportNamedSpecifiers(e);let u;if(r&&i&&!s&&!c&&this.unexpected(null,5),a&&o&&this.unexpected(null,97),l||c){if(u=!1,t)throw this.raise(g.UnsupportedDecoratorExport,{at:e});this.parseExportFrom(e,l)}else u=this.maybeParseExportDeclaration(e);if(l||c||u){var p;const n=e;if(this.checkExport(n,!0,!1,!!n.source),\"ClassDeclaration\"===(null==(p=n.declaration)?void 0:p.type))this.maybeTakeDecorators(t,n.declaration,n);else if(t)throw this.raise(g.UnsupportedDecoratorExport,{at:e});return this.finishNode(n,\"ExportNamedDeclaration\")}if(this.eat(65)){const n=e,r=this.parseExportDefaultExpression();if(n.declaration=r,\"ClassDeclaration\"===r.type)this.maybeTakeDecorators(t,r,n);else if(t)throw this.raise(g.UnsupportedDecoratorExport,{at:e});return this.checkExport(n,!0,!0),this.finishNode(n,\"ExportDefaultDeclaration\")}this.unexpected(null,5)}eatExportStar(e){return this.eat(55)}maybeParseExportDefaultSpecifier(e,t){if(t||this.isExportDefaultSpecifier()){this.expectPlugin(\"exportDefaultFrom\",null==t?void 0:t.loc.start);const n=t||this.parseIdentifier(!0),r=this.startNodeAtNode(n);return r.exported=n,e.specifiers=[this.finishNode(r,\"ExportDefaultSpecifier\")],!0}return!1}maybeParseExportNamespaceSpecifier(e){if(this.isContextual(93)){e.specifiers||(e.specifiers=[]);const t=this.startNodeAt(this.state.lastTokStartLoc);return this.next(),t.exported=this.parseModuleExportName(),e.specifiers.push(this.finishNode(t,\"ExportNamespaceSpecifier\")),!0}return!1}maybeParseExportNamedSpecifiers(e){if(this.match(5)){e.specifiers||(e.specifiers=[]);const t=\"type\"===e.exportKind;return e.specifiers.push(...this.parseExportSpecifiers(t)),e.source=null,e.declaration=null,this.hasPlugin(\"importAssertions\")&&(e.assertions=[]),!0}return!1}maybeParseExportDeclaration(e){return!!this.shouldParseExportDeclaration()&&(e.specifiers=[],e.source=null,this.hasPlugin(\"importAssertions\")&&(e.assertions=[]),e.declaration=this.parseExportDeclaration(e),!0)}isAsyncFunction(){if(!this.isContextual(95))return!1;const e=this.nextTokenInLineStart();return this.isUnparsedContextual(e,\"function\")}parseExportDefaultExpression(){const e=this.startNode();if(this.match(68))return this.next(),this.parseFunction(e,5);if(this.isAsyncFunction())return this.next(),this.next(),this.parseFunction(e,13);if(this.match(80))return this.parseClass(e,!0,!0);if(this.match(26))return this.hasPlugin(\"decorators\")&&!0===this.getPluginOption(\"decorators\",\"decoratorsBeforeExport\")&&this.raise(g.DecoratorBeforeExport,{at:this.state.startLoc}),this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1),this.startNode()),!0,!0);if(this.match(75)||this.match(74)||this.isLet())throw this.raise(g.UnsupportedDefaultExport,{at:this.state.startLoc});const t=this.parseMaybeAssignAllowIn();return this.semicolon(),t}parseExportDeclaration(e){return this.match(80)?this.parseClass(this.startNode(),!0,!1):this.parseStatementListItem()}isExportDefaultSpecifier(){const{type:e}=this.state;if(W(e)){if(95===e&&!this.state.containsEsc||99===e)return!1;if((128===e||127===e)&&!this.state.containsEsc){const{type:e}=this.lookahead();if(W(e)&&97!==e||5===e)return this.expectOnePlugin([\"flow\",\"typescript\"]),!1}}else if(!this.match(65))return!1;const t=this.nextTokenStart(),n=this.isUnparsedContextual(t,\"from\");if(44===this.input.charCodeAt(t)||W(this.state.type)&&n)return!0;if(this.match(65)&&n){const e=this.input.charCodeAt(this.nextTokenStartSince(t+4));return 34===e||39===e}return!1}parseExportFrom(e,t){this.eatContextual(97)?(e.source=this.parseImportSource(),this.checkExport(e),this.maybeParseImportAttributes(e),this.checkJSONModuleImport(e)):t&&this.unexpected(),this.semicolon()}shouldParseExportDeclaration(){const{type:e}=this.state;return 26===e&&(this.expectOnePlugin([\"decorators\",\"decorators-legacy\"]),this.hasPlugin(\"decorators\"))?(!0===this.getPluginOption(\"decorators\",\"decoratorsBeforeExport\")&&this.raise(g.DecoratorBeforeExport,{at:this.state.startLoc}),!0):74===e||75===e||68===e||80===e||this.isLet()||this.isAsyncFunction()}checkExport(e,t,n,r){var i;if(t)if(n){if(this.checkDuplicateExports(e,\"default\"),this.hasPlugin(\"exportDefaultFrom\")){var s;const t=e.declaration;\"Identifier\"!==t.type||\"from\"!==t.name||t.end-t.start!=4||null!=(s=t.extra)&&s.parenthesized||this.raise(g.ExportDefaultFromAsIdentifier,{at:t})}}else if(null!=(i=e.specifiers)&&i.length)for(const t of e.specifiers){const{exported:e}=t,n=\"Identifier\"===e.type?e.name:e.value;if(this.checkDuplicateExports(t,n),!r&&t.local){const{local:e}=t;\"Identifier\"!==e.type?this.raise(g.ExportBindingIsString,{at:t,localName:e.value,exportName:n}):(this.checkReservedWord(e.name,e.loc.start,!0,!1),this.scope.checkLocalExport(e))}}else if(e.declaration)if(\"FunctionDeclaration\"===e.declaration.type||\"ClassDeclaration\"===e.declaration.type){const t=e.declaration.id;if(!t)throw new Error(\"Assertion failure\");this.checkDuplicateExports(e,t.name)}else if(\"VariableDeclaration\"===e.declaration.type)for(const t of e.declaration.declarations)this.checkDeclaration(t.id)}checkDeclaration(e){if(\"Identifier\"===e.type)this.checkDuplicateExports(e,e.name);else if(\"ObjectPattern\"===e.type)for(const t of e.properties)this.checkDeclaration(t);else if(\"ArrayPattern\"===e.type)for(const t of e.elements)t&&this.checkDeclaration(t);else\"ObjectProperty\"===e.type?this.checkDeclaration(e.value):\"RestElement\"===e.type?this.checkDeclaration(e.argument):\"AssignmentPattern\"===e.type&&this.checkDeclaration(e.left)}checkDuplicateExports(e,t){this.exportedIdentifiers.has(t)&&(\"default\"===t?this.raise(g.DuplicateDefaultExport,{at:e}):this.raise(g.DuplicateExport,{at:e,exportName:t})),this.exportedIdentifiers.add(t)}parseExportSpecifiers(e){const t=[];let n=!0;for(this.expect(5);!this.eat(8);){if(n)n=!1;else if(this.expect(12),this.eat(8))break;const r=this.isContextual(128),i=this.match(131),s=this.startNode();s.local=this.parseModuleExportName(),t.push(this.parseExportSpecifier(s,i,e,r))}return t}parseExportSpecifier(e,t,n,r){return this.eatContextual(93)?e.exported=this.parseModuleExportName():t?e.exported=function(e){const{type:t,start:n,end:r,loc:i,range:s,extra:a}=e;if(\"Placeholder\"===t)return function(e){return at(e)}(e);const o=Object.create(st);return o.type=t,o.start=n,o.end=r,o.loc=i,o.range=s,void 0!==e.raw?o.raw=e.raw:o.extra=a,o.value=e.value,o}(e.local):e.exported||(e.exported=at(e.local)),this.finishNode(e,\"ExportSpecifier\")}parseModuleExportName(){if(this.match(131)){const e=this.parseStringLiteral(this.state.value),t=e.value.match(Vt);return t&&this.raise(g.ModuleExportNameHasLoneSurrogate,{at:e,surrogateCharCode:t[0].charCodeAt(0)}),e}return this.parseIdentifier(!0)}isJSONModuleImport(e){return null!=e.assertions&&e.assertions.some((({key:e,value:t})=>\"json\"===t.value&&(\"Identifier\"===e.type?\"type\"===e.name:\"type\"===e.value)))}checkImportReflection(e){var t;e.module&&(1===e.specifiers.length&&\"ImportDefaultSpecifier\"===e.specifiers[0].type||this.raise(g.ImportReflectionNotBinding,{at:e.specifiers[0].loc.start}),(null==(t=e.assertions)?void 0:t.length)>0&&this.raise(g.ImportReflectionHasAssertion,{at:e.specifiers[0].loc.start}))}checkJSONModuleImport(e){if(this.isJSONModuleImport(e)&&\"ExportAllDeclaration\"!==e.type){const{specifiers:t}=e;if(null!=t){const e=t.find((e=>{let t;if(\"ExportSpecifier\"===e.type?t=e.local:\"ImportSpecifier\"===e.type&&(t=e.imported),void 0!==t)return\"Identifier\"===t.type?\"default\"!==t.name:\"default\"!==t.value}));void 0!==e&&this.raise(g.ImportJSONBindingNotDefault,{at:e.loc.start})}}}isPotentialImportPhase(e){return!e&&this.isContextual(125)}applyImportPhase(e,t,n,r){t||(\"module\"===n?(this.expectPlugin(\"importReflection\",r),e.module=!0):this.hasPlugin(\"importReflection\")&&(e.module=!1))}parseMaybeImportPhase(e,t){if(!this.isPotentialImportPhase(t))return this.applyImportPhase(e,t,null),null;const n=this.parseIdentifier(!0),{type:r}=this.state;return(X(r)?97!==r||102===this.lookaheadCharCode():12!==r)?(this.resetPreviousIdentifierLeadingComments(n),this.applyImportPhase(e,t,n.name,n.loc.start),null):(this.applyImportPhase(e,t,null),n)}isPrecedingIdImportPhase(e){const{type:t}=this.state;return W(t)?97!==t||102===this.lookaheadCharCode():12!==t}parseImport(e){return this.match(131)?this.parseImportSourceAndAttributes(e):this.parseImportSpecifiersAndAfter(e,this.parseMaybeImportPhase(e,!1))}parseImportSpecifiersAndAfter(e,t){e.specifiers=[];const n=!this.maybeParseDefaultImportSpecifier(e,t)||this.eat(12),r=n&&this.maybeParseStarImportSpecifier(e);return n&&!r&&this.parseNamedImportSpecifiers(e),this.expectContextual(97),this.parseImportSourceAndAttributes(e)}parseImportSourceAndAttributes(e){return null!=e.specifiers||(e.specifiers=[]),e.source=this.parseImportSource(),this.maybeParseImportAttributes(e),this.checkImportReflection(e),this.checkJSONModuleImport(e),this.semicolon(),this.finishNode(e,\"ImportDeclaration\")}parseImportSource(){return this.match(131)||this.unexpected(),this.parseExprAtom()}parseImportSpecifierLocal(e,t,n){t.local=this.parseIdentifier(),e.specifiers.push(this.finishImportSpecifier(t,n))}finishImportSpecifier(e,t,n=8201){return this.checkLVal(e.local,{in:{type:t},binding:n}),this.finishNode(e,t)}parseImportAttributes(){this.expect(5);const e=[],t=new Set;do{if(this.match(8))break;const n=this.startNode(),r=this.state.value;if(t.has(r)&&this.raise(g.ModuleAttributesWithDuplicateKeys,{at:this.state.startLoc,key:r}),t.add(r),this.match(131)?n.key=this.parseStringLiteral(r):n.key=this.parseIdentifier(!0),this.expect(14),!this.match(131))throw this.raise(g.ModuleAttributeInvalidValue,{at:this.state.startLoc});n.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(n,\"ImportAttribute\"))}while(this.eat(12));return this.expect(8),e}parseModuleAttributes(){const e=[],t=new Set;do{const n=this.startNode();if(n.key=this.parseIdentifier(!0),\"type\"!==n.key.name&&this.raise(g.ModuleAttributeDifferentFromType,{at:n.key}),t.has(n.key.name)&&this.raise(g.ModuleAttributesWithDuplicateKeys,{at:n.key,key:n.key.name}),t.add(n.key.name),this.expect(14),!this.match(131))throw this.raise(g.ModuleAttributeInvalidValue,{at:this.state.startLoc});n.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(n,\"ImportAttribute\"))}while(this.eat(12));return e}maybeParseImportAttributes(e){let t,n=!1;if(this.match(76)){if(this.hasPrecedingLineBreak()&&40===this.lookaheadCharCode())return;this.next(),this.hasPlugin(\"moduleAttributes\")?t=this.parseModuleAttributes():(this.expectImportAttributesPlugin(),t=this.parseImportAttributes()),n=!0}else if(this.isContextual(94)&&!this.hasPrecedingLineBreak())this.hasPlugin(\"importAttributes\")?(!0!==this.getPluginOption(\"importAttributes\",\"deprecatedAssertSyntax\")&&this.raise(g.ImportAttributesUseAssert,{at:this.state.startLoc}),this.addExtra(e,\"deprecatedAssertSyntax\",!0)):this.expectOnePlugin([\"importAttributes\",\"importAssertions\"]),this.next(),t=this.parseImportAttributes();else if(this.hasPlugin(\"importAttributes\")||this.hasPlugin(\"importAssertions\"))t=[];else{if(!this.hasPlugin(\"moduleAttributes\"))return;t=[]}!n&&this.hasPlugin(\"importAssertions\")?e.assertions=t:e.attributes=t}maybeParseDefaultImportSpecifier(e,t){if(t){const n=this.startNodeAtNode(t);return n.local=t,e.specifiers.push(this.finishImportSpecifier(n,\"ImportDefaultSpecifier\")),!0}return!!X(this.state.type)&&(this.parseImportSpecifierLocal(e,this.startNode(),\"ImportDefaultSpecifier\"),!0)}maybeParseStarImportSpecifier(e){if(this.match(55)){const t=this.startNode();return this.next(),this.expectContextual(93),this.parseImportSpecifierLocal(e,t,\"ImportNamespaceSpecifier\"),!0}return!1}parseNamedImportSpecifiers(e){let t=!0;for(this.expect(5);!this.eat(8);){if(t)t=!1;else{if(this.eat(14))throw this.raise(g.DestructureNamedImport,{at:this.state.startLoc});if(this.expect(12),this.eat(8))break}const n=this.startNode(),r=this.match(131),i=this.isContextual(128);n.imported=this.parseModuleExportName();const s=this.parseImportSpecifier(n,r,\"type\"===e.importKind||\"typeof\"===e.importKind,i,void 0);e.specifiers.push(s)}}parseImportSpecifier(e,t,n,r,i){if(this.eatContextual(93))e.local=this.parseIdentifier();else{const{imported:n}=e;if(t)throw this.raise(g.ImportBindingIsString,{at:e,importName:n.value});this.checkReservedWord(n.name,e.loc.start,!0,!0),e.local||(e.local=at(n))}return this.finishImportSpecifier(e,\"ImportSpecifier\",i)}isThisParam(e){return\"Identifier\"===e.type&&\"this\"===e.name}}class Xt extends Wt{constructor(e,t){super(e=function(e){if(null==e)return Object.assign({},Bt);if(null!=e.annexB&&!1!==e.annexB)throw new Error(\"The `annexB` option can only be set to `false`.\");const t={};for(const r of Object.keys(Bt)){var n;t[r]=null!=(n=e[r])?n:Bt[r]}return t}(e),t),this.options=e,this.initializeScopes(),this.plugins=function(e){const t=new Map;for(const n of e){const[e,r]=Array.isArray(n)?n:[n,{}];t.has(e)||t.set(e,r||{})}return t}(this.options.plugins),this.filename=e.sourceFilename}getScopeHandler(){return Te}parse(){this.enterInitialScopes();const e=this.startNode(),t=this.startNode();return this.nextToken(),e.errors=null,this.parseTopLevel(e,t),e.errors=this.state.errors,e}}const Yt=function(e){const t={};for(const n of Object.keys(e))t[n]=Q(e[n]);return t}(K);function qt(e,t){let n=Xt;return null!=e&&e.plugins&&(function(e){if(It(e,\"decorators\")){if(It(e,\"decorators-legacy\"))throw new Error(\"Cannot use the decorators and decorators-legacy plugin together\");const t=Nt(e,\"decorators\",\"decoratorsBeforeExport\");if(null!=t&&\"boolean\"!=typeof t)throw new Error(\"'decoratorsBeforeExport' must be a boolean, if specified.\");const n=Nt(e,\"decorators\",\"allowCallParenthesized\");if(null!=n&&\"boolean\"!=typeof n)throw new Error(\"'allowCallParenthesized' must be a boolean.\")}if(It(e,\"flow\")&&It(e,\"typescript\"))throw new Error(\"Cannot combine flow and typescript plugins.\");if(It(e,\"placeholders\")&&It(e,\"v8intrinsic\"))throw new Error(\"Cannot combine placeholders and v8intrinsic plugins.\");if(It(e,\"pipelineOperator\")){const t=Nt(e,\"pipelineOperator\",\"proposal\");if(!Ft.includes(t)){const e=Ft.map((e=>`\"${e}\"`)).join(\", \");throw new Error(`\"pipelineOperator\" requires \"proposal\" option whose value must be one of: ${e}.`)}const n=It(e,[\"recordAndTuple\",{syntaxType:\"hash\"}]);if(\"hack\"===t){if(It(e,\"placeholders\"))throw new Error(\"Cannot combine placeholders plugin and Hack-style pipes.\");if(It(e,\"v8intrinsic\"))throw new Error(\"Cannot combine v8intrinsic plugin and Hack-style pipes.\");const t=Nt(e,\"pipelineOperator\",\"topicToken\");if(!kt.includes(t)){const e=kt.map((e=>`\"${e}\"`)).join(\", \");throw new Error(`\"pipelineOperator\" in \"proposal\": \"hack\" mode also requires a \"topicToken\" option whose value must be one of: ${e}.`)}if(\"#\"===t&&n)throw new Error('Plugin conflict between `[\"pipelineOperator\", { proposal: \"hack\", topicToken: \"#\" }]` and `[\"recordAndtuple\", { syntaxType: \"hash\"}]`.')}else if(\"smart\"===t&&n)throw new Error('Plugin conflict between `[\"pipelineOperator\", { proposal: \"smart\" }]` and `[\"recordAndtuple\", { syntaxType: \"hash\"}]`.')}if(It(e,\"moduleAttributes\")){if(It(e,\"importAssertions\")||It(e,\"importAttributes\"))throw new Error(\"Cannot combine importAssertions, importAttributes and moduleAttributes plugins.\");if(\"may-2020\"!==Nt(e,\"moduleAttributes\",\"version\"))throw new Error(\"The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is 'may-2020'.\")}if(It(e,\"importAssertions\")&&It(e,\"importAttributes\"))throw new Error(\"Cannot combine importAssertions and importAttributes plugins.\");if(It(e,\"recordAndTuple\")&&null!=Nt(e,\"recordAndTuple\",\"syntaxType\")&&!Lt.includes(Nt(e,\"recordAndTuple\",\"syntaxType\")))throw new Error(\"The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: \"+Lt.map((e=>`'${e}'`)).join(\", \"));if(It(e,\"asyncDoExpressions\")&&!It(e,\"doExpressions\")){const e=new Error(\"'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.\");throw e.missingPlugins=\"doExpressions\",e}}(e.plugins),n=function(e){const t=Mt.filter((t=>It(e,t))),n=t.join(\"/\");let r=Ht[n];if(!r){r=Xt;for(const e of t)r=_t[e](r);Ht[n]=r}return r}(e.plugins)),new n(e,t)}const Ht={};t.parse=function(e,t){var n;if(\"unambiguous\"!==(null==(n=t)?void 0:n.sourceType))return qt(t,e).parse();t=Object.assign({},t);try{t.sourceType=\"module\";const n=qt(t,e),r=n.parse();if(n.sawUnambiguousESM)return r;if(n.ambiguousScriptDifferentAst)try{return t.sourceType=\"script\",qt(t,e).parse()}catch(e){}else r.program.sourceType=\"script\";return r}catch(n){try{return t.sourceType=\"script\",qt(t,e).parse()}catch(e){}throw n}},t.parseExpression=function(e,t){const n=qt(t,e);return n.options.strictMode&&(n.state.strict=!0),n.getExpression()},t.tokTypes=Yt},97:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function e(t,n){const l=new WeakMap,c=new WeakMap,u=n||(0,r.validate)(null);return Object.assign(((n,...a)=>{if(\"string\"==typeof n){if(a.length>1)throw new Error(\"Unexpected extra params.\");return o((0,i.default)(t,n,(0,r.merge)(u,(0,r.validate)(a[0]))))}if(Array.isArray(n)){let e=l.get(n);return e||(e=(0,s.default)(t,n,u),l.set(n,e)),o(e(a))}if(\"object\"==typeof n&&n){if(a.length>0)throw new Error(\"Unexpected extra params.\");return e(t,(0,r.merge)(u,(0,r.validate)(n)))}throw new Error(\"Unexpected template param \"+typeof n)}),{ast:(e,...n)=>{if(\"string\"==typeof e){if(n.length>1)throw new Error(\"Unexpected extra params.\");return(0,i.default)(t,e,(0,r.merge)((0,r.merge)(u,(0,r.validate)(n[0])),a))()}if(Array.isArray(e)){let i=c.get(e);return i||(i=(0,s.default)(t,e,(0,r.merge)(u,a)),c.set(e,i)),i(n)()}throw new Error(\"Unexpected template param \"+typeof e)}})};var r=n(2655),i=n(5650),s=n(2579);const a=(0,r.validate)({placeholderPattern:!1});function o(e){let t=\"\";try{throw new Error}catch(e){e.stack&&(t=e.stack.split(\"\\n\").slice(3).join(\"\\n\"))}return n=>{try{return e(n)}catch(e){throw e.stack+=`\\n    =============\\n${t}`,e}}}},6586:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.statements=t.statement=t.smart=t.program=t.expression=void 0;var r=n(6067);const{assertExpressionStatement:i}=r;function s(e){return{code:e=>`/* @babel/template */;\\n${e}`,validate:()=>{},unwrap:t=>e(t.program.body.slice(1))}}const a=s((e=>e.length>1?e:e[0]));t.smart=a;const o=s((e=>e));t.statements=o;const l=s((e=>{if(0===e.length)throw new Error(\"Found nothing to return.\");if(e.length>1)throw new Error(\"Found multiple statements but wanted one\");return e[0]}));t.statement=l;const c={code:e=>`(\\n${e}\\n)`,validate:e=>{if(e.program.body.length>1)throw new Error(\"Found multiple statements but wanted one\");if(0===c.unwrap(e).start)throw new Error(\"Parse result included parens.\")},unwrap:({program:e})=>{const[t]=e.body;return i(t),t.expression}};t.expression=c,t.program={code:e=>e,validate:()=>{},unwrap:e=>e.program}},6849:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.statements=t.statement=t.smart=t.program=t.expression=t.default=void 0;var r=n(6586),i=n(97);const s=(0,i.default)(r.smart);t.smart=s;const a=(0,i.default)(r.statement);t.statement=a;const o=(0,i.default)(r.statements);t.statements=o;const l=(0,i.default)(r.expression);t.expression=l;const c=(0,i.default)(r.program);t.program=c;var u=Object.assign(s.bind(void 0),{smart:s,statement:a,statements:o,expression:l,program:c,ast:s.ast});t.default=u},2579:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n){const{metadata:a,names:o}=function(e,t,n){let r=\"BABEL_TPL$\";const s=t.join(\"\");do{r=\"$$\"+r}while(s.includes(r));const{names:a,code:o}=function(e,t){const n=[];let r=e[0];for(let i=1;i<e.length;i++){const s=`${t}${i-1}`;n.push(s),r+=s+e[i]}return{names:n,code:r}}(t,r);return{metadata:(0,i.default)(e,e.code(o),{parser:n.parser,placeholderWhitelist:new Set(a.concat(n.placeholderWhitelist?Array.from(n.placeholderWhitelist):[])),placeholderPattern:n.placeholderPattern,preserveComments:n.preserveComments,syntacticPlaceholders:n.syntacticPlaceholders}),names:a}}(e,t,n);return t=>{const n={};return t.forEach(((e,t)=>{n[o[t]]=e})),t=>{const i=(0,r.normalizeReplacements)(t);return i&&Object.keys(i).forEach((e=>{if(Object.prototype.hasOwnProperty.call(n,e))throw new Error(\"Unexpected replacement overlap.\")})),e.unwrap((0,s.default)(a,i?Object.assign(i,n):n))}}};var r=n(2655),i=n(6382),s=n(8112)},2655:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.merge=function(e,t){const{placeholderWhitelist:n=e.placeholderWhitelist,placeholderPattern:r=e.placeholderPattern,preserveComments:i=e.preserveComments,syntacticPlaceholders:s=e.syntacticPlaceholders}=t;return{parser:Object.assign({},e.parser,t.parser),placeholderWhitelist:n,placeholderPattern:r,preserveComments:i,syntacticPlaceholders:s}},t.normalizeReplacements=function(e){if(Array.isArray(e))return e.reduce(((e,t,n)=>(e[\"$\"+n]=t,e)),{});if(\"object\"==typeof e||null==e)return e||void 0;throw new Error(\"Template replacements must be an array, object, null, or undefined\")},t.validate=function(e){if(null!=e&&\"object\"!=typeof e)throw new Error(\"Unknown template options.\");const t=e||{},{placeholderWhitelist:r,placeholderPattern:i,preserveComments:s,syntacticPlaceholders:a}=t,o=function(e,t){if(null==e)return{};var n,r,i={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(t,n);if(null!=r&&!(r instanceof Set))throw new Error(\"'.placeholderWhitelist' must be a Set, null, or undefined\");if(null!=i&&!(i instanceof RegExp)&&!1!==i)throw new Error(\"'.placeholderPattern' must be a RegExp, false, null, or undefined\");if(null!=s&&\"boolean\"!=typeof s)throw new Error(\"'.preserveComments' must be a boolean, null, or undefined\");if(null!=a&&\"boolean\"!=typeof a)throw new Error(\"'.syntacticPlaceholders' must be a boolean, null, or undefined\");if(!0===a&&(null!=r||null!=i))throw new Error(\"'.placeholderWhitelist' and '.placeholderPattern' aren't compatible with '.syntacticPlaceholders: true'\");return{parser:o,placeholderWhitelist:r||void 0,placeholderPattern:null==i?void 0:i,preserveComments:null==s?void 0:s,syntacticPlaceholders:null==a?void 0:a}};const n=[\"placeholderWhitelist\",\"placeholderPattern\",\"preserveComments\",\"syntacticPlaceholders\"]},6382:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n){const{placeholderWhitelist:r,placeholderPattern:a,preserveComments:o,syntacticPlaceholders:l}=n,c=function(e,t,n){const r=(t.plugins||[]).slice();!1!==n&&r.push(\"placeholders\"),t=Object.assign({allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,sourceType:\"module\"},t,{plugins:r});try{return(0,i.parse)(e,t)}catch(t){const n=t.loc;throw n&&(t.message+=\"\\n\"+(0,s.codeFrameColumns)(e,{start:n}),t.code=\"BABEL_TEMPLATE_PARSE_ERROR\"),t}}(t,n.parser,l);y(c,{preserveComments:o}),e.validate(c);const u={syntactic:{placeholders:[],placeholderNames:new Set},legacy:{placeholders:[],placeholderNames:new Set},placeholderWhitelist:r,placeholderPattern:a,syntacticPlaceholders:l};return m(c,g,u),Object.assign({ast:c},u.syntactic.placeholders.length?u.syntactic:u.legacy)};var r=n(6067),i=n(7191),s=n(4704);const{isCallExpression:a,isExpressionStatement:o,isFunction:l,isIdentifier:c,isJSXIdentifier:u,isNewExpression:p,isPlaceholder:h,isStatement:d,isStringLiteral:f,removePropertiesDeep:y,traverse:m}=r,T=/^[_$A-Z0-9]+$/;function g(e,t,n){var r;let i,s=n.syntactic.placeholders.length>0;if(h(e)){if(!1===n.syntacticPlaceholders)throw new Error(\"%%foo%%-style placeholders can't be used when '.syntacticPlaceholders' is false.\");i=e.name.name,s=!0}else{if(s||n.syntacticPlaceholders)return;if(c(e)||u(e))i=e.name;else{if(!f(e))return;i=e.value}}if(s&&(null!=n.placeholderPattern||null!=n.placeholderWhitelist))throw new Error(\"'.placeholderWhitelist' and '.placeholderPattern' aren't compatible with '.syntacticPlaceholders: true'\");if(!(s||!1!==n.placeholderPattern&&(n.placeholderPattern||T).test(i)||null!=(r=n.placeholderWhitelist)&&r.has(i)))return;t=t.slice();const{node:y,key:m}=t[t.length-1];let g;f(e)||h(e,{expectedNode:\"StringLiteral\"})?g=\"string\":p(y)&&\"arguments\"===m||a(y)&&\"arguments\"===m||l(y)&&\"params\"===m?g=\"param\":o(y)&&!h(e)?(g=\"statement\",t=t.slice(0,-1)):g=d(e)&&h(e)?\"statement\":\"other\";const{placeholders:b,placeholderNames:E}=s?n.syntactic:n.legacy;b.push({name:i,type:g,resolve:e=>function(e,t){let n=e;for(let e=0;e<t.length-1;e++){const{key:r,index:i}=t[e];n=void 0===i?n[r]:n[r][i]}const{key:r,index:i}=t[t.length-1];return{parent:n,key:r,index:i}}(e,t),isDuplicate:E.has(i)}),E.add(i)}},8112:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){const n=s(e.ast);return t&&(e.placeholders.forEach((e=>{if(!Object.prototype.hasOwnProperty.call(t,e.name)){const t=e.name;throw new Error(`Error: No substitution given for \"${t}\". 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(['${t}'])}\\n            - { placeholderPattern: /^${t}$/ }`)}})),Object.keys(t).forEach((t=>{if(!e.placeholderNames.has(t))throw new Error(`Unknown substitution \"${t}\" given`)}))),e.placeholders.slice().reverse().forEach((e=>{try{!function(e,t,n){e.isDuplicate&&(Array.isArray(n)?n=n.map((e=>s(e))):\"object\"==typeof n&&(n=s(n)));const{parent:r,key:d,index:f}=e.resolve(t);if(\"string\"===e.type){if(\"string\"==typeof n&&(n=p(n)),!n||!u(n))throw new Error(\"Expected string substitution\")}else if(\"statement\"===e.type)void 0===f?n?Array.isArray(n)?n=i(n):\"string\"==typeof n?n=o(l(n)):c(n)||(n=o(n)):n=a():n&&!Array.isArray(n)&&(\"string\"==typeof n&&(n=l(n)),c(n)||(n=o(n)));else if(\"param\"===e.type){if(\"string\"==typeof n&&(n=l(n)),void 0===f)throw new Error(\"Assertion failure.\")}else if(\"string\"==typeof n&&(n=l(n)),Array.isArray(n))throw new Error(\"Cannot replace single expression with an array.\");if(void 0===f)h(r,d,n),r[d]=n;else{const t=r[d].slice();\"statement\"===e.type||\"param\"===e.type?null==n?t.splice(f,1):Array.isArray(n)?t.splice(f,1,...n):t[f]=n:t[f]=n,h(r,d,t),r[d]=t}}(e,n,t&&t[e.name]||null)}catch(t){throw t.message=`@babel/template placeholder \"${e.name}\": ${t.message}`,t}})),n};var r=n(6067);const{blockStatement:i,cloneNode:s,emptyStatement:a,expressionStatement:o,identifier:l,isStatement:c,isStringLiteral:u,stringLiteral:p,validate:h}=r},5650:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n){let a;return t=e.code(t),o=>{const l=(0,r.normalizeReplacements)(o);return a||(a=(0,i.default)(e,t,n)),e.unwrap((0,s.default)(a,l))}};var r=n(2655),i=n(6382),s=n(8112)},9446:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.clear=function(){i(),s()},t.clearPath=i,t.clearScope=s,t.getCachedPaths=function(e,t){var r;return null==(r=n.get(a))?void 0:r.get(t)},t.getOrCreateCachedPaths=function(e,t){let r=n.get(a);r||n.set(a,r=new WeakMap);let i=r.get(t);return i||r.set(t,i=new Map),i},t.scope=t.path=void 0;let n=new WeakMap;t.path=n;let r=new WeakMap;function i(){t.path=n=new WeakMap}function s(){t.scope=r=new WeakMap}t.scope=r;const a=Object.freeze({})},4165:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var r=n(763),i=n(6067);const{VISITOR_KEYS:s}=i;t.default=class{constructor(e,t,n,r){this.queue=null,this.priorityQueue=null,this.parentPath=r,this.scope=e,this.state=n,this.opts=t}shouldVisit(e){const t=this.opts;if(t.enter||t.exit)return!0;if(t[e.type])return!0;const n=s[e.type];if(null==n||!n.length)return!1;for(const t of n)if(e[t])return!0;return!1}create(e,t,n,i){return r.default.get({parentPath:this.parentPath,parent:e,container:t,key:n,listKey:i})}maybeQueue(e,t){this.queue&&(t?this.queue.push(e):this.priorityQueue.push(e))}visitMultiple(e,t,n){if(0===e.length)return!1;const r=[];for(let i=0;i<e.length;i++){const s=e[i];s&&this.shouldVisit(s)&&r.push(this.create(t,e,i,n))}return this.visitQueue(r)}visitSingle(e,t){return!!this.shouldVisit(e[t])&&this.visitQueue([this.create(e,e,t)])}visitQueue(e){this.queue=e,this.priorityQueue=[];const t=new WeakSet;let n=!1;for(const r of e){if(r.resync(),0!==r.contexts.length&&r.contexts[r.contexts.length-1]===this||r.pushContext(this),null===r.key)continue;const{node:i}=r;if(!t.has(i)){if(i&&t.add(i),r.visit()){n=!0;break}if(this.priorityQueue.length&&(n=this.visitQueue(this.priorityQueue),this.priorityQueue=[],this.queue=e,n))break}}for(const t of e)t.popContext();return this.queue=null,n}visit(e,t){const n=e[t];return!!n&&(Array.isArray(n)?this.visitMultiple(n,e,t):this.visitSingle(e,t))}}},9799:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0,t.default=class{getCode(){}getScope(){}addHelper(){throw new Error(\"Helpers are not supported by the default hub.\")}buildError(e,t,n=TypeError){return new n(t)}}},5686:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),Object.defineProperty(t,\"Hub\",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,\"NodePath\",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,\"Scope\",{enumerable:!0,get:function(){return l.default}}),t.visitors=t.default=void 0;var r=n(7380);t.visitors=r;var i=n(6067),s=n(9446),a=n(9432),o=n(763),l=n(200),c=n(9799);const{VISITOR_KEYS:u,removeProperties:p,traverseFast:h}=i;function d(e,t={},n,i,s,o){if(e){if(!t.noScope&&!n&&\"Program\"!==e.type&&\"File\"!==e.type)throw new Error(`You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a ${e.type} node without passing scope and parentPath.`);if(!s&&o)throw new Error(\"visitSelf can only be used when providing a NodePath.\");u[e.type]&&(r.explode(t),(0,a.traverseNode)(e,t,n,i,s,null,o))}}var f=d;function y(e,t){e.node.type===t.type&&(t.has=!0,e.stop())}t.default=f,d.visitors=r,d.verify=r.verify,d.explode=r.explode,d.cheap=function(e,t){h(e,t)},d.node=function(e,t,n,r,i,s){(0,a.traverseNode)(e,t,n,r,i,s)},d.clearNode=function(e,t){p(e,t)},d.removeProperties=function(e,t){return h(e,d.clearNode,t),e},d.hasType=function(e,t,n){if(null!=n&&n.includes(e.type))return!1;if(e.type===t)return!0;const r={has:!1,type:t};return d(e,{noScope:!0,denylist:n,enter:y},null,r),r.has},d.cache=s},531:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.find=function(e){let t=this;do{if(e(t))return t}while(t=t.parentPath);return null},t.findParent=function(e){let t=this;for(;t=t.parentPath;)if(e(t))return t;return null},t.getAncestry=function(){let e=this;const t=[];do{t.push(e)}while(e=e.parentPath);return t},t.getDeepestCommonAncestorFrom=function(e,t){if(!e.length)return this;if(1===e.length)return e[0];let n,r,i=1/0;const s=e.map((e=>{const t=[];do{t.unshift(e)}while((e=e.parentPath)&&e!==this);return t.length<i&&(i=t.length),t})),a=s[0];e:for(let e=0;e<i;e++){const t=a[e];for(const n of s)if(n[e]!==t)break e;n=e,r=t}if(r)return t?t(r,n,s):r;throw new Error(\"Couldn't find intersection\")},t.getEarliestCommonAncestorFrom=function(e){return this.getDeepestCommonAncestorFrom(e,(function(e,t,n){let r;const s=i[e.type];for(const e of n){const n=e[t+1];r?(n.listKey&&r.listKey===n.listKey&&n.key<r.key||s.indexOf(r.parentKey)>s.indexOf(n.parentKey))&&(r=n):r=n}return r}))},t.getFunctionParent=function(){return this.findParent((e=>e.isFunction()))},t.getStatementParent=function(){let e=this;do{if(!e.parentPath||Array.isArray(e.container)&&e.isStatement())break;e=e.parentPath}while(e);if(e&&(e.isProgram()||e.isFile()))throw new Error(\"File/Program node, we can't possibly find a statement parent to this\");return e},t.inType=function(...e){let t=this;for(;t;){for(const n of e)if(t.node.type===n)return!0;t=t.parentPath}return!1},t.isAncestor=function(e){return e.isDescendant(this)},t.isDescendant=function(e){return!!this.findParent((t=>t===e))};var r=n(6067);const{VISITOR_KEYS:i}=r},1801:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.addComment=function(e,t,n){i(this.node,e,t,n)},t.addComments=function(e,t){s(this.node,e,t)},t.shareCommentsWithSiblings=function(){if(\"string\"==typeof this.key)return;const e=this.node;if(!e)return;const t=e.trailingComments,n=e.leadingComments;if(!t&&!n)return;const r=this.getSibling(this.key-1),i=this.getSibling(this.key+1),s=Boolean(r.node),o=Boolean(i.node);s&&(n&&r.addComments(\"trailing\",a(n,r.node.trailingComments)),t&&!o&&r.addComments(\"trailing\",t)),o&&(t&&i.addComments(\"leading\",a(t,i.node.leadingComments)),n&&!s&&i.addComments(\"leading\",n))};var r=n(6067);const{addComment:i,addComments:s}=r;function a(e,t){if(!t)return e;let n=-1;return e.filter((e=>{const r=t.indexOf(e,n);if(-1===r)return!0;n=r}))}},2981:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t._call=function(e){if(!e)return!1;for(const t of e){if(!t)continue;const e=this.node;if(!e)return!0;const n=t.call(this.state,this,this.state);if(n&&\"object\"==typeof n&&\"function\"==typeof n.then)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.\");if(n)throw new Error(`Unexpected return value from visitor method ${t}`);if(this.node!==e)return!0;if(this._traverseFlags>0)return!0}return!1},t._getQueueContexts=function(){let e=this,t=this.contexts;for(;!t.length&&(e=e.parentPath,e);)t=e.contexts;return t},t._resyncKey=function(){if(this.container&&this.node!==this.container[this.key]){if(Array.isArray(this.container)){for(let e=0;e<this.container.length;e++)if(this.container[e]===this.node)return void this.setKey(e)}else for(const e of Object.keys(this.container))if(this.container[e]===this.node)return void this.setKey(e);this.key=null}},t._resyncList=function(){if(!this.parent||!this.inList)return;const e=this.parent[this.listKey];this.container!==e&&(this.container=e||null)},t._resyncParent=function(){this.parentPath&&(this.parent=this.parentPath.node)},t._resyncRemoved=function(){null!=this.key&&this.container&&this.container[this.key]===this.node||this._markRemoved()},t.call=function(e){const t=this.opts;return this.debug(e),!(!this.node||!this._call(t[e]))||!!this.node&&this._call(null==(n=t[this.node.type])?void 0:n[e]);var n},t.isBlacklisted=t.isDenylisted=function(){var e;const t=null!=(e=this.opts.denylist)?e:this.opts.blacklist;return t&&t.indexOf(this.node.type)>-1},t.popContext=function(){this.contexts.pop(),this.contexts.length>0?this.setContext(this.contexts[this.contexts.length-1]):this.setContext(void 0)},t.pushContext=function(e){this.contexts.push(e),this.setContext(e)},t.requeue=function(e=this){if(e.removed)return;const t=this.contexts;for(const n of t)n.maybeQueue(e)},t.resync=function(){this.removed||(this._resyncParent(),this._resyncList(),this._resyncKey())},t.setContext=function(e){return null!=this.skipKeys&&(this.skipKeys={}),this._traverseFlags=0,e&&(this.context=e,this.state=e.state,this.opts=e.opts),this.setScope(),this},t.setKey=function(e){var t;this.key=e,this.node=this.container[this.key],this.type=null==(t=this.node)?void 0:t.type},t.setScope=function(){var e,t;if(null!=(e=this.opts)&&e.noScope)return;let n,r=this.parentPath;for(((\"key\"===this.key||\"decorators\"===this.listKey)&&r.isMethod()||\"discriminant\"===this.key&&r.isSwitchStatement())&&(r=r.parentPath);r&&!n;){var i;if(null!=(i=r.opts)&&i.noScope)return;n=r.scope,r=r.parentPath}this.scope=this.getScope(n),null==(t=this.scope)||t.init()},t.setup=function(e,t,n,r){this.listKey=n,this.container=t,this.parentPath=e||this.parentPath,this.setKey(r)},t.skip=function(){this.shouldSkip=!0},t.skipKey=function(e){null==this.skipKeys&&(this.skipKeys={}),this.skipKeys[e]=!0},t.stop=function(){this._traverseFlags|=i.SHOULD_SKIP|i.SHOULD_STOP},t.visit=function(){var e,t;if(!this.node)return!1;if(this.isDenylisted())return!1;if(null!=(e=(t=this.opts).shouldSkip)&&e.call(t,this))return!1;const n=this.context;return this.shouldSkip||this.call(\"enter\")?(this.debug(\"Skip...\"),this.shouldStop):(s(this,n),this.debug(\"Recursing into...\"),this.shouldStop=(0,r.traverseNode)(this.node,this.opts,this.scope,this.state,this,this.skipKeys),s(this,n),this.call(\"exit\"),this.shouldStop)};var r=n(9432),i=n(763);function s(e,t){e.context!==t&&(e.context=t,e.state=t.state,e.opts=t.opts)}},6309:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.arrowFunctionToExpression=function({allowInsertArrow:e=!0,allowInsertArrowWithRest:t=e,noNewArrows:n=!(e=>null==(e=arguments[0])?void 0:e.specCompliant)()}={}){if(!this.isArrowFunctionExpression())throw this.buildCodeFrameError(\"Cannot convert non-arrow function to a function expression.\");const{thisBinding:r,fnPath:i}=k(this,n,e,t);if(i.ensureBlock(),i.node.type=\"FunctionExpression\",!n){const e=r?null:i.scope.generateUidIdentifier(\"arrowCheckId\");return e&&i.parentPath.scope.push({id:e,init:P([])}),i.get(\"body\").unshiftContainer(\"body\",d(p(this.hub.addHelper(\"newArrowCheck\"),[O(),f(e?e.name:r)]))),i.replaceWith(p(b((0,s.default)(this,!0)||i.node,f(\"bind\")),[e?f(e.name):O()])),i.get(\"callee.object\")}return i},t.ensureBlock=function(){const e=this.get(\"body\"),t=e.node;if(Array.isArray(e))throw new Error(\"Can't convert array path to a block statement\");if(!t)throw new Error(\"Can't convert node without a body\");if(e.isBlockStatement())return t;const n=[];let r,i,s=\"body\";e.isStatement()?(i=\"body\",r=0,n.push(e.node)):(s+=\".body.0\",this.isFunction()?(r=\"argument\",n.push(D(e.node))):(r=\"expression\",n.push(d(e.node)))),this.node.body=u(n);const a=this.get(s);return e.setup(a,i?a.node[i]:a.node,i,r),this.node},t.toComputedKey=function(){let e;if(this.isMemberExpression())e=this.node.property;else{if(!this.isProperty()&&!this.isMethod())throw new ReferenceError(\"todo\");e=this.node.key}return this.node.computed||y(e)&&(e=C(e.name)),e},t.unwrapFunctionEnvironment=function(){if(!this.isArrowFunctionExpression()&&!this.isFunctionExpression()&&!this.isFunctionDeclaration())throw this.buildCodeFrameError(\"Can only unwrap the environment of a function.\");k(this)};var r=n(6067),i=n(4705),s=n(2023),a=n(7380);const{arrowFunctionExpression:o,assignmentExpression:l,binaryExpression:c,blockStatement:u,callExpression:p,conditionalExpression:h,expressionStatement:d,identifier:f,isIdentifier:y,jsxIdentifier:m,logicalExpression:T,LOGICAL_OPERATORS:g,memberExpression:b,metaProperty:E,numericLiteral:S,objectExpression:P,restElement:x,returnStatement:D,sequenceExpression:A,spreadElement:v,stringLiteral:C,super:w,thisExpression:O,toExpression:I,unaryExpression:N}=r;t.arrowFunctionToShadowed=function(){this.isArrowFunctionExpression()&&this.arrowFunctionToExpression()};const F=(0,a.merge)([{CallExpression(e,{allSuperCalls:t}){e.get(\"callee\").isSuper()&&t.push(e)}},i.default]);function k(e,t=!0,n=!0,r=!0){let i,s=e.findParent((e=>e.isArrowFunctionExpression()?(null!=i||(i=e),!1):e.isFunction()||e.isProgram()||e.isClassProperty({static:!1})||e.isClassPrivateProperty({static:!1})));const a=s.isClassMethod({kind:\"constructor\"});if(s.isClassProperty()||s.isClassPrivateProperty())if(i)s=i;else{if(!n)throw e.buildCodeFrameError(\"Unable to transform arrow inside class property\");e.replaceWith(p(o([],I(e.node)),[])),s=e.get(\"callee\"),e=s.get(\"body\")}const{thisPaths:u,argumentsPaths:d,newTargetPaths:y,superProps:P,superCalls:D}=function(e){const t=[],n=[],r=[],i=[],s=[];return e.traverse(B,{thisPaths:t,argumentsPaths:n,newTargetPaths:r,superProps:i,superCalls:s}),{thisPaths:t,argumentsPaths:n,newTargetPaths:r,superProps:i,superCalls:s}}(e);if(a&&D.length>0){if(!n)throw D[0].buildCodeFrameError(\"When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super()` in an arrow function without compiling classes.\\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.\");if(!r)throw D[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.\\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.\");const e=[];s.traverse(F,{allSuperCalls:e});const t=function(e){return M(e,\"supercall\",(()=>{const t=e.scope.generateUidIdentifier(\"args\");return o([x(t)],p(w(),[v(f(t.name))]))}))}(s);e.forEach((e=>{const n=f(t);n.loc=e.node.callee.loc,e.get(\"callee\").replaceWith(n)}))}if(d.length>0){const e=M(s,\"arguments\",(()=>{const e=()=>f(\"arguments\");return s.scope.path.isProgram()?h(c(\"===\",N(\"typeof\",e()),C(\"undefined\")),s.scope.buildUndefinedNode(),e()):e()}));d.forEach((t=>{const n=f(e);n.loc=t.node.loc,t.replaceWith(n)}))}if(y.length>0){const e=M(s,\"newtarget\",(()=>E(f(\"new\"),f(\"target\"))));y.forEach((t=>{const n=f(e);n.loc=t.node.loc,t.replaceWith(n)}))}if(P.length>0){if(!n)throw P[0].buildCodeFrameError(\"When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super.prop` in an arrow function without compiling classes.\\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.\");P.reduce(((e,t)=>e.concat(function(e){if(e.parentPath.isAssignmentExpression()&&\"=\"!==e.parentPath.node.operator){const n=e.parentPath,r=n.node.operator.slice(0,-1),i=n.node.right,s=function(e){return g.includes(e)}(r);if(e.node.computed){const a=e.scope.generateDeclaredUidIdentifier(\"tmp\"),o=e.node.object,c=e.node.property;n.get(\"left\").replaceWith(b(o,l(\"=\",a,c),!0)),n.get(\"right\").replaceWith(t(s?\"=\":r,b(o,f(a.name),!0),i))}else{const a=e.node.object,o=e.node.property;n.get(\"left\").replaceWith(b(a,o)),n.get(\"right\").replaceWith(t(s?\"=\":r,b(a,f(o.name)),i))}return s?n.replaceWith(T(r,n.node.left,n.node.right)):n.node.operator=\"=\",[n.get(\"left\"),n.get(\"right\").get(\"left\")]}if(e.parentPath.isUpdateExpression()){const t=e.parentPath,n=e.scope.generateDeclaredUidIdentifier(\"tmp\"),r=e.node.computed?e.scope.generateDeclaredUidIdentifier(\"prop\"):null,i=[l(\"=\",n,b(e.node.object,r?l(\"=\",r,e.node.property):e.node.property,e.node.computed)),l(\"=\",b(e.node.object,r?f(r.name):e.node.property,e.node.computed),c(e.parentPath.node.operator[0],f(n.name),S(1)))];return e.parentPath.node.prefix||i.push(f(n.name)),t.replaceWith(A(i)),[t.get(\"expressions.0.right\"),t.get(\"expressions.1.left\")]}return[e];function t(e,t,n){return\"=\"===e?l(\"=\",t,n):c(e,t,n)}}(t))),[]).forEach((e=>{const t=e.node.computed?\"\":e.get(\"property\").node.name,n=e.parentPath,r=n.isAssignmentExpression({left:e.node}),i=n.isCallExpression({callee:e.node}),a=n.isTaggedTemplateExpression({tag:e.node}),c=function(e,t,n){return M(e,`superprop_${t?\"set\":\"get\"}:${n||\"\"}`,(()=>{const r=[];let i;if(n)i=b(w(),f(n));else{const t=e.scope.generateUidIdentifier(\"prop\");r.unshift(t),i=b(w(),f(t.name),!0)}if(t){const t=e.scope.generateUidIdentifier(\"value\");r.push(t),i=l(\"=\",i,f(t.name))}return o(r,i)}))}(s,r,t),h=[];if(e.node.computed&&h.push(e.get(\"property\").node),r){const e=n.node.right;h.push(e)}const d=p(f(c),h);i?(n.unshiftContainer(\"arguments\",O()),e.replaceWith(b(d,f(\"call\"))),u.push(n.get(\"arguments.0\"))):r?n.replaceWith(d):a?(e.replaceWith(p(b(d,f(\"bind\"),!1),[O()])),u.push(e.get(\"arguments.0\"))):e.replaceWith(d)}))}let k;return(u.length>0||!t)&&(k=function(e,t){return M(e,\"this\",(n=>{if(!t||!L(e))return O();e.traverse(_,{supers:new WeakSet,thisBinding:n})}))}(s,a),(t||a&&L(s))&&(u.forEach((e=>{const t=e.isJSX()?m(k):f(k);t.loc=e.node.loc,e.replaceWith(t)})),t||(k=null))),{thisBinding:k,fnPath:e}}function L(e){return e.isClassMethod()&&!!e.parentPath.parentPath.node.superClass}const _=(0,a.merge)([{CallExpression(e,{supers:t,thisBinding:n}){e.get(\"callee\").isSuper()&&(t.has(e.node)||(t.add(e.node),e.replaceWithMultiple([e.node,l(\"=\",f(n),f(\"this\"))])))}},i.default]);function M(e,t,n){const r=\"binding:\"+t;let i=e.getData(r);if(!i){const s=e.scope.generateUidIdentifier(t);i=s.name,e.setData(r,i),e.scope.push({id:s,init:n(i)})}return i}const B=(0,a.merge)([{ThisExpression(e,{thisPaths:t}){t.push(e)},JSXIdentifier(e,{thisPaths:t}){\"this\"===e.node.name&&(e.parentPath.isJSXMemberExpression({object:e.node})||e.parentPath.isJSXOpeningElement({name:e.node}))&&t.push(e)},CallExpression(e,{superCalls:t}){e.get(\"callee\").isSuper()&&t.push(e)},MemberExpression(e,{superProps:t}){e.get(\"object\").isSuper()&&t.push(e)},Identifier(e,{argumentsPaths:t}){if(!e.isReferencedIdentifier({name:\"arguments\"}))return;let n=e.scope;do{if(n.hasOwnBinding(\"arguments\"))return void n.rename(\"arguments\");if(n.path.isFunction()&&!n.path.isArrowFunctionExpression())break}while(n=n.parent);t.push(e)},MetaProperty(e,{newTargetPaths:t}){e.get(\"meta\").isIdentifier({name:\"new\"})&&e.get(\"property\").isIdentifier({name:\"target\"})&&t.push(e)}},i.default])},2822:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.evaluate=function(){const e={confident:!0,deoptPath:null,seen:new Map};let t=l(this,e);return e.confident||(t=void 0),{confident:e.confident,deopt:e.deoptPath,value:t}},t.evaluateTruthy=function(){const e=this.evaluate();if(e.confident)return!!e.value};const r=[\"String\",\"Number\",\"Math\"],i=[\"random\"];function s(e){return r.includes(e)}function a(e,t){t.confident&&(t.deoptPath=e,t.confident=!1)}const o=new Map([[\"undefined\",void 0],[\"Infinity\",1/0],[\"NaN\",NaN]]);function l(e,t){const{node:r}=e,{seen:u}=t;if(u.has(r)){const n=u.get(r);return n.resolved?n.value:void a(e,t)}{const p={resolved:!1};u.set(r,p);const h=function(e,t){if(t.confident){if(e.isSequenceExpression()){const n=e.get(\"expressions\");return l(n[n.length-1],t)}if(e.isStringLiteral()||e.isNumericLiteral()||e.isBooleanLiteral())return e.node.value;if(e.isNullLiteral())return null;if(e.isTemplateLiteral())return c(e,e.node.quasis,t);if(e.isTaggedTemplateExpression()&&e.get(\"tag\").isMemberExpression()){const n=e.get(\"tag.object\"),{node:{name:r}}=n,i=e.get(\"tag.property\");if(n.isIdentifier()&&\"String\"===r&&!e.scope.getBinding(r)&&i.isIdentifier()&&\"raw\"===i.node.name)return c(e,e.node.quasi.quasis,t,!0)}if(e.isConditionalExpression()){const n=l(e.get(\"test\"),t);if(!t.confident)return;return l(n?e.get(\"consequent\"):e.get(\"alternate\"),t)}if(e.isExpressionWrapper())return l(e.get(\"expression\"),t);if(e.isMemberExpression()&&!e.parentPath.isCallExpression({callee:e.node})){const n=e.get(\"property\"),r=e.get(\"object\");if(r.isLiteral()){const i=r.node.value,s=typeof i;let a=null;if(e.node.computed){if(a=l(n,t),!t.confident)return}else n.isIdentifier()&&(a=n.node.name);if(!(\"number\"!==s&&\"string\"!==s||null==a||\"number\"!=typeof a&&\"string\"!=typeof a))return i[a]}}if(e.isReferencedIdentifier()){const n=e.scope.getBinding(e.node.name);if(n){if(n.constantViolations.length>0||e.node.start<n.path.node.end)return void a(n.path,t);if(n.hasValue)return n.value}const r=e.node.name;if(o.has(r))return n?void a(n.path,t):o.get(r);const i=e.resolve();return i===e?void a(e,t):l(i,t)}if(e.isUnaryExpression({prefix:!0})){if(\"void\"===e.node.operator)return;const n=e.get(\"argument\");if(\"typeof\"===e.node.operator&&(n.isFunction()||n.isClass()))return\"function\";const r=l(n,t);if(!t.confident)return;switch(e.node.operator){case\"!\":return!r;case\"+\":return+r;case\"-\":return-r;case\"~\":return~r;case\"typeof\":return typeof r}}if(e.isArrayExpression()){const n=[],r=e.get(\"elements\");for(const e of r){const r=e.evaluate();if(!r.confident)return void a(r.deopt,t);n.push(r.value)}return n}if(e.isObjectExpression()){const n={},r=e.get(\"properties\");for(const e of r){if(e.isObjectMethod()||e.isSpreadElement())return void a(e,t);const r=e.get(\"key\");let i;if(e.node.computed){if(i=r.evaluate(),!i.confident)return void a(i.deopt,t);i=i.value}else i=r.isIdentifier()?r.node.name:r.node.value;let s=e.get(\"value\").evaluate();if(!s.confident)return void a(s.deopt,t);s=s.value,n[i]=s}return n}if(e.isLogicalExpression()){const n=t.confident,r=l(e.get(\"left\"),t),i=t.confident;t.confident=n;const s=l(e.get(\"right\"),t),a=t.confident;switch(e.node.operator){case\"||\":if(t.confident=i&&(!!r||a),!t.confident)return;return r||s;case\"&&\":if(t.confident=i&&(!r||a),!t.confident)return;return r&&s;case\"??\":if(t.confident=i&&(null!=r||a),!t.confident)return;return null!=r?r:s}}if(e.isBinaryExpression()){const n=l(e.get(\"left\"),t);if(!t.confident)return;const r=l(e.get(\"right\"),t);if(!t.confident)return;switch(e.node.operator){case\"-\":return n-r;case\"+\":return n+r;case\"/\":return n/r;case\"*\":return n*r;case\"%\":return n%r;case\"**\":return Math.pow(n,r);case\"<\":return n<r;case\">\":return n>r;case\"<=\":return n<=r;case\">=\":return n>=r;case\"==\":return n==r;case\"!=\":return n!=r;case\"===\":return n===r;case\"!==\":return n!==r;case\"|\":return n|r;case\"&\":return n&r;case\"^\":return n^r;case\"<<\":return n<<r;case\">>\":return n>>r;case\">>>\":return n>>>r}}if(e.isCallExpression()){const r=e.get(\"callee\");let a,o;if(r.isIdentifier()&&!e.scope.getBinding(r.node.name)&&s(r.node.name)&&(o=n.g[r.node.name]),r.isMemberExpression()){const e=r.get(\"object\"),t=r.get(\"property\");if(e.isIdentifier()&&t.isIdentifier()&&s(e.node.name)&&!function(e){return i.includes(e)}(t.node.name)&&(a=n.g[e.node.name],o=a[t.node.name]),e.isLiteral()&&t.isIdentifier()){const n=typeof e.node.value;\"string\"!==n&&\"number\"!==n||(a=e.node.value,o=a[t.node.name])}}if(o){const n=e.get(\"arguments\").map((e=>l(e,t)));if(!t.confident)return;return o.apply(a,n)}}a(e,t)}}(e,t);return t.confident&&(p.resolved=!0,p.value=h),h}}function c(e,t,n,r=!1){let i=\"\",s=0;const a=e.isTemplateLiteral()?e.get(\"expressions\"):e.get(\"quasi.expressions\");for(const e of t){if(!n.confident)break;i+=r?e.value.raw:e.value.cooked;const t=a[s++];t&&(i+=String(l(t,n)))}if(n.confident)return i}},5983:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t._getKey=function(e,t){const n=this.node,i=n[e];return Array.isArray(i)?i.map(((s,a)=>r.default.get({listKey:e,parentPath:this,parent:n,container:i,key:a}).setContext(t))):r.default.get({parentPath:this,parent:n,container:n,key:e}).setContext(t)},t._getPattern=function(e,t){let n=this;for(const r of e)n=\".\"===r?n.parentPath:Array.isArray(n)?n[r]:n.get(r,t);return n},t.get=function(e,t=!0){!0===t&&(t=this.context);const n=e.split(\".\");return 1===n.length?this._getKey(e,t):this._getPattern(n,t)},t.getAllNextSiblings=function(){let e=this.key,t=this.getSibling(++e);const n=[];for(;t.node;)n.push(t),t=this.getSibling(++e);return n},t.getAllPrevSiblings=function(){let e=this.key,t=this.getSibling(--e);const n=[];for(;t.node;)n.push(t),t=this.getSibling(--e);return n},t.getBindingIdentifierPaths=function(e=!1,t=!1){const n=[this],r=Object.create(null);for(;n.length;){const i=n.shift();if(!i)continue;if(!i.node)continue;const a=s.keys[i.node.type];if(i.isIdentifier())e?(r[i.node.name]=r[i.node.name]||[]).push(i):r[i.node.name]=i;else if(i.isExportDeclaration()){const e=i.get(\"declaration\");o(e)&&n.push(e)}else{if(t){if(i.isFunctionDeclaration()){n.push(i.get(\"id\"));continue}if(i.isFunctionExpression())continue}if(a)for(let e=0;e<a.length;e++){const t=a[e],r=i.get(t);Array.isArray(r)?n.push(...r):r.node&&n.push(r)}}}return r},t.getBindingIdentifiers=function(e){return s(this.node,e)},t.getCompletionRecords=function(){return m(this,{canHaveBreak:!1,shouldPopulateBreak:!1,inCaseClause:!1}).map((e=>e.path))},t.getNextSibling=function(){return this.getSibling(this.key+1)},t.getOpposite=function(){return\"left\"===this.key?this.getSibling(\"right\"):\"right\"===this.key?this.getSibling(\"left\"):null},t.getOuterBindingIdentifierPaths=function(e=!1){return this.getBindingIdentifierPaths(e,!0)},t.getOuterBindingIdentifiers=function(e){return a(this.node,e)},t.getPrevSibling=function(){return this.getSibling(this.key-1)},t.getSibling=function(e){return r.default.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:e}).setContext(this.context)};var r=n(763),i=n(6067);const{getBindingIdentifiers:s,getOuterBindingIdentifiers:a,isDeclaration:o,numericLiteral:l,unaryExpression:c}=i,u=0,p=1;function h(e,t,n){return e&&t.push(...m(e,n)),t}function d(e){e.forEach((e=>{e.type=p}))}function f(e,t){e.forEach((e=>{e.path.isBreakStatement({label:null})&&(t?e.path.replaceWith(c(\"void\",l(0))):e.path.remove())}))}function y(e,t){const n=[];if(t.canHaveBreak){let r=[];for(let i=0;i<e.length;i++){const s=e[i],a=Object.assign({},t,{inCaseClause:!1});s.isBlockStatement()&&(t.inCaseClause||t.shouldPopulateBreak)?a.shouldPopulateBreak=!0:a.shouldPopulateBreak=!1;const o=m(s,a);if(o.length>0&&o.every((e=>e.type===p))){r.length>0&&o.every((e=>e.path.isBreakStatement({label:null})))?(d(r),n.push(...r),r.some((e=>e.path.isDeclaration()))&&(n.push(...o),f(o,!0)),f(o,!1)):(n.push(...o),t.shouldPopulateBreak||f(o,!0));break}if(i===e.length-1)n.push(...o);else{r=[];for(let e=0;e<o.length;e++){const t=o[e];t.type===p&&n.push(t),t.type===u&&r.push(t)}}}}else if(e.length)for(let r=e.length-1;r>=0;r--){const i=m(e[r],t);if(i.length>1||1===i.length&&!i[0].path.isVariableDeclaration()){n.push(...i);break}}return n}function m(e,t){let n=[];if(e.isIfStatement())n=h(e.get(\"consequent\"),n,t),n=h(e.get(\"alternate\"),n,t);else{if(e.isDoExpression()||e.isFor()||e.isWhile()||e.isLabeledStatement())return h(e.get(\"body\"),n,t);if(e.isProgram()||e.isBlockStatement())return y(e.get(\"body\"),t);if(e.isFunction())return m(e.get(\"body\"),t);if(e.isTryStatement())n=h(e.get(\"block\"),n,t),n=h(e.get(\"handler\"),n,t);else{if(e.isCatchClause())return h(e.get(\"body\"),n,t);if(e.isSwitchStatement())return function(e,t,n){let r=[];for(let i=0;i<e.length;i++){const s=m(e[i],n),a=[],o=[];for(const e of s)e.type===u&&a.push(e),e.type===p&&o.push(e);a.length&&(r=a),t.push(...o)}return t.push(...r),t}(e.get(\"cases\"),n,t);if(e.isSwitchCase())return y(e.get(\"consequent\"),{canHaveBreak:!0,shouldPopulateBreak:!1,inCaseClause:!0});e.isBreakStatement()?n.push(function(e){return{type:p,path:e}}(e)):n.push(function(e){return{type:u,path:e}}(e))}}return n}},763:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.SHOULD_STOP=t.SHOULD_SKIP=t.REMOVED=void 0;var r=n(8176),i=n(1227),s=n(5686),a=n(200),o=n(6067),l=o,c=n(9446),u=n(7848),p=n(531),h=n(326),d=n(383),f=n(2822),y=n(6309),m=n(4989),T=n(2981),g=n(1319),b=n(4825),E=n(5983),S=n(1801),P=n(8745);const{validate:x}=o,D=i(\"babel\");t.REMOVED=1,t.SHOULD_STOP=2,t.SHOULD_SKIP=4;class A{constructor(e,t){this.contexts=[],this.state=null,this.opts=null,this._traverseFlags=0,this.skipKeys=null,this.parentPath=null,this.container=null,this.listKey=null,this.key=null,this.node=null,this.type=null,this.parent=t,this.hub=e,this.data=null,this.context=null,this.scope=null}static get({hub:e,parentPath:t,parent:n,container:r,listKey:i,key:s}){if(!e&&t&&(e=t.hub),!n)throw new Error(\"To get a node path the parent needs to exist\");const a=r[s],o=c.getOrCreateCachedPaths(e,n);let l=o.get(a);return l||(l=new A(e,n),a&&o.set(a,l)),l.setup(t,r,i,s),l}getScope(e){return this.isScope()?new a.default(this):e}setData(e,t){return null==this.data&&(this.data=Object.create(null)),this.data[e]=t}getData(e,t){null==this.data&&(this.data=Object.create(null));let n=this.data[e];return void 0===n&&void 0!==t&&(n=this.data[e]=t),n}hasNode(){return null!=this.node}buildCodeFrameError(e,t=SyntaxError){return this.hub.buildError(this.node,e,t)}traverse(e,t){(0,s.default)(this.node,e,this.scope,t,this)}set(e,t){x(this.node,e,t),this.node[e]=t}getPathLocation(){const e=[];let t=this;do{let n=t.key;t.inList&&(n=`${t.listKey}[${n}]`),e.unshift(n)}while(t=t.parentPath);return e.join(\".\")}debug(e){D.enabled&&D(`${this.getPathLocation()} ${this.type}: ${e}`)}toString(){return(0,u.default)(this.node).code}get inList(){return!!this.listKey}set inList(e){e||(this.listKey=null)}get parentKey(){return this.listKey||this.key}get shouldSkip(){return!!(4&this._traverseFlags)}set shouldSkip(e){e?this._traverseFlags|=4:this._traverseFlags&=-5}get shouldStop(){return!!(2&this._traverseFlags)}set shouldStop(e){e?this._traverseFlags|=2:this._traverseFlags&=-3}get removed(){return!!(1&this._traverseFlags)}set removed(e){e?this._traverseFlags|=1:this._traverseFlags&=-2}}Object.assign(A.prototype,p,h,d,f,y,m,T,g,b,E,S),A.prototype._guessExecutionStatusRelativeToDifferentFunctions=m._guessExecutionStatusRelativeTo;for(const e of l.TYPES){const t=`is${e}`,n=l[t];A.prototype[t]=function(e){return n(this.node,e)},A.prototype[`assert${e}`]=function(t){if(!n(this.node,t))throw new TypeError(`Expected node path of type ${e}`)}}Object.assign(A.prototype,P);for(const e of Object.keys(r))\"_\"!==e[0]&&(l.TYPES.includes(e)||l.TYPES.push(e));var v=A;t.default=v},326:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t._getTypeAnnotation=function(){const e=this.node;if(e){if(e.typeAnnotation)return e.typeAnnotation;if(!A.has(e)){A.add(e);try{var t;let n=r[e.type];if(n)return n.call(this,e);if(n=r[this.parentPath.type],null!=(t=n)&&t.validParent)return this.parentPath.getTypeAnnotation()}finally{A.delete(e)}}}else if(\"init\"===this.key&&this.parentPath.isVariableDeclarator()){const e=this.parentPath.parentPath,t=e.parentPath;return\"left\"===e.key&&t.isForInStatement()?x():\"left\"===e.key&&t.isForOfStatement()?s():D()}},t.baseTypeStrictlyMatches=function(e){const t=this.getTypeAnnotation(),n=e.getTypeAnnotation();return!(a(t)||!u(t))&&n.type===t.type},t.couldBeBaseType=function(e){const t=this.getTypeAnnotation();if(a(t))return!0;if(S(t)){for(const n of t.types)if(a(n)||v(e,n,!0))return!0;return!1}return v(e,t,!0)},t.getTypeAnnotation=function(){let e=this.getData(\"typeAnnotation\");return null!=e||(e=this._getTypeAnnotation()||s(),(E(e)||T(e))&&(e=e.typeAnnotation),this.setData(\"typeAnnotation\",e)),e},t.isBaseType=function(e,t){return v(e,this.getTypeAnnotation(),t)},t.isGenericType=function(e){const t=this.getTypeAnnotation();return!(\"Array\"!==e||!(m(t)||o(t)||b(t)))||(p(t)&&h(t.id,{name:e})||g(t)&&h(t.typeName,{name:e}))};var r=n(3239),i=n(6067);const{anyTypeAnnotation:s,isAnyTypeAnnotation:a,isArrayTypeAnnotation:o,isBooleanTypeAnnotation:l,isEmptyTypeAnnotation:c,isFlowBaseAnnotation:u,isGenericTypeAnnotation:p,isIdentifier:h,isMixedTypeAnnotation:d,isNumberTypeAnnotation:f,isStringTypeAnnotation:y,isTSArrayType:m,isTSTypeAnnotation:T,isTSTypeReference:g,isTupleTypeAnnotation:b,isTypeAnnotation:E,isUnionTypeAnnotation:S,isVoidTypeAnnotation:P,stringTypeAnnotation:x,voidTypeAnnotation:D}=i,A=new WeakSet;function v(e,t,n){if(\"string\"===e)return y(t);if(\"number\"===e)return f(t);if(\"boolean\"===e)return l(t);if(\"any\"===e)return a(t);if(\"mixed\"===e)return d(t);if(\"empty\"===e)return c(t);if(\"void\"===e)return P(t);if(n)return!1;throw new Error(`Unknown base type ${e}`)}},475:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){if(!this.isReferenced())return;const t=this.scope.getBinding(e.name);return t?t.identifier.typeAnnotation?t.identifier.typeAnnotation:function(e,t,n){const r=[],s=[];let a=c(e,t,s);const o=p(e,t,n);if(o){const t=c(e,o.ifStatement);a=a.filter((e=>t.indexOf(e)<0)),r.push(o.typeAnnotation)}if(a.length){a.push(...s);for(const e of a)r.push(e.getTypeAnnotation())}if(r.length)return(0,i.createUnionType)(r)}(t,this,e.name):\"undefined\"===e.name?l():\"NaN\"===e.name||\"Infinity\"===e.name?o():void e.name};var r=n(6067),i=n(5193);const{BOOLEAN_NUMBER_BINARY_OPERATORS:s,createTypeAnnotationBasedOnTypeof:a,numberTypeAnnotation:o,voidTypeAnnotation:l}=r;function c(e,t,n){const r=e.constantViolations.slice();return r.unshift(e.path),r.filter((e=>{const r=(e=e.resolve())._guessExecutionStatusRelativeTo(t);return n&&\"unknown\"===r&&n.push(e),\"before\"===r}))}function u(e,t){const n=t.node.operator,r=t.get(\"right\").resolve(),i=t.get(\"left\").resolve();let l,c,u;if(i.isIdentifier({name:e})?l=r:r.isIdentifier({name:e})&&(l=i),l)return\"===\"===n?l.getTypeAnnotation():s.indexOf(n)>=0?o():void 0;if(\"===\"!==n&&\"==\"!==n)return;if(i.isUnaryExpression({operator:\"typeof\"})?(c=i,u=r):r.isUnaryExpression({operator:\"typeof\"})&&(c=r,u=i),!c)return;if(!c.get(\"argument\").isIdentifier({name:e}))return;if(u=u.resolve(),!u.isLiteral())return;const p=u.node.value;return\"string\"==typeof p?a(p):void 0}function p(e,t,n){const r=function(e,t,n){let r;for(;r=t.parentPath;){if(r.isIfStatement()||r.isConditionalExpression()){if(\"test\"===t.key)return;return r}if(r.isFunction()&&r.parentPath.scope.getBinding(n)!==e)return;t=r}}(e,t,n);if(!r)return;const s=[r.get(\"test\")],a=[];for(let e=0;e<s.length;e++){const t=s[e];if(t.isLogicalExpression())\"&&\"===t.node.operator&&(s.push(t.get(\"left\")),s.push(t.get(\"right\")));else if(t.isBinaryExpression()){const e=u(n,t);e&&a.push(e)}}return a.length?{typeAnnotation:(0,i.createUnionType)(a),ifStatement:r}:p(e,r,n)}},3239:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ArrayExpression=v,t.AssignmentExpression=function(){return this.get(\"right\").getTypeAnnotation()},t.BinaryExpression=function(e){const t=e.operator;if(l.indexOf(t)>=0)return g();if(a.indexOf(t)>=0)return d();if(\"+\"===t){const e=this.get(\"right\"),t=this.get(\"left\");return t.isBaseType(\"number\")&&e.isBaseType(\"number\")?g():t.isBaseType(\"string\")||e.isBaseType(\"string\")?b():S([b(),g()])}},t.BooleanLiteral=function(){return d()},t.CallExpression=function(){const{callee:e}=this.node;return O(e)?h(b()):w(e)||I(e)||x(e,{name:\"Array\"})?h(p()):N(e)?h(E([b(),p()])):F(this.get(\"callee\"))},t.ConditionalExpression=function(){const e=[this.get(\"consequent\").getTypeAnnotation(),this.get(\"alternate\").getTypeAnnotation()];return(0,s.createUnionType)(e)},t.ClassDeclaration=t.ClassExpression=t.FunctionDeclaration=t.ArrowFunctionExpression=t.FunctionExpression=function(){return y(m(\"Function\"))},Object.defineProperty(t,\"Identifier\",{enumerable:!0,get:function(){return i.default}}),t.LogicalExpression=function(){const e=[this.get(\"left\").getTypeAnnotation(),this.get(\"right\").getTypeAnnotation()];return(0,s.createUnionType)(e)},t.NewExpression=function(e){if(\"Identifier\"===e.callee.type)return y(e.callee)},t.NullLiteral=function(){return T()},t.NumericLiteral=function(){return g()},t.ObjectExpression=function(){return y(m(\"Object\"))},t.ParenthesizedExpression=function(){return this.get(\"expression\").getTypeAnnotation()},t.RegExpLiteral=function(){return y(m(\"RegExp\"))},t.RestElement=C,t.SequenceExpression=function(){return this.get(\"expressions\").pop().getTypeAnnotation()},t.StringLiteral=function(){return b()},t.TSAsExpression=A,t.TSNonNullExpression=function(){return this.get(\"expression\").getTypeAnnotation()},t.TaggedTemplateExpression=function(){return F(this.get(\"tag\"))},t.TemplateLiteral=function(){return b()},t.TypeCastExpression=D,t.UnaryExpression=function(e){const t=e.operator;return\"void\"===t?P():c.indexOf(t)>=0?g():u.indexOf(t)>=0?b():o.indexOf(t)>=0?d():void 0},t.UpdateExpression=function(e){const t=e.operator;if(\"++\"===t||\"--\"===t)return g()},t.VariableDeclarator=function(){if(this.get(\"id\").isIdentifier())return this.get(\"init\").getTypeAnnotation()};var r=n(6067),i=n(475),s=n(5193);const{BOOLEAN_BINARY_OPERATORS:a,BOOLEAN_UNARY_OPERATORS:o,NUMBER_BINARY_OPERATORS:l,NUMBER_UNARY_OPERATORS:c,STRING_UNARY_OPERATORS:u,anyTypeAnnotation:p,arrayTypeAnnotation:h,booleanTypeAnnotation:d,buildMatchMemberExpression:f,genericTypeAnnotation:y,identifier:m,nullLiteralTypeAnnotation:T,numberTypeAnnotation:g,stringTypeAnnotation:b,tupleTypeAnnotation:E,unionTypeAnnotation:S,voidTypeAnnotation:P,isIdentifier:x}=r;function D(e){return e.typeAnnotation}function A(e){return e.typeAnnotation}function v(){return y(m(\"Array\"))}function C(){return v()}D.validParent=!0,A.validParent=!0,C.validParent=!0;const w=f(\"Array.from\"),O=f(\"Object.keys\"),I=f(\"Object.values\"),N=f(\"Object.entries\");function F(e){if((e=e.resolve()).isFunction()){const{node:t}=e;if(t.async)return t.generator?y(m(\"AsyncIterator\")):y(m(\"Promise\"));if(t.generator)return y(m(\"Iterator\"));if(e.node.returnType)return e.node.returnType}}},5193:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.createUnionType=function(e){return o(e[0])?i?i(e):a(e):s?s(e):void 0};var r=n(6067);const{createFlowUnionType:i,createTSUnionType:s,createUnionTypeAnnotation:a,isFlowType:o,isTSType:l}=r},4989:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t._guessExecutionStatusRelativeTo=function(e){return b(this,e,new Map)},t._resolve=function(e,t){if(!(t&&t.indexOf(this)>=0))if((t=t||[]).push(this),this.isVariableDeclarator()){if(this.get(\"id\").isIdentifier())return this.get(\"init\").resolve(e,t)}else if(this.isReferencedIdentifier()){const n=this.scope.getBinding(this.node.name);if(!n)return;if(!n.constant)return;if(\"module\"===n.kind)return;if(n.path!==this){const r=n.path.resolve(e,t);if(this.find((e=>e.node===r.node)))return;return r}}else{if(this.isTypeCastExpression())return this.get(\"expression\").resolve(e,t);if(e&&this.isMemberExpression()){const n=this.toComputedKey();if(!c(n))return;const r=n.value,i=this.get(\"object\").resolve(e,t);if(i.isObjectExpression()){const n=i.get(\"properties\");for(const i of n){if(!i.isProperty())continue;const n=i.get(\"key\");let s=i.isnt(\"computed\")&&n.isIdentifier({name:r});if(s=s||n.isLiteral({value:r}),s)return i.get(\"value\").resolve(e,t)}}else if(i.isArrayExpression()&&!isNaN(+r)){const n=i.get(\"elements\")[r];if(n)return n.resolve(e,t)}}}},t.canHaveVariableDeclarationOrExpression=function(){return(\"init\"===this.key||\"left\"===this.key)&&this.parentPath.isFor()},t.canSwapBetweenExpressionAndStatement=function(e){return!(\"body\"!==this.key||!this.parentPath.isArrowFunctionExpression())&&(this.isExpression()?a(e):!!this.isBlockStatement()&&o(e))},t.equals=function(e,t){return this.node[e]===t},t.getSource=function(){const e=this.node;if(e.end){const t=this.hub.getCode();if(t)return t.slice(e.start,e.end)}return\"\"},t.has=d,t.is=void 0,t.isCompletionRecord=function(e){let t=this,n=!0;do{const{type:r,container:i}=t;if(!n&&(t.isFunction()||\"StaticBlock\"===r))return!!e;if(n=!1,Array.isArray(i)&&t.key!==i.length-1)return!1}while((t=t.parentPath)&&!t.isProgram()&&!t.isDoExpression());return!0},t.isConstantExpression=function(){if(this.isIdentifier()){const e=this.scope.getBinding(this.node.name);return!!e&&e.constant}if(this.isLiteral())return!this.isRegExpLiteral()&&(!this.isTemplateLiteral()||this.get(\"expressions\").every((e=>e.isConstantExpression())));if(this.isUnaryExpression())return\"void\"===this.node.operator&&this.get(\"argument\").isConstantExpression();if(this.isBinaryExpression()){const{operator:e}=this.node;return\"in\"!==e&&\"instanceof\"!==e&&this.get(\"left\").isConstantExpression()&&this.get(\"right\").isConstantExpression()}return!1},t.isInStrictMode=function(){return!!(this.isProgram()?this:this.parentPath).find((e=>{if(e.isProgram({sourceType:\"module\"}))return!0;if(e.isClass())return!0;if(e.isArrowFunctionExpression()&&!e.get(\"body\").isBlockStatement())return!1;let t;if(e.isFunction())t=e.node.body;else{if(!e.isProgram())return!1;t=e.node}for(const e of t.directives)if(\"use strict\"===e.value.value)return!0}))},t.isNodeType=function(e){return p(this.type,e)},t.isStatementOrBlock=function(){return!this.parentPath.isLabeledStatement()&&!a(this.container)&&i.includes(this.key)},t.isStatic=function(){return this.scope.isStatic(this.node)},t.isnt=function(e){return!this.has(e)},t.matchesPattern=function(e,t){return h(this.node,e,t)},t.referencesImport=function(e,t){if(!this.isReferencedIdentifier()){if(this.isJSXMemberExpression()&&this.node.property.name===t||(this.isMemberExpression()||this.isOptionalMemberExpression())&&(this.node.computed?u(this.node.property,{value:t}):this.node.property.name===t)){const t=this.get(\"object\");return t.isReferencedIdentifier()&&t.referencesImport(e,\"*\")}return!1}const n=this.scope.getBinding(this.node.name);if(!n||\"module\"!==n.kind)return!1;const r=n.path,i=r.parentPath;return!!i.isImportDeclaration()&&(i.node.source.value===e&&(!t||(!(!r.isImportDefaultSpecifier()||\"default\"!==t)||(!(!r.isImportNamespaceSpecifier()||\"*\"!==t)||!(!r.isImportSpecifier()||!l(r.node.imported,{name:t}))))))},t.resolve=function(e,t){return this._resolve(e,t)||this},t.willIMaybeExecuteBefore=function(e){return\"after\"!==this._guessExecutionStatusRelativeTo(e)};var r=n(6067);const{STATEMENT_OR_BLOCK_KEYS:i,VISITOR_KEYS:s,isBlockStatement:a,isExpression:o,isIdentifier:l,isLiteral:c,isStringLiteral:u,isType:p,matchesPattern:h}=r;function d(e){const t=this.node&&this.node[e];return t&&Array.isArray(t)?!!t.length:!!t}const f=d;function y(e){return e.isProgram()?e:(e.parentPath.scope.getFunctionParent()||e.parentPath.scope.getProgramParent()).path}function m(e,t){switch(e){case\"LogicalExpression\":case\"AssignmentPattern\":return\"right\"===t;case\"ConditionalExpression\":case\"IfStatement\":return\"consequent\"===t||\"alternate\"===t;case\"WhileStatement\":case\"DoWhileStatement\":case\"ForInStatement\":case\"ForOfStatement\":return\"body\"===t;case\"ForStatement\":return\"body\"===t||\"update\"===t;case\"SwitchStatement\":return\"cases\"===t;case\"TryStatement\":return\"handler\"===t;case\"OptionalMemberExpression\":return\"property\"===t;case\"OptionalCallExpression\":return\"arguments\"===t;default:return!1}}function T(e,t){for(let n=0;n<t;n++){const t=e[n];if(m(t.parent.type,t.parentKey))return!0}return!1}t.is=f;const g=Symbol();function b(e,t,n){const r={this:y(e),target:y(t)};if(r.target.node!==r.this.node)return function(e,t,n){let r,i=n.get(e.node);if(i){if(r=i.get(t.node))return r===g?\"unknown\":r}else n.set(e.node,i=new Map);i.set(t.node,g);const s=function(e,t,n){if(!t.isFunctionDeclaration())return\"before\"===b(e,t,n)?\"before\":\"unknown\";if(t.parentPath.isExportDeclaration())return\"unknown\";const r=t.scope.getBinding(t.node.id.name);if(!r.references)return\"before\";const i=r.referencePaths;let s;for(const r of i){if(r.find((e=>e.node===t.node)))continue;if(\"callee\"!==r.key||!r.parentPath.isCallExpression())return\"unknown\";const i=b(e,r,n);if(s&&s!==i)return\"unknown\";s=i}return s}(e,t,n);return i.set(t.node,s),s}(e,r.target,n);const i={target:t.getAncestry(),this:e.getAncestry()};if(i.target.indexOf(e)>=0)return\"after\";if(i.this.indexOf(t)>=0)return\"before\";let a;const o={target:0,this:0};for(;!a&&o.this<i.this.length;){const e=i.this[o.this];o.target=i.target.indexOf(e),o.target>=0?a=e:o.this++}if(!a)throw new Error(\"Internal Babel error - The two compared nodes don't appear to belong to the same program.\");if(T(i.this,o.this-1)||T(i.target,o.target-1))return\"unknown\";const l={this:i.this[o.this-1],target:i.target[o.target-1]};if(l.target.listKey&&l.this.listKey&&l.target.container===l.this.container)return l.target.key>l.this.key?\"before\":\"after\";const c=s[a.type],u=c.indexOf(l.this.parentKey);return c.indexOf(l.target.parentKey)>u?\"before\":\"after\"}},6698:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var r=n(6067),i=r;const{react:s}=r,{cloneNode:a,jsxExpressionContainer:o,variableDeclaration:l,variableDeclarator:c}=i,u={ReferencedIdentifier(e,t){if(e.isJSXIdentifier()&&s.isCompatTag(e.node.name)&&!e.parentPath.isJSXMemberExpression())return;if(\"this\"===e.node.name){let n=e.scope;do{if(n.path.isFunction()&&!n.path.isArrowFunctionExpression())break}while(n=n.parent);n&&t.breakOnScopePaths.push(n.path)}const n=e.scope.getBinding(e.node.name);if(n){for(const r of n.constantViolations)if(r.scope!==n.path.scope)return t.mutableBinding=!0,void e.stop();n===t.scope.getBinding(e.node.name)&&(t.bindings[e.node.name]=n)}}};t.default=class{constructor(e,t){this.breakOnScopePaths=void 0,this.bindings=void 0,this.mutableBinding=void 0,this.scopes=void 0,this.scope=void 0,this.path=void 0,this.attachAfter=void 0,this.breakOnScopePaths=[],this.bindings={},this.mutableBinding=!1,this.scopes=[],this.scope=t,this.path=e,this.attachAfter=!1}isCompatibleScope(e){for(const t of Object.keys(this.bindings)){const n=this.bindings[t];if(!e.bindingIdentifierEquals(t,n.identifier))return!1}return!0}getCompatibleScopes(){let e=this.path.scope;do{if(!this.isCompatibleScope(e))break;if(this.scopes.push(e),this.breakOnScopePaths.indexOf(e.path)>=0)break}while(e=e.parent)}getAttachmentPath(){let e=this._getAttachmentPath();if(!e)return;let t=e.scope;if(t.path===e&&(t=e.scope.parent),t.path.isProgram()||t.path.isFunction())for(const n of Object.keys(this.bindings)){if(!t.hasOwnBinding(n))continue;const r=this.bindings[n];if(\"param\"!==r.kind&&\"params\"!==r.path.parentKey&&this.getAttachmentParentForPath(r.path).key>=e.key){this.attachAfter=!0,e=r.path;for(const t of r.constantViolations)this.getAttachmentParentForPath(t).key>e.key&&(e=t)}}return e}_getAttachmentPath(){const e=this.scopes.pop();if(e)if(e.path.isFunction()){if(!this.hasOwnParamBindings(e))return this.getNextScopeAttachmentParent();{if(this.scope===e)return;const t=e.path.get(\"body\").get(\"body\");for(let e=0;e<t.length;e++)if(!t[e].node._blockHoist)return t[e]}}else if(e.path.isProgram())return this.getNextScopeAttachmentParent()}getNextScopeAttachmentParent(){const e=this.scopes.pop();if(e)return this.getAttachmentParentForPath(e.path)}getAttachmentParentForPath(e){do{if(!e.parentPath||Array.isArray(e.container)&&e.isStatement())return e}while(e=e.parentPath)}hasOwnParamBindings(e){for(const t of Object.keys(this.bindings)){if(!e.hasOwnBinding(t))continue;const n=this.bindings[t];if(\"param\"===n.kind&&n.constant)return!0}return!1}run(){if(this.path.traverse(u,this),this.mutableBinding)return;this.getCompatibleScopes();const e=this.getAttachmentPath();if(!e)return;if(e.getFunctionParent()===this.path.getFunctionParent())return;let t=e.scope.generateUidIdentifier(\"ref\");const n=c(t,this.path.node),r=this.attachAfter?\"insertAfter\":\"insertBefore\",[i]=e[r]([e.isVariableDeclarator()?n:l(\"var\",[n])]),s=this.path.parentPath;return s.isJSXElement()&&this.path.container===s.node.children&&(t=o(t)),this.path.replaceWith(a(t)),e.isVariableDeclarator()?i.get(\"init\"):i.get(\"declarations.0.init\")}}},308:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.hooks=void 0,t.hooks=[function(e,t){if(\"test\"===e.key&&(t.isWhile()||t.isSwitchCase())||\"declaration\"===e.key&&t.isExportDeclaration()||\"body\"===e.key&&t.isLabeledStatement()||\"declarations\"===e.listKey&&t.isVariableDeclaration()&&1===t.node.declarations.length||\"expression\"===e.key&&t.isExpressionStatement())return t.remove(),!0},function(e,t){if(t.isSequenceExpression()&&1===t.node.expressions.length)return t.replaceWith(t.node.expressions[0]),!0},function(e,t){if(t.isBinary())return\"left\"===e.key?t.replaceWith(t.node.right):t.replaceWith(t.node.left),!0},function(e,t){if(t.isIfStatement()&&\"consequent\"===e.key||\"body\"===e.key&&(t.isLoop()||t.isArrowFunctionExpression()))return e.replaceWith({type:\"BlockStatement\",body:[]}),!0}]},8745:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.isBindingIdentifier=function(){const{node:e,parent:t}=this,n=this.parentPath.parent;return p(e)&&i(e,t,n)},t.isBlockScoped=function(){return s(this.node)},t.isExpression=function(){return this.isIdentifier()?this.isReferencedIdentifier():o(this.node)},t.isFlow=function(){const{node:e}=this;return!(!l(e)&&(h(e)?\"type\"!==e.importKind&&\"typeof\"!==e.importKind:a(e)?\"type\"!==e.exportKind:!d(e)||\"type\"!==e.importKind&&\"typeof\"!==e.importKind))},t.isForAwaitStatement=function(){return D(this.node,{await:!0})},t.isGenerated=function(){return!this.isUser()},t.isPure=function(e){return this.scope.isPure(this.node,e)},t.isReferenced=function(){return g(this.node,this.parent)},t.isReferencedIdentifier=function(e){const{node:t,parent:n}=this;if(!p(t,e)&&!y(n,e)){if(!f(t,e))return!1;if(A(t.name))return!1}return g(t,n,this.parentPath.parent)},t.isReferencedMemberExpression=function(){const{node:e,parent:t}=this;return m(e)&&g(e,t)},t.isRestProperty=function(){return T(this.node)&&this.parentPath&&this.parentPath.isObjectPattern()},t.isScope=function(){return b(this.node,this.parent)},t.isSpreadProperty=function(){return T(this.node)&&this.parentPath&&this.parentPath.isObjectExpression()},t.isStatement=function(){const{node:e,parent:t}=this;if(E(e)){if(P(e)){if(u(t,{left:e}))return!1;if(c(t,{init:e}))return!1}return!0}return!1},t.isUser=function(){return this.node&&!!this.node.loc},t.isVar=function(){return S(this.node)};var r=n(6067);const{isBinding:i,isBlockScoped:s,isExportDeclaration:a,isExpression:o,isFlow:l,isForStatement:c,isForXStatement:u,isIdentifier:p,isImportDeclaration:h,isImportSpecifier:d,isJSXIdentifier:f,isJSXMemberExpression:y,isMemberExpression:m,isRestElement:T,isReferenced:g,isScope:b,isStatement:E,isVar:S,isVariableDeclaration:P,react:x,isForOfStatement:D}=r,{isCompatTag:A}=x;t.isExistentialTypeParam=function(){throw new Error(\"`path.isExistentialTypeParam` has been renamed to `path.isExistsTypeAnnotation()` in Babel 7.\")},t.isNumericLiteralTypeAnnotation=function(){throw new Error(\"`path.isNumericLiteralTypeAnnotation()` has been renamed to `path.isNumberLiteralTypeAnnotation()` in Babel 7.\")}},8176:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Var=t.User=t.Statement=t.SpreadProperty=t.Scope=t.RestProperty=t.ReferencedMemberExpression=t.ReferencedIdentifier=t.Referenced=t.Pure=t.NumericLiteralTypeAnnotation=t.Generated=t.ForAwaitStatement=t.Flow=t.Expression=t.ExistentialTypeParam=t.BlockScoped=t.BindingIdentifier=void 0,t.ReferencedIdentifier=[\"Identifier\",\"JSXIdentifier\"],t.ReferencedMemberExpression=[\"MemberExpression\"],t.BindingIdentifier=[\"Identifier\"],t.Statement=[\"Statement\"],t.Expression=[\"Expression\"],t.Scope=[\"Scopable\",\"Pattern\"],t.Referenced=null,t.BlockScoped=null,t.Var=[\"VariableDeclaration\"],t.User=null,t.Generated=null,t.Pure=null,t.Flow=[\"Flow\",\"ImportDeclaration\",\"ExportDeclaration\",\"ImportSpecifier\"],t.RestProperty=[\"RestElement\"],t.SpreadProperty=[\"RestElement\"],t.ExistentialTypeParam=[\"ExistsTypeAnnotation\"],t.NumericLiteralTypeAnnotation=[\"NumberLiteralTypeAnnotation\"],t.ForAwaitStatement=[\"ForOfStatement\"]},4825:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t._containerInsert=function(e,t){this.updateSiblingKeys(e,t.length);const n=[];this.container.splice(e,0,...t);for(let i=0;i<t.length;i++){var r;const t=e+i,s=this.getSibling(t);n.push(s),null!=(r=this.context)&&r.queue&&s.pushContext(this.context)}const i=this._getQueueContexts();for(const e of n){e.setScope(),e.debug(\"Inserted.\");for(const t of i)t.maybeQueue(e,!0)}return n},t._containerInsertAfter=function(e){return this._containerInsert(this.key+1,e)},t._containerInsertBefore=function(e){return this._containerInsert(this.key,e)},t._verifyNodeList=function(e){if(!e)return[];Array.isArray(e)||(e=[e]);for(let t=0;t<e.length;t++){const n=e[t];let r;if(n?\"object\"!=typeof n?r=\"contains a non-object node\":n.type?n instanceof s.default&&(r=\"has a NodePath when it expected a raw object\"):r=\"without a type\":r=\"has falsy node\",r){const e=Array.isArray(n)?\"array\":typeof n;throw new Error(`Node list ${r} with the index of ${t} and type of ${e}`)}}return e},t.hoist=function(e=this.scope){return new i.default(this,e).run()},t.insertAfter=function(e){if(this._assertUnremoved(),this.isSequenceExpression())return P(this.get(\"expressions\")).insertAfter(e);const t=this._verifyNodeList(e),{parentPath:n,parent:r}=this;if(n.isExpressionStatement()||n.isLabeledStatement()||m(r)||n.isExportDefaultDeclaration()&&this.isDeclaration())return n.insertAfter(t.map((e=>T(e)?d(e):e)));if(this.isNodeType(\"Expression\")&&!this.isJSXElement()&&!n.isJSXElement()||n.isForStatement()&&\"init\"===this.key){if(this.node){const e=this.node;let{scope:r}=this;if(r.path.isPattern())return l(e),this.replaceWith(p(o([],e),[])),this.get(\"callee.body\").insertAfter(t),[this];if(x(this))t.unshift(e);else if(y(e)&&E(e.callee))t.unshift(e),t.push(S());else if(function(e,t){if(!f(e)||!g(e.left))return!1;const n=t.getBlockParent();return n.hasOwnBinding(e.left.name)&&n.getOwnBinding(e.left.name).constantViolations.length<=1}(e,r))t.unshift(e),t.push(h(e.left));else if(r.isPure(e,!0))t.push(e);else{n.isMethod({computed:!0,key:e})&&(r=r.parent);const i=r.generateDeclaredUidIdentifier();t.unshift(d(c(\"=\",h(i),e))),t.push(d(h(i)))}}return this.replaceExpressionWithStatements(t)}if(Array.isArray(this.container))return this._containerInsertAfter(t);if(this.isStatementOrBlock()){const e=this.node,n=e&&(!this.isExpressionStatement()||null!=e.expression);return this.replaceWith(u(n?[e]:[])),this.pushContainer(\"body\",t)}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?\")},t.insertBefore=function(e){this._assertUnremoved();const t=this._verifyNodeList(e),{parentPath:n,parent:r}=this;if(n.isExpressionStatement()||n.isLabeledStatement()||m(r)||n.isExportDefaultDeclaration()&&this.isDeclaration())return n.insertBefore(t);if(this.isNodeType(\"Expression\")&&!this.isJSXElement()||n.isForStatement()&&\"init\"===this.key)return this.node&&t.push(this.node),this.replaceExpressionWithStatements(t);if(Array.isArray(this.container))return this._containerInsertBefore(t);if(this.isStatementOrBlock()){const e=this.node,n=e&&(!this.isExpressionStatement()||null!=e.expression);return this.replaceWith(u(n?[e]:[])),this.unshiftContainer(\"body\",t)}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?\")},t.pushContainer=function(e,t){this._assertUnremoved();const n=this._verifyNodeList(t),r=this.node[e];return s.default.get({parentPath:this,parent:this.node,container:r,listKey:e,key:r.length}).setContext(this.context).replaceWithMultiple(n)},t.unshiftContainer=function(e,t){return this._assertUnremoved(),t=this._verifyNodeList(t),s.default.get({parentPath:this,parent:this.node,container:this.node[e],listKey:e,key:0}).setContext(this.context)._containerInsertBefore(t)},t.updateSiblingKeys=function(e,t){if(!this.parent)return;const n=(0,r.getCachedPaths)(this.hub,this.parent)||[];for(const[,r]of n)\"number\"==typeof r.key&&r.key>=e&&(r.key+=t)};var r=n(9446),i=n(6698),s=n(763),a=n(6067);const{arrowFunctionExpression:o,assertExpression:l,assignmentExpression:c,blockStatement:u,callExpression:p,cloneNode:h,expressionStatement:d,isAssignmentExpression:f,isCallExpression:y,isExportNamedDeclaration:m,isExpression:T,isIdentifier:g,isSequenceExpression:b,isSuper:E,thisExpression:S}=a,P=e=>e[e.length-1];function x(e){return b(e.parent)&&(P(e.parent.expressions)!==e.node||x(e.parentPath))}},1319:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t._assertUnremoved=function(){if(this.removed)throw this.buildCodeFrameError(\"NodePath has been removed so is read-only.\")},t._callRemovalHooks=function(){for(const e of r.hooks)if(e(this,this.parentPath))return!0},t._markRemoved=function(){this._traverseFlags|=s.SHOULD_SKIP|s.REMOVED,this.parent&&(0,i.getCachedPaths)(this.hub,this.parent).delete(this.node),this.node=null},t._remove=function(){Array.isArray(this.container)?(this.container.splice(this.key,1),this.updateSiblingKeys(this.key,-1)):this._replaceWith(null)},t._removeFromScope=function(){const e=this.getBindingIdentifiers();Object.keys(e).forEach((e=>this.scope.removeBinding(e)))},t.remove=function(){var e;this._assertUnremoved(),this.resync(),null!=(e=this.opts)&&e.noScope||this._removeFromScope(),this._callRemovalHooks()||(this.shareCommentsWithSiblings(),this._remove()),this._markRemoved()};var r=n(308),i=n(9446),s=n(763)},383:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t._replaceWith=function(e){var t;if(!this.container)throw new ReferenceError(\"Container is falsy\");this.inList?w(this.parent,this.key,[e]):w(this.parent,this.key,e),this.debug(`Replace with ${null==e?void 0:e.type}`),null==(t=(0,a.getCachedPaths)(this.hub,this.parent))||t.set(e,this).delete(this.node),this.node=this.container[this.key]=e},t.replaceExpressionWithStatements=function(e){this.resync();const t=C(e,this.scope);if(t)return this.replaceWith(t)[0].get(\"expressions\");const n=this.getFunctionParent(),r=null==n?void 0:n.is(\"async\"),s=null==n?void 0:n.is(\"generator\"),a=p([],f(e));this.replaceWith(y(a,[]));const o=this.get(\"callee\");(0,c.default)(o.get(\"body\"),(e=>{this.scope.push({id:e})}),\"var\");const l=this.get(\"callee\").getCompletionRecords();for(const e of l){if(!e.isExpressionStatement())continue;const t=e.findParent((e=>e.isLoop()));if(t){let n=t.getData(\"expressionReplacementReturnUid\");n?n=g(n.name):(n=o.scope.generateDeclaredUidIdentifier(\"ret\"),o.get(\"body\").pushContainer(\"body\",v(m(n))),t.setData(\"expressionReplacementReturnUid\",n)),e.get(\"expression\").replaceWith(h(\"=\",m(n),e.node.expression))}else e.replaceWith(v(e.node.expression))}o.arrowFunctionToExpression();const T=o,b=r&&i.default.hasType(this.get(\"callee.body\").node,\"AwaitExpression\",u),E=s&&i.default.hasType(this.get(\"callee.body\").node,\"YieldExpression\",u);return b&&(T.set(\"async\",!0),E||this.replaceWith(d(this.node))),E&&(T.set(\"generator\",!0),this.replaceWith(O(this.node,!0))),T.get(\"body.body\")},t.replaceInline=function(e){if(this.resync(),Array.isArray(e)){if(Array.isArray(this.container)){e=this._verifyNodeList(e);const t=this._containerInsertAfter(e);return this.remove(),t}return this.replaceWithMultiple(e)}return this.replaceWith(e)},t.replaceWith=function(e){if(this.resync(),this.removed)throw new Error(\"You can't replace this node, we've already removed it\");let t=e instanceof s.default?e.node:e;if(!t)throw new Error(\"You passed `path.replaceWith()` a falsy node, use `path.remove()` instead\");if(this.node===t)return[this];if(this.isProgram()&&!x(t))throw new Error(\"You can only replace a Program root node with another Program node\");if(Array.isArray(t))throw new Error(\"Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`\");if(\"string\"==typeof t)throw new Error(\"Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`\");let n=\"\";if(this.isNodeType(\"Statement\")&&P(t)&&(this.canHaveVariableDeclarationOrExpression()||this.canSwapBetweenExpressionAndStatement(t)||this.parentPath.isExportDefaultDeclaration()||(t=T(t),n=\"expression\")),this.isNodeType(\"Expression\")&&D(t)&&!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(t))return this.replaceExpressionWithStatements([t]);const r=this.node;return r&&(S(t,r),A(r)),this._replaceWith(t),this.type=t.type,this.setScope(),this.requeue(),[n?this.get(n):this]},t.replaceWithMultiple=function(e){var t;this.resync(),e=this._verifyNodeList(e),b(e[0],this.node),E(e[e.length-1],this.node),null==(t=(0,a.getCachedPaths)(this.hub,this.parent))||t.delete(this.node),this.node=this.container[this.key]=null;const n=this.insertAfter(e);return this.node?this.requeue():this.remove(),n},t.replaceWithSourceString=function(e){let t;this.resync();try{e=`(${e})`,t=(0,o.parse)(e)}catch(t){const n=t.loc;throw n&&(t.message+=\" - make sure this is an expression.\\n\"+(0,r.codeFrameColumns)(e,{start:{line:n.line,column:n.column+1}}),t.code=\"BABEL_REPLACE_SOURCE_ERROR\"),t}const n=t.program.body[0].expression;return i.default.removeProperties(n),this.replaceWith(n)};var r=n(4704),i=n(5686),s=n(763),a=n(9446),o=n(7191),l=n(6067),c=n(7438);const{FUNCTION_TYPES:u,arrowFunctionExpression:p,assignmentExpression:h,awaitExpression:d,blockStatement:f,callExpression:y,cloneNode:m,expressionStatement:T,identifier:g,inheritLeadingComments:b,inheritTrailingComments:E,inheritsComments:S,isExpression:P,isProgram:x,isStatement:D,removeComments:A,returnStatement:v,toSequenceExpression:C,validate:w,yieldExpression:O}=l},8670:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0,t.default=class{constructor({identifier:e,scope:t,path:n,kind:r}){this.identifier=void 0,this.scope=void 0,this.path=void 0,this.kind=void 0,this.constantViolations=[],this.constant=!0,this.referencePaths=[],this.referenced=!1,this.references=0,this.identifier=e,this.scope=t,this.path=n,this.kind=r,\"var\"!==r&&\"hoisted\"!==r||!function(e){for(let{parentPath:t,key:n}=e;t;({parentPath:t,key:n}=t)){if(t.isFunctionParent())return!1;if(t.isWhile()||t.isForXStatement()||t.isForStatement()&&\"body\"===n)return!0}return!1}(n)||this.reassign(n),this.clearValue()}deoptValue(){this.clearValue(),this.hasDeoptedValue=!0}setValue(e){this.hasDeoptedValue||(this.hasValue=!0,this.value=e)}clearValue(){this.hasDeoptedValue=!1,this.hasValue=!1,this.value=null}reassign(e){this.constant=!1,-1===this.constantViolations.indexOf(e)&&this.constantViolations.push(e)}reference(e){-1===this.referencePaths.indexOf(e)&&(this.referenced=!0,this.references++,this.referencePaths.push(e))}dereference(){this.references--,this.referenced=!!this.references}}},200:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var r=n(6426),i=n(5686),s=n(8670),a=n(1272),o=n(6067),l=o,c=n(9446),u=n(7380);const{NOT_LOCAL_BINDING:p,callExpression:h,cloneNode:d,getBindingIdentifiers:f,identifier:y,isArrayExpression:m,isBinary:T,isClass:g,isClassBody:b,isClassDeclaration:E,isExportAllDeclaration:S,isExportDefaultDeclaration:P,isExportNamedDeclaration:x,isFunctionDeclaration:D,isIdentifier:A,isImportDeclaration:v,isLiteral:C,isMethod:w,isModuleSpecifier:O,isNullLiteral:I,isObjectExpression:N,isProperty:F,isPureish:k,isRegExpLiteral:L,isSuper:_,isTaggedTemplateExpression:M,isTemplateLiteral:B,isThisExpression:j,isUnaryExpression:R,isVariableDeclaration:U,matchesPattern:V,memberExpression:K,numericLiteral:W,toIdentifier:X,unaryExpression:Y,variableDeclaration:q,variableDeclarator:H,isRecordExpression:J,isTupleExpression:$,isObjectProperty:G,isTopicReference:z,isMetaProperty:Q,isPrivateName:Z,isExportDeclaration:ee}=o;function te(e,t){switch(null==e?void 0:e.type){default:var n;if(v(e)||ee(e))if((S(e)||x(e)||v(e))&&e.source)te(e.source,t);else if((x(e)||v(e))&&null!=(n=e.specifiers)&&n.length)for(const n of e.specifiers)te(n,t);else(P(e)||x(e))&&e.declaration&&te(e.declaration,t);else O(e)?te(e.local,t):!C(e)||I(e)||L(e)||B(e)||t.push(e.value);break;case\"MemberExpression\":case\"OptionalMemberExpression\":case\"JSXMemberExpression\":te(e.object,t),te(e.property,t);break;case\"Identifier\":case\"JSXIdentifier\":t.push(e.name);break;case\"CallExpression\":case\"OptionalCallExpression\":case\"NewExpression\":te(e.callee,t);break;case\"ObjectExpression\":case\"ObjectPattern\":for(const n of e.properties)te(n,t);break;case\"SpreadElement\":case\"RestElement\":case\"UnaryExpression\":case\"UpdateExpression\":te(e.argument,t);break;case\"ObjectProperty\":case\"ObjectMethod\":case\"ClassProperty\":case\"ClassMethod\":case\"ClassPrivateProperty\":case\"ClassPrivateMethod\":te(e.key,t);break;case\"ThisExpression\":t.push(\"this\");break;case\"Super\":t.push(\"super\");break;case\"Import\":t.push(\"import\");break;case\"DoExpression\":t.push(\"do\");break;case\"YieldExpression\":t.push(\"yield\"),te(e.argument,t);break;case\"AwaitExpression\":t.push(\"await\"),te(e.argument,t);break;case\"AssignmentExpression\":te(e.left,t);break;case\"VariableDeclarator\":case\"FunctionExpression\":case\"FunctionDeclaration\":case\"ClassExpression\":case\"ClassDeclaration\":case\"PrivateName\":te(e.id,t);break;case\"ParenthesizedExpression\":te(e.expression,t);break;case\"MetaProperty\":te(e.meta,t),te(e.property,t);break;case\"JSXElement\":te(e.openingElement,t);break;case\"JSXOpeningElement\":te(e.name,t);break;case\"JSXFragment\":te(e.openingFragment,t);break;case\"JSXOpeningFragment\":t.push(\"Fragment\");break;case\"JSXNamespacedName\":te(e.namespace,t),te(e.name,t)}}const ne={ForStatement(e){const t=e.get(\"init\");if(t.isVar()){const{scope:n}=e;(n.getFunctionParent()||n.getProgramParent()).registerBinding(\"var\",t)}},Declaration(e){e.isBlockScoped()||e.isImportDeclaration()||e.isExportDeclaration()||(e.scope.getFunctionParent()||e.scope.getProgramParent()).registerDeclaration(e)},ImportDeclaration(e){e.scope.getBlockParent().registerDeclaration(e)},ReferencedIdentifier(e,t){t.references.push(e)},ForXStatement(e,t){const n=e.get(\"left\");if(n.isPattern()||n.isIdentifier())t.constantViolations.push(e);else if(n.isVar()){const{scope:t}=e;(t.getFunctionParent()||t.getProgramParent()).registerBinding(\"var\",n)}},ExportDeclaration:{exit(e){const{node:t,scope:n}=e;if(S(t))return;const r=t.declaration;if(E(r)||D(r)){const t=r.id;if(!t)return;const i=n.getBinding(t.name);null==i||i.reference(e)}else if(U(r))for(const t of r.declarations)for(const r of Object.keys(f(t))){const t=n.getBinding(r);null==t||t.reference(e)}}},LabeledStatement(e){e.scope.getBlockParent().registerDeclaration(e)},AssignmentExpression(e,t){t.assignments.push(e)},UpdateExpression(e,t){t.constantViolations.push(e)},UnaryExpression(e,t){\"delete\"===e.node.operator&&t.constantViolations.push(e)},BlockScoped(e){let t=e.scope;if(t.path===e&&(t=t.parent),t.getBlockParent().registerDeclaration(e),e.isClassDeclaration()&&e.node.id){const t=e.node.id.name;e.scope.bindings[t]=e.scope.parent.getBinding(t)}},CatchClause(e){e.scope.registerBinding(\"let\",e)},Function(e){const t=e.get(\"params\");for(const n of t)e.scope.registerBinding(\"param\",n);e.isFunctionExpression()&&e.has(\"id\")&&!e.get(\"id\").node[p]&&e.scope.registerBinding(\"local\",e.get(\"id\"),e)},ClassExpression(e){e.has(\"id\")&&!e.get(\"id\").node[p]&&e.scope.registerBinding(\"local\",e)}};let re=0;class ie{constructor(e){this.uid=void 0,this.path=void 0,this.block=void 0,this.labels=void 0,this.inited=void 0,this.bindings=void 0,this.references=void 0,this.globals=void 0,this.uids=void 0,this.data=void 0,this.crawling=void 0;const{node:t}=e,n=c.scope.get(t);if((null==n?void 0:n.path)===e)return n;c.scope.set(t,this),this.uid=re++,this.block=t,this.path=e,this.labels=new Map,this.inited=!1}get parent(){var e;let t,n=this.path;do{const e=\"key\"===n.key||\"decorators\"===n.listKey;n=n.parentPath,e&&n.isMethod()&&(n=n.parentPath),n&&n.isScope()&&(t=n)}while(n&&!t);return null==(e=t)?void 0:e.scope}get parentBlock(){return this.path.parent}get hub(){return this.path.hub}traverse(e,t,n){(0,i.default)(e,t,this,n,this.path)}generateDeclaredUidIdentifier(e){const t=this.generateUidIdentifier(e);return this.push({id:t}),d(t)}generateUidIdentifier(e){return y(this.generateUid(e))}generateUid(e=\"temp\"){let t;e=X(e).replace(/^_+/,\"\").replace(/[0-9]+$/g,\"\");let n=1;do{t=this._generateUid(e,n),n++}while(this.hasLabel(t)||this.hasBinding(t)||this.hasGlobal(t)||this.hasReference(t));const r=this.getProgramParent();return r.references[t]=!0,r.uids[t]=!0,t}_generateUid(e,t){let n=e;return t>1&&(n+=t),`_${n}`}generateUidBasedOnNode(e,t){const n=[];te(e,n);let r=n.join(\"$\");return r=r.replace(/^_/,\"\")||t||\"ref\",this.generateUid(r.slice(0,20))}generateUidIdentifierBasedOnNode(e,t){return y(this.generateUidBasedOnNode(e,t))}isStatic(e){if(j(e)||_(e)||z(e))return!0;if(A(e)){const t=this.getBinding(e.name);return t?t.constant:this.hasBinding(e.name)}return!1}maybeGenerateMemoised(e,t){if(this.isStatic(e))return null;{const n=this.generateUidIdentifierBasedOnNode(e);return t?n:(this.push({id:n}),d(n))}}checkBlockScopedCollisions(e,t,n,r){if(\"param\"!==t&&\"local\"!==e.kind&&(\"let\"===t||\"let\"===e.kind||\"const\"===e.kind||\"module\"===e.kind||\"param\"===e.kind&&\"const\"===t))throw this.hub.buildError(r,`Duplicate declaration \"${n}\"`,TypeError)}rename(e,t){const n=this.getBinding(e);n&&(t||(t=this.generateUidIdentifier(e).name),new r.default(n,e,t).rename(arguments[2]))}_renameFromMap(e,t,n,r){e[t]&&(e[n]=r,e[t]=null)}dump(){const e=\"-\".repeat(60);console.log(e);let t=this;do{console.log(\"#\",t.block.type);for(const e of Object.keys(t.bindings)){const n=t.bindings[e];console.log(\" -\",e,{constant:n.constant,references:n.references,violations:n.constantViolations.length,kind:n.kind})}}while(t=t.parent);console.log(e)}toArray(e,t,n){if(A(e)){const t=this.getBinding(e.name);if(null!=t&&t.constant&&t.path.isGenericType(\"Array\"))return e}if(m(e))return e;if(A(e,{name:\"arguments\"}))return h(K(K(K(y(\"Array\"),y(\"prototype\")),y(\"slice\")),y(\"call\")),[e]);let r;const i=[e];return!0===t?r=\"toConsumableArray\":\"number\"==typeof t?(i.push(W(t)),r=\"slicedToArray\"):r=\"toArray\",n&&(i.unshift(this.hub.addHelper(r)),r=\"maybeArrayLike\"),h(this.hub.addHelper(r),i)}hasLabel(e){return!!this.getLabel(e)}getLabel(e){return this.labels.get(e)}registerLabel(e){this.labels.set(e.node.label.name,e)}registerDeclaration(e){if(e.isLabeledStatement())this.registerLabel(e);else if(e.isFunctionDeclaration())this.registerBinding(\"hoisted\",e.get(\"id\"),e);else if(e.isVariableDeclaration()){const t=e.get(\"declarations\"),{kind:n}=e.node;for(const e of t)this.registerBinding(\"using\"===n||\"await using\"===n?\"const\":n,e)}else if(e.isClassDeclaration()){if(e.node.declare)return;this.registerBinding(\"let\",e)}else if(e.isImportDeclaration()){const t=\"type\"===e.node.importKind||\"typeof\"===e.node.importKind,n=e.get(\"specifiers\");for(const e of n){const n=t||e.isImportSpecifier()&&(\"type\"===e.node.importKind||\"typeof\"===e.node.importKind);this.registerBinding(n?\"unknown\":\"module\",e)}}else if(e.isExportDeclaration()){const t=e.get(\"declaration\");(t.isClassDeclaration()||t.isFunctionDeclaration()||t.isVariableDeclaration())&&this.registerDeclaration(t)}else this.registerBinding(\"unknown\",e)}buildUndefinedNode(){return Y(\"void\",W(0),!0)}registerConstantViolation(e){const t=e.getBindingIdentifiers();for(const r of Object.keys(t)){var n;null==(n=this.getBinding(r))||n.reassign(e)}}registerBinding(e,t,n=t){if(!e)throw new ReferenceError(\"no `kind`\");if(t.isVariableDeclaration()){const n=t.get(\"declarations\");for(const t of n)this.registerBinding(e,t);return}const r=this.getProgramParent(),i=t.getOuterBindingIdentifiers(!0);for(const t of Object.keys(i)){r.references[t]=!0;for(const r of i[t]){const i=this.getOwnBinding(t);if(i){if(i.identifier===r)continue;this.checkBlockScopedCollisions(i,e,t,r)}i?this.registerConstantViolation(n):this.bindings[t]=new s.default({identifier:r,scope:this,path:n,kind:e})}}}addGlobal(e){this.globals[e.name]=e}hasUid(e){let t=this;do{if(t.uids[e])return!0}while(t=t.parent);return!1}hasGlobal(e){let t=this;do{if(t.globals[e])return!0}while(t=t.parent);return!1}hasReference(e){return!!this.getProgramParent().references[e]}isPure(e,t){if(A(e)){const n=this.getBinding(e.name);return!!n&&(!t||n.constant)}if(j(e)||Q(e)||z(e)||Z(e))return!0;var n,r,i;if(g(e))return!(e.superClass&&!this.isPure(e.superClass,t))&&!((null==(n=e.decorators)?void 0:n.length)>0)&&this.isPure(e.body,t);if(b(e)){for(const n of e.body)if(!this.isPure(n,t))return!1;return!0}if(T(e))return this.isPure(e.left,t)&&this.isPure(e.right,t);if(m(e)||$(e)){for(const n of e.elements)if(null!==n&&!this.isPure(n,t))return!1;return!0}if(N(e)||J(e)){for(const n of e.properties)if(!this.isPure(n,t))return!1;return!0}if(w(e))return!(e.computed&&!this.isPure(e.key,t)||(null==(r=e.decorators)?void 0:r.length)>0);if(F(e))return!(e.computed&&!this.isPure(e.key,t)||(null==(i=e.decorators)?void 0:i.length)>0||(G(e)||e.static)&&null!==e.value&&!this.isPure(e.value,t));if(R(e))return this.isPure(e.argument,t);if(M(e))return V(e.tag,\"String.raw\")&&!this.hasBinding(\"String\",!0)&&this.isPure(e.quasi,t);if(B(e)){for(const n of e.expressions)if(!this.isPure(n,t))return!1;return!0}return k(e)}setData(e,t){return this.data[e]=t}getData(e){let t=this;do{const n=t.data[e];if(null!=n)return n}while(t=t.parent)}removeData(e){let t=this;do{null!=t.data[e]&&(t.data[e]=null)}while(t=t.parent)}init(){this.inited||(this.inited=!0,this.crawl())}crawl(){const e=this.path;this.references=Object.create(null),this.bindings=Object.create(null),this.globals=Object.create(null),this.uids=Object.create(null),this.data=Object.create(null);const t=this.getProgramParent();if(t.crawling)return;const n={references:[],constantViolations:[],assignments:[]};if(this.crawling=!0,\"Program\"!==e.type&&(0,u.isExplodedVisitor)(ne)){for(const t of ne.enter)t.call(n,e,n);const t=ne[e.type];if(t)for(const r of t.enter)r.call(n,e,n)}e.traverse(ne,n),this.crawling=!1;for(const e of n.assignments){const n=e.getBindingIdentifiers();for(const r of Object.keys(n))e.scope.getBinding(r)||t.addGlobal(n[r]);e.scope.registerConstantViolation(e)}for(const e of n.references){const n=e.scope.getBinding(e.node.name);n?n.reference(e):t.addGlobal(e.node)}for(const e of n.constantViolations)e.scope.registerConstantViolation(e)}push(e){let t=this.path;t.isPattern()?t=this.getPatternParent().path:t.isBlockStatement()||t.isProgram()||(t=this.getBlockParent().path),t.isSwitchStatement()&&(t=(this.getFunctionParent()||this.getProgramParent()).path);const{init:n,unique:r,kind:i=\"var\",id:s}=e;if(!n&&!r&&(\"var\"===i||\"let\"===i)&&t.isFunction()&&!t.node.name&&l.isCallExpression(t.parent,{callee:t.node})&&t.parent.arguments.length<=t.node.params.length&&l.isIdentifier(s))return t.pushContainer(\"params\",s),void t.scope.registerBinding(\"param\",t.get(\"params\")[t.node.params.length-1]);(t.isLoop()||t.isCatchClause()||t.isFunction())&&(t.ensureBlock(),t=t.get(\"body\"));const a=null==e._blockHoist?2:e._blockHoist,o=`declaration:${i}:${a}`;let c=!r&&t.getData(o);if(!c){const e=q(i,[]);e._blockHoist=a,[c]=t.unshiftContainer(\"body\",[e]),r||t.setData(o,c)}const u=H(s,n),p=c.node.declarations.push(u);t.scope.registerBinding(i,c.get(\"declarations\")[p-1])}getProgramParent(){let e=this;do{if(e.path.isProgram())return e}while(e=e.parent);throw new Error(\"Couldn't find a Program\")}getFunctionParent(){let e=this;do{if(e.path.isFunctionParent())return e}while(e=e.parent);return null}getBlockParent(){let e=this;do{if(e.path.isBlockParent())return e}while(e=e.parent);throw new Error(\"We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...\")}getPatternParent(){let e=this;do{if(!e.path.isPattern())return e.getBlockParent()}while(e=e.parent.parent);throw new Error(\"We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...\")}getAllBindings(){const e=Object.create(null);let t=this;do{for(const n of Object.keys(t.bindings))n in e==0&&(e[n]=t.bindings[n]);t=t.parent}while(t);return e}getAllBindingsOfKind(...e){const t=Object.create(null);for(const n of e){let e=this;do{for(const r of Object.keys(e.bindings)){const i=e.bindings[r];i.kind===n&&(t[r]=i)}e=e.parent}while(e)}return t}bindingIdentifierEquals(e,t){return this.getBindingIdentifier(e)===t}getBinding(e){let t,n=this;do{const i=n.getOwnBinding(e);var r;if(i){if(null==(r=t)||!r.isPattern()||\"param\"===i.kind||\"local\"===i.kind)return i}else if(!i&&\"arguments\"===e&&n.path.isFunction()&&!n.path.isArrowFunctionExpression())break;t=n.path}while(n=n.parent)}getOwnBinding(e){return this.bindings[e]}getBindingIdentifier(e){var t;return null==(t=this.getBinding(e))?void 0:t.identifier}getOwnBindingIdentifier(e){const t=this.bindings[e];return null==t?void 0:t.identifier}hasOwnBinding(e){return!!this.getOwnBinding(e)}hasBinding(e,t){var n,r,i;return!(!e||!this.hasOwnBinding(e)&&(\"boolean\"==typeof t&&(t={noGlobals:t}),!this.parentHasBinding(e,t)&&(null!=(n=t)&&n.noUids||!this.hasUid(e))&&(null!=(r=t)&&r.noGlobals||!ie.globals.includes(e))&&(null!=(i=t)&&i.noGlobals||!ie.contextVariables.includes(e))))}parentHasBinding(e,t){var n;return null==(n=this.parent)?void 0:n.hasBinding(e,t)}moveBindingTo(e,t){const n=this.getBinding(e);n&&(n.scope.removeOwnBinding(e),n.scope=t,t.bindings[e]=n)}removeOwnBinding(e){delete this.bindings[e]}removeBinding(e){var t;null==(t=this.getBinding(e))||t.scope.removeOwnBinding(e);let n=this;do{n.uids[e]&&(n.uids[e]=!1)}while(n=n.parent)}}t.default=ie,ie.globals=Object.keys(a.builtin),ie.contextVariables=[\"arguments\",\"undefined\",\"Infinity\",\"NaN\"]},6426:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var r=n(3472),i=n(6067),s=n(4705),a=n(9432),o=n(7380);const l={ReferencedIdentifier({node:e},t){e.name===t.oldName&&(e.name=t.newName)},Scope(e,t){e.scope.bindingIdentifierEquals(t.oldName,t.binding.identifier)||(e.skip(),e.isMethod()&&(0,s.requeueComputedKeyAndDecorators)(e))},ObjectProperty({node:e,scope:t},n){const{name:r}=e.key;var i;!e.shorthand||r!==n.oldName&&r!==n.newName||t.getBindingIdentifier(r)!==n.binding.identifier||(e.shorthand=!1,null!=(i=e.extra)&&i.shorthand&&(e.extra.shorthand=!1))},\"AssignmentExpression|Declaration|VariableDeclarator\"(e,t){if(e.isVariableDeclaration())return;const n=e.getOuterBindingIdentifiers();for(const e in n)e===t.oldName&&(n[e].name=t.newName)}};t.default=class{constructor(e,t,n){this.newName=n,this.oldName=t,this.binding=e}maybeConvertFromExportDeclaration(e){const t=e.parentPath;if(t.isExportDeclaration()){if(t.isExportDefaultDeclaration()){const{declaration:e}=t.node;if(i.isDeclaration(e)&&!e.id)return}t.isExportAllDeclaration()||(0,r.default)(t)}}maybeConvertFromClassFunctionDeclaration(e){return e}maybeConvertFromClassFunctionExpression(e){return e}rename(){const{binding:e,oldName:t,newName:n}=this,{scope:r,path:i}=e,s=i.find((e=>e.isDeclaration()||e.isFunctionExpression()||e.isClassExpression()));s&&s.getOuterBindingIdentifiers()[t]===e.identifier&&this.maybeConvertFromExportDeclaration(s);const c=arguments[0]||r.block;(0,a.traverseNode)(c,(0,o.explode)(l),r,this,r.path,{discriminant:!0}),arguments[0]||(r.removeOwnBinding(t),r.bindings[n]=e,this.binding.identifier.name=n),s&&(this.maybeConvertFromClassFunctionDeclaration(i),this.maybeConvertFromClassFunctionExpression(i))}}},9432:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.traverseNode=function(e,t,n,i,a,o,l){const c=s[e.type];if(!c)return!1;const u=new r.default(n,t,i,a);if(l)return(null==o||!o[a.parentKey])&&u.visitQueue([a]);for(const t of c)if((null==o||!o[t])&&u.visit(e,t))return!0;return!1};var r=n(4165),i=n(6067);const{VISITOR_KEYS:s}=i},7380:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.explode=p,t.isExplodedVisitor=u,t.merge=function(e,t=[],n){const r={};for(let i=0;i<e.length;i++){const s=p(e[i]),a=t[i];let o=s;(a||n)&&(o=f(o,a,n)),g(r,o);for(const e of Object.keys(s)){if(T(e))continue;let t=s[e];(a||n)&&(t=f(t,a,n)),g(r[e]||(r[e]={}),t)}}return r},t.verify=h;var r=n(8176),i=n(6067);const{DEPRECATED_KEYS:s,DEPRECATED_ALIASES:a,FLIPPED_ALIAS_KEYS:o,TYPES:l,__internal__deprecationWarning:c}=i;function u(e){return null==e?void 0:e._exploded}function p(e){if(u(e))return e;e._exploded=!0;for(const t of Object.keys(e)){if(T(t))continue;const n=t.split(\"|\");if(1===n.length)continue;const r=e[t];delete e[t];for(const t of n)e[t]=r}h(e),delete e.__esModule,function(e){for(const t of Object.keys(e)){if(T(t))continue;const n=e[t];\"function\"==typeof n&&(e[t]={enter:n})}}(e),y(e);for(const t of Object.keys(e)){if(T(t))continue;if(!(t in r))continue;const n=e[t];for(const e of Object.keys(n))n[e]=m(t,n[e]);delete e[t];const i=r[t];if(null!==i)for(const t of i)e[t]?g(e[t],n):e[t]=n;else g(e,n)}for(const t of Object.keys(e)){if(T(t))continue;let n=o[t];if(t in s){const e=s[t];c(t,e,\"Visitor \"),n=[e]}else if(t in a){const e=a[t];c(t,e,\"Visitor \"),n=o[e]}if(!n)continue;const r=e[t];delete e[t];for(const t of n){const n=e[t];n?g(n,r):e[t]=Object.assign({},r)}}for(const t of Object.keys(e))T(t)||y(e[t]);return e}function h(e){if(!e._verified){if(\"function\"==typeof e)throw new Error(\"You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Function }`?\");for(const t of Object.keys(e)){if(\"enter\"!==t&&\"exit\"!==t||d(t,e[t]),T(t))continue;if(l.indexOf(t)<0)throw new Error(`You gave us a visitor for the node type ${t} but it's not a valid type`);const n=e[t];if(\"object\"==typeof n)for(const e of Object.keys(n)){if(\"enter\"!==e&&\"exit\"!==e)throw new Error(`You passed \\`traverse()\\` a visitor object with the property ${t} that has the invalid property ${e}`);d(`${t}.${e}`,n[e])}}e._verified=!0}}function d(e,t){const n=[].concat(t);for(const t of n)if(\"function\"!=typeof t)throw new TypeError(`Non-function found defined in ${e} with type ${typeof t}`)}function f(e,t,n){const r={};for(const i of[\"enter\",\"exit\"]){let s=e[i];Array.isArray(s)&&(s=s.map((function(e){let r=e;return t&&(r=function(n){e.call(t,n,t)}),n&&(r=n(null==t?void 0:t.key,i,r)),r!==e&&(r.toString=()=>e.toString()),r})),r[i]=s)}return r}function y(e){e.enter&&!Array.isArray(e.enter)&&(e.enter=[e.enter]),e.exit&&!Array.isArray(e.exit)&&(e.exit=[e.exit])}function m(e,t){const n=function(n){if(n[`is${e}`]())return t.apply(this,arguments)};return n.toString=()=>t.toString(),n}function T(e){return\"_\"===e[0]||\"enter\"===e||\"exit\"===e||\"shouldSkip\"===e||\"denylist\"===e||\"noScope\"===e||\"skipKeys\"===e||\"blacklist\"===e}function g(e,t){for(const n of[\"enter\",\"exit\"])t[n]&&(e[n]=[].concat(e[n]||[],t[n]))}},391:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){if(!(0,r.default)(e)){var t;const n=null!=(t=null==e?void 0:e.type)?t:JSON.stringify(e);throw new TypeError(`Not a valid node of type \"${n}\"`)}};var r=n(4814)},163:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.assertAccessor=function(e,t){s(\"Accessor\",e,t)},t.assertAnyTypeAnnotation=function(e,t){s(\"AnyTypeAnnotation\",e,t)},t.assertArgumentPlaceholder=function(e,t){s(\"ArgumentPlaceholder\",e,t)},t.assertArrayExpression=function(e,t){s(\"ArrayExpression\",e,t)},t.assertArrayPattern=function(e,t){s(\"ArrayPattern\",e,t)},t.assertArrayTypeAnnotation=function(e,t){s(\"ArrayTypeAnnotation\",e,t)},t.assertArrowFunctionExpression=function(e,t){s(\"ArrowFunctionExpression\",e,t)},t.assertAssignmentExpression=function(e,t){s(\"AssignmentExpression\",e,t)},t.assertAssignmentPattern=function(e,t){s(\"AssignmentPattern\",e,t)},t.assertAwaitExpression=function(e,t){s(\"AwaitExpression\",e,t)},t.assertBigIntLiteral=function(e,t){s(\"BigIntLiteral\",e,t)},t.assertBinary=function(e,t){s(\"Binary\",e,t)},t.assertBinaryExpression=function(e,t){s(\"BinaryExpression\",e,t)},t.assertBindExpression=function(e,t){s(\"BindExpression\",e,t)},t.assertBlock=function(e,t){s(\"Block\",e,t)},t.assertBlockParent=function(e,t){s(\"BlockParent\",e,t)},t.assertBlockStatement=function(e,t){s(\"BlockStatement\",e,t)},t.assertBooleanLiteral=function(e,t){s(\"BooleanLiteral\",e,t)},t.assertBooleanLiteralTypeAnnotation=function(e,t){s(\"BooleanLiteralTypeAnnotation\",e,t)},t.assertBooleanTypeAnnotation=function(e,t){s(\"BooleanTypeAnnotation\",e,t)},t.assertBreakStatement=function(e,t){s(\"BreakStatement\",e,t)},t.assertCallExpression=function(e,t){s(\"CallExpression\",e,t)},t.assertCatchClause=function(e,t){s(\"CatchClause\",e,t)},t.assertClass=function(e,t){s(\"Class\",e,t)},t.assertClassAccessorProperty=function(e,t){s(\"ClassAccessorProperty\",e,t)},t.assertClassBody=function(e,t){s(\"ClassBody\",e,t)},t.assertClassDeclaration=function(e,t){s(\"ClassDeclaration\",e,t)},t.assertClassExpression=function(e,t){s(\"ClassExpression\",e,t)},t.assertClassImplements=function(e,t){s(\"ClassImplements\",e,t)},t.assertClassMethod=function(e,t){s(\"ClassMethod\",e,t)},t.assertClassPrivateMethod=function(e,t){s(\"ClassPrivateMethod\",e,t)},t.assertClassPrivateProperty=function(e,t){s(\"ClassPrivateProperty\",e,t)},t.assertClassProperty=function(e,t){s(\"ClassProperty\",e,t)},t.assertCompletionStatement=function(e,t){s(\"CompletionStatement\",e,t)},t.assertConditional=function(e,t){s(\"Conditional\",e,t)},t.assertConditionalExpression=function(e,t){s(\"ConditionalExpression\",e,t)},t.assertContinueStatement=function(e,t){s(\"ContinueStatement\",e,t)},t.assertDebuggerStatement=function(e,t){s(\"DebuggerStatement\",e,t)},t.assertDecimalLiteral=function(e,t){s(\"DecimalLiteral\",e,t)},t.assertDeclaration=function(e,t){s(\"Declaration\",e,t)},t.assertDeclareClass=function(e,t){s(\"DeclareClass\",e,t)},t.assertDeclareExportAllDeclaration=function(e,t){s(\"DeclareExportAllDeclaration\",e,t)},t.assertDeclareExportDeclaration=function(e,t){s(\"DeclareExportDeclaration\",e,t)},t.assertDeclareFunction=function(e,t){s(\"DeclareFunction\",e,t)},t.assertDeclareInterface=function(e,t){s(\"DeclareInterface\",e,t)},t.assertDeclareModule=function(e,t){s(\"DeclareModule\",e,t)},t.assertDeclareModuleExports=function(e,t){s(\"DeclareModuleExports\",e,t)},t.assertDeclareOpaqueType=function(e,t){s(\"DeclareOpaqueType\",e,t)},t.assertDeclareTypeAlias=function(e,t){s(\"DeclareTypeAlias\",e,t)},t.assertDeclareVariable=function(e,t){s(\"DeclareVariable\",e,t)},t.assertDeclaredPredicate=function(e,t){s(\"DeclaredPredicate\",e,t)},t.assertDecorator=function(e,t){s(\"Decorator\",e,t)},t.assertDirective=function(e,t){s(\"Directive\",e,t)},t.assertDirectiveLiteral=function(e,t){s(\"DirectiveLiteral\",e,t)},t.assertDoExpression=function(e,t){s(\"DoExpression\",e,t)},t.assertDoWhileStatement=function(e,t){s(\"DoWhileStatement\",e,t)},t.assertEmptyStatement=function(e,t){s(\"EmptyStatement\",e,t)},t.assertEmptyTypeAnnotation=function(e,t){s(\"EmptyTypeAnnotation\",e,t)},t.assertEnumBody=function(e,t){s(\"EnumBody\",e,t)},t.assertEnumBooleanBody=function(e,t){s(\"EnumBooleanBody\",e,t)},t.assertEnumBooleanMember=function(e,t){s(\"EnumBooleanMember\",e,t)},t.assertEnumDeclaration=function(e,t){s(\"EnumDeclaration\",e,t)},t.assertEnumDefaultedMember=function(e,t){s(\"EnumDefaultedMember\",e,t)},t.assertEnumMember=function(e,t){s(\"EnumMember\",e,t)},t.assertEnumNumberBody=function(e,t){s(\"EnumNumberBody\",e,t)},t.assertEnumNumberMember=function(e,t){s(\"EnumNumberMember\",e,t)},t.assertEnumStringBody=function(e,t){s(\"EnumStringBody\",e,t)},t.assertEnumStringMember=function(e,t){s(\"EnumStringMember\",e,t)},t.assertEnumSymbolBody=function(e,t){s(\"EnumSymbolBody\",e,t)},t.assertExistsTypeAnnotation=function(e,t){s(\"ExistsTypeAnnotation\",e,t)},t.assertExportAllDeclaration=function(e,t){s(\"ExportAllDeclaration\",e,t)},t.assertExportDeclaration=function(e,t){s(\"ExportDeclaration\",e,t)},t.assertExportDefaultDeclaration=function(e,t){s(\"ExportDefaultDeclaration\",e,t)},t.assertExportDefaultSpecifier=function(e,t){s(\"ExportDefaultSpecifier\",e,t)},t.assertExportNamedDeclaration=function(e,t){s(\"ExportNamedDeclaration\",e,t)},t.assertExportNamespaceSpecifier=function(e,t){s(\"ExportNamespaceSpecifier\",e,t)},t.assertExportSpecifier=function(e,t){s(\"ExportSpecifier\",e,t)},t.assertExpression=function(e,t){s(\"Expression\",e,t)},t.assertExpressionStatement=function(e,t){s(\"ExpressionStatement\",e,t)},t.assertExpressionWrapper=function(e,t){s(\"ExpressionWrapper\",e,t)},t.assertFile=function(e,t){s(\"File\",e,t)},t.assertFlow=function(e,t){s(\"Flow\",e,t)},t.assertFlowBaseAnnotation=function(e,t){s(\"FlowBaseAnnotation\",e,t)},t.assertFlowDeclaration=function(e,t){s(\"FlowDeclaration\",e,t)},t.assertFlowPredicate=function(e,t){s(\"FlowPredicate\",e,t)},t.assertFlowType=function(e,t){s(\"FlowType\",e,t)},t.assertFor=function(e,t){s(\"For\",e,t)},t.assertForInStatement=function(e,t){s(\"ForInStatement\",e,t)},t.assertForOfStatement=function(e,t){s(\"ForOfStatement\",e,t)},t.assertForStatement=function(e,t){s(\"ForStatement\",e,t)},t.assertForXStatement=function(e,t){s(\"ForXStatement\",e,t)},t.assertFunction=function(e,t){s(\"Function\",e,t)},t.assertFunctionDeclaration=function(e,t){s(\"FunctionDeclaration\",e,t)},t.assertFunctionExpression=function(e,t){s(\"FunctionExpression\",e,t)},t.assertFunctionParent=function(e,t){s(\"FunctionParent\",e,t)},t.assertFunctionTypeAnnotation=function(e,t){s(\"FunctionTypeAnnotation\",e,t)},t.assertFunctionTypeParam=function(e,t){s(\"FunctionTypeParam\",e,t)},t.assertGenericTypeAnnotation=function(e,t){s(\"GenericTypeAnnotation\",e,t)},t.assertIdentifier=function(e,t){s(\"Identifier\",e,t)},t.assertIfStatement=function(e,t){s(\"IfStatement\",e,t)},t.assertImmutable=function(e,t){s(\"Immutable\",e,t)},t.assertImport=function(e,t){s(\"Import\",e,t)},t.assertImportAttribute=function(e,t){s(\"ImportAttribute\",e,t)},t.assertImportDeclaration=function(e,t){s(\"ImportDeclaration\",e,t)},t.assertImportDefaultSpecifier=function(e,t){s(\"ImportDefaultSpecifier\",e,t)},t.assertImportNamespaceSpecifier=function(e,t){s(\"ImportNamespaceSpecifier\",e,t)},t.assertImportOrExportDeclaration=function(e,t){s(\"ImportOrExportDeclaration\",e,t)},t.assertImportSpecifier=function(e,t){s(\"ImportSpecifier\",e,t)},t.assertIndexedAccessType=function(e,t){s(\"IndexedAccessType\",e,t)},t.assertInferredPredicate=function(e,t){s(\"InferredPredicate\",e,t)},t.assertInterfaceDeclaration=function(e,t){s(\"InterfaceDeclaration\",e,t)},t.assertInterfaceExtends=function(e,t){s(\"InterfaceExtends\",e,t)},t.assertInterfaceTypeAnnotation=function(e,t){s(\"InterfaceTypeAnnotation\",e,t)},t.assertInterpreterDirective=function(e,t){s(\"InterpreterDirective\",e,t)},t.assertIntersectionTypeAnnotation=function(e,t){s(\"IntersectionTypeAnnotation\",e,t)},t.assertJSX=function(e,t){s(\"JSX\",e,t)},t.assertJSXAttribute=function(e,t){s(\"JSXAttribute\",e,t)},t.assertJSXClosingElement=function(e,t){s(\"JSXClosingElement\",e,t)},t.assertJSXClosingFragment=function(e,t){s(\"JSXClosingFragment\",e,t)},t.assertJSXElement=function(e,t){s(\"JSXElement\",e,t)},t.assertJSXEmptyExpression=function(e,t){s(\"JSXEmptyExpression\",e,t)},t.assertJSXExpressionContainer=function(e,t){s(\"JSXExpressionContainer\",e,t)},t.assertJSXFragment=function(e,t){s(\"JSXFragment\",e,t)},t.assertJSXIdentifier=function(e,t){s(\"JSXIdentifier\",e,t)},t.assertJSXMemberExpression=function(e,t){s(\"JSXMemberExpression\",e,t)},t.assertJSXNamespacedName=function(e,t){s(\"JSXNamespacedName\",e,t)},t.assertJSXOpeningElement=function(e,t){s(\"JSXOpeningElement\",e,t)},t.assertJSXOpeningFragment=function(e,t){s(\"JSXOpeningFragment\",e,t)},t.assertJSXSpreadAttribute=function(e,t){s(\"JSXSpreadAttribute\",e,t)},t.assertJSXSpreadChild=function(e,t){s(\"JSXSpreadChild\",e,t)},t.assertJSXText=function(e,t){s(\"JSXText\",e,t)},t.assertLVal=function(e,t){s(\"LVal\",e,t)},t.assertLabeledStatement=function(e,t){s(\"LabeledStatement\",e,t)},t.assertLiteral=function(e,t){s(\"Literal\",e,t)},t.assertLogicalExpression=function(e,t){s(\"LogicalExpression\",e,t)},t.assertLoop=function(e,t){s(\"Loop\",e,t)},t.assertMemberExpression=function(e,t){s(\"MemberExpression\",e,t)},t.assertMetaProperty=function(e,t){s(\"MetaProperty\",e,t)},t.assertMethod=function(e,t){s(\"Method\",e,t)},t.assertMiscellaneous=function(e,t){s(\"Miscellaneous\",e,t)},t.assertMixedTypeAnnotation=function(e,t){s(\"MixedTypeAnnotation\",e,t)},t.assertModuleDeclaration=function(e,t){(0,i.default)(\"assertModuleDeclaration\",\"assertImportOrExportDeclaration\"),s(\"ModuleDeclaration\",e,t)},t.assertModuleExpression=function(e,t){s(\"ModuleExpression\",e,t)},t.assertModuleSpecifier=function(e,t){s(\"ModuleSpecifier\",e,t)},t.assertNewExpression=function(e,t){s(\"NewExpression\",e,t)},t.assertNoop=function(e,t){s(\"Noop\",e,t)},t.assertNullLiteral=function(e,t){s(\"NullLiteral\",e,t)},t.assertNullLiteralTypeAnnotation=function(e,t){s(\"NullLiteralTypeAnnotation\",e,t)},t.assertNullableTypeAnnotation=function(e,t){s(\"NullableTypeAnnotation\",e,t)},t.assertNumberLiteral=function(e,t){(0,i.default)(\"assertNumberLiteral\",\"assertNumericLiteral\"),s(\"NumberLiteral\",e,t)},t.assertNumberLiteralTypeAnnotation=function(e,t){s(\"NumberLiteralTypeAnnotation\",e,t)},t.assertNumberTypeAnnotation=function(e,t){s(\"NumberTypeAnnotation\",e,t)},t.assertNumericLiteral=function(e,t){s(\"NumericLiteral\",e,t)},t.assertObjectExpression=function(e,t){s(\"ObjectExpression\",e,t)},t.assertObjectMember=function(e,t){s(\"ObjectMember\",e,t)},t.assertObjectMethod=function(e,t){s(\"ObjectMethod\",e,t)},t.assertObjectPattern=function(e,t){s(\"ObjectPattern\",e,t)},t.assertObjectProperty=function(e,t){s(\"ObjectProperty\",e,t)},t.assertObjectTypeAnnotation=function(e,t){s(\"ObjectTypeAnnotation\",e,t)},t.assertObjectTypeCallProperty=function(e,t){s(\"ObjectTypeCallProperty\",e,t)},t.assertObjectTypeIndexer=function(e,t){s(\"ObjectTypeIndexer\",e,t)},t.assertObjectTypeInternalSlot=function(e,t){s(\"ObjectTypeInternalSlot\",e,t)},t.assertObjectTypeProperty=function(e,t){s(\"ObjectTypeProperty\",e,t)},t.assertObjectTypeSpreadProperty=function(e,t){s(\"ObjectTypeSpreadProperty\",e,t)},t.assertOpaqueType=function(e,t){s(\"OpaqueType\",e,t)},t.assertOptionalCallExpression=function(e,t){s(\"OptionalCallExpression\",e,t)},t.assertOptionalIndexedAccessType=function(e,t){s(\"OptionalIndexedAccessType\",e,t)},t.assertOptionalMemberExpression=function(e,t){s(\"OptionalMemberExpression\",e,t)},t.assertParenthesizedExpression=function(e,t){s(\"ParenthesizedExpression\",e,t)},t.assertPattern=function(e,t){s(\"Pattern\",e,t)},t.assertPatternLike=function(e,t){s(\"PatternLike\",e,t)},t.assertPipelineBareFunction=function(e,t){s(\"PipelineBareFunction\",e,t)},t.assertPipelinePrimaryTopicReference=function(e,t){s(\"PipelinePrimaryTopicReference\",e,t)},t.assertPipelineTopicExpression=function(e,t){s(\"PipelineTopicExpression\",e,t)},t.assertPlaceholder=function(e,t){s(\"Placeholder\",e,t)},t.assertPrivate=function(e,t){s(\"Private\",e,t)},t.assertPrivateName=function(e,t){s(\"PrivateName\",e,t)},t.assertProgram=function(e,t){s(\"Program\",e,t)},t.assertProperty=function(e,t){s(\"Property\",e,t)},t.assertPureish=function(e,t){s(\"Pureish\",e,t)},t.assertQualifiedTypeIdentifier=function(e,t){s(\"QualifiedTypeIdentifier\",e,t)},t.assertRecordExpression=function(e,t){s(\"RecordExpression\",e,t)},t.assertRegExpLiteral=function(e,t){s(\"RegExpLiteral\",e,t)},t.assertRegexLiteral=function(e,t){(0,i.default)(\"assertRegexLiteral\",\"assertRegExpLiteral\"),s(\"RegexLiteral\",e,t)},t.assertRestElement=function(e,t){s(\"RestElement\",e,t)},t.assertRestProperty=function(e,t){(0,i.default)(\"assertRestProperty\",\"assertRestElement\"),s(\"RestProperty\",e,t)},t.assertReturnStatement=function(e,t){s(\"ReturnStatement\",e,t)},t.assertScopable=function(e,t){s(\"Scopable\",e,t)},t.assertSequenceExpression=function(e,t){s(\"SequenceExpression\",e,t)},t.assertSpreadElement=function(e,t){s(\"SpreadElement\",e,t)},t.assertSpreadProperty=function(e,t){(0,i.default)(\"assertSpreadProperty\",\"assertSpreadElement\"),s(\"SpreadProperty\",e,t)},t.assertStandardized=function(e,t){s(\"Standardized\",e,t)},t.assertStatement=function(e,t){s(\"Statement\",e,t)},t.assertStaticBlock=function(e,t){s(\"StaticBlock\",e,t)},t.assertStringLiteral=function(e,t){s(\"StringLiteral\",e,t)},t.assertStringLiteralTypeAnnotation=function(e,t){s(\"StringLiteralTypeAnnotation\",e,t)},t.assertStringTypeAnnotation=function(e,t){s(\"StringTypeAnnotation\",e,t)},t.assertSuper=function(e,t){s(\"Super\",e,t)},t.assertSwitchCase=function(e,t){s(\"SwitchCase\",e,t)},t.assertSwitchStatement=function(e,t){s(\"SwitchStatement\",e,t)},t.assertSymbolTypeAnnotation=function(e,t){s(\"SymbolTypeAnnotation\",e,t)},t.assertTSAnyKeyword=function(e,t){s(\"TSAnyKeyword\",e,t)},t.assertTSArrayType=function(e,t){s(\"TSArrayType\",e,t)},t.assertTSAsExpression=function(e,t){s(\"TSAsExpression\",e,t)},t.assertTSBaseType=function(e,t){s(\"TSBaseType\",e,t)},t.assertTSBigIntKeyword=function(e,t){s(\"TSBigIntKeyword\",e,t)},t.assertTSBooleanKeyword=function(e,t){s(\"TSBooleanKeyword\",e,t)},t.assertTSCallSignatureDeclaration=function(e,t){s(\"TSCallSignatureDeclaration\",e,t)},t.assertTSConditionalType=function(e,t){s(\"TSConditionalType\",e,t)},t.assertTSConstructSignatureDeclaration=function(e,t){s(\"TSConstructSignatureDeclaration\",e,t)},t.assertTSConstructorType=function(e,t){s(\"TSConstructorType\",e,t)},t.assertTSDeclareFunction=function(e,t){s(\"TSDeclareFunction\",e,t)},t.assertTSDeclareMethod=function(e,t){s(\"TSDeclareMethod\",e,t)},t.assertTSEntityName=function(e,t){s(\"TSEntityName\",e,t)},t.assertTSEnumDeclaration=function(e,t){s(\"TSEnumDeclaration\",e,t)},t.assertTSEnumMember=function(e,t){s(\"TSEnumMember\",e,t)},t.assertTSExportAssignment=function(e,t){s(\"TSExportAssignment\",e,t)},t.assertTSExpressionWithTypeArguments=function(e,t){s(\"TSExpressionWithTypeArguments\",e,t)},t.assertTSExternalModuleReference=function(e,t){s(\"TSExternalModuleReference\",e,t)},t.assertTSFunctionType=function(e,t){s(\"TSFunctionType\",e,t)},t.assertTSImportEqualsDeclaration=function(e,t){s(\"TSImportEqualsDeclaration\",e,t)},t.assertTSImportType=function(e,t){s(\"TSImportType\",e,t)},t.assertTSIndexSignature=function(e,t){s(\"TSIndexSignature\",e,t)},t.assertTSIndexedAccessType=function(e,t){s(\"TSIndexedAccessType\",e,t)},t.assertTSInferType=function(e,t){s(\"TSInferType\",e,t)},t.assertTSInstantiationExpression=function(e,t){s(\"TSInstantiationExpression\",e,t)},t.assertTSInterfaceBody=function(e,t){s(\"TSInterfaceBody\",e,t)},t.assertTSInterfaceDeclaration=function(e,t){s(\"TSInterfaceDeclaration\",e,t)},t.assertTSIntersectionType=function(e,t){s(\"TSIntersectionType\",e,t)},t.assertTSIntrinsicKeyword=function(e,t){s(\"TSIntrinsicKeyword\",e,t)},t.assertTSLiteralType=function(e,t){s(\"TSLiteralType\",e,t)},t.assertTSMappedType=function(e,t){s(\"TSMappedType\",e,t)},t.assertTSMethodSignature=function(e,t){s(\"TSMethodSignature\",e,t)},t.assertTSModuleBlock=function(e,t){s(\"TSModuleBlock\",e,t)},t.assertTSModuleDeclaration=function(e,t){s(\"TSModuleDeclaration\",e,t)},t.assertTSNamedTupleMember=function(e,t){s(\"TSNamedTupleMember\",e,t)},t.assertTSNamespaceExportDeclaration=function(e,t){s(\"TSNamespaceExportDeclaration\",e,t)},t.assertTSNeverKeyword=function(e,t){s(\"TSNeverKeyword\",e,t)},t.assertTSNonNullExpression=function(e,t){s(\"TSNonNullExpression\",e,t)},t.assertTSNullKeyword=function(e,t){s(\"TSNullKeyword\",e,t)},t.assertTSNumberKeyword=function(e,t){s(\"TSNumberKeyword\",e,t)},t.assertTSObjectKeyword=function(e,t){s(\"TSObjectKeyword\",e,t)},t.assertTSOptionalType=function(e,t){s(\"TSOptionalType\",e,t)},t.assertTSParameterProperty=function(e,t){s(\"TSParameterProperty\",e,t)},t.assertTSParenthesizedType=function(e,t){s(\"TSParenthesizedType\",e,t)},t.assertTSPropertySignature=function(e,t){s(\"TSPropertySignature\",e,t)},t.assertTSQualifiedName=function(e,t){s(\"TSQualifiedName\",e,t)},t.assertTSRestType=function(e,t){s(\"TSRestType\",e,t)},t.assertTSSatisfiesExpression=function(e,t){s(\"TSSatisfiesExpression\",e,t)},t.assertTSStringKeyword=function(e,t){s(\"TSStringKeyword\",e,t)},t.assertTSSymbolKeyword=function(e,t){s(\"TSSymbolKeyword\",e,t)},t.assertTSThisType=function(e,t){s(\"TSThisType\",e,t)},t.assertTSTupleType=function(e,t){s(\"TSTupleType\",e,t)},t.assertTSType=function(e,t){s(\"TSType\",e,t)},t.assertTSTypeAliasDeclaration=function(e,t){s(\"TSTypeAliasDeclaration\",e,t)},t.assertTSTypeAnnotation=function(e,t){s(\"TSTypeAnnotation\",e,t)},t.assertTSTypeAssertion=function(e,t){s(\"TSTypeAssertion\",e,t)},t.assertTSTypeElement=function(e,t){s(\"TSTypeElement\",e,t)},t.assertTSTypeLiteral=function(e,t){s(\"TSTypeLiteral\",e,t)},t.assertTSTypeOperator=function(e,t){s(\"TSTypeOperator\",e,t)},t.assertTSTypeParameter=function(e,t){s(\"TSTypeParameter\",e,t)},t.assertTSTypeParameterDeclaration=function(e,t){s(\"TSTypeParameterDeclaration\",e,t)},t.assertTSTypeParameterInstantiation=function(e,t){s(\"TSTypeParameterInstantiation\",e,t)},t.assertTSTypePredicate=function(e,t){s(\"TSTypePredicate\",e,t)},t.assertTSTypeQuery=function(e,t){s(\"TSTypeQuery\",e,t)},t.assertTSTypeReference=function(e,t){s(\"TSTypeReference\",e,t)},t.assertTSUndefinedKeyword=function(e,t){s(\"TSUndefinedKeyword\",e,t)},t.assertTSUnionType=function(e,t){s(\"TSUnionType\",e,t)},t.assertTSUnknownKeyword=function(e,t){s(\"TSUnknownKeyword\",e,t)},t.assertTSVoidKeyword=function(e,t){s(\"TSVoidKeyword\",e,t)},t.assertTaggedTemplateExpression=function(e,t){s(\"TaggedTemplateExpression\",e,t)},t.assertTemplateElement=function(e,t){s(\"TemplateElement\",e,t)},t.assertTemplateLiteral=function(e,t){s(\"TemplateLiteral\",e,t)},t.assertTerminatorless=function(e,t){s(\"Terminatorless\",e,t)},t.assertThisExpression=function(e,t){s(\"ThisExpression\",e,t)},t.assertThisTypeAnnotation=function(e,t){s(\"ThisTypeAnnotation\",e,t)},t.assertThrowStatement=function(e,t){s(\"ThrowStatement\",e,t)},t.assertTopicReference=function(e,t){s(\"TopicReference\",e,t)},t.assertTryStatement=function(e,t){s(\"TryStatement\",e,t)},t.assertTupleExpression=function(e,t){s(\"TupleExpression\",e,t)},t.assertTupleTypeAnnotation=function(e,t){s(\"TupleTypeAnnotation\",e,t)},t.assertTypeAlias=function(e,t){s(\"TypeAlias\",e,t)},t.assertTypeAnnotation=function(e,t){s(\"TypeAnnotation\",e,t)},t.assertTypeCastExpression=function(e,t){s(\"TypeCastExpression\",e,t)},t.assertTypeParameter=function(e,t){s(\"TypeParameter\",e,t)},t.assertTypeParameterDeclaration=function(e,t){s(\"TypeParameterDeclaration\",e,t)},t.assertTypeParameterInstantiation=function(e,t){s(\"TypeParameterInstantiation\",e,t)},t.assertTypeScript=function(e,t){s(\"TypeScript\",e,t)},t.assertTypeofTypeAnnotation=function(e,t){s(\"TypeofTypeAnnotation\",e,t)},t.assertUnaryExpression=function(e,t){s(\"UnaryExpression\",e,t)},t.assertUnaryLike=function(e,t){s(\"UnaryLike\",e,t)},t.assertUnionTypeAnnotation=function(e,t){s(\"UnionTypeAnnotation\",e,t)},t.assertUpdateExpression=function(e,t){s(\"UpdateExpression\",e,t)},t.assertUserWhitespacable=function(e,t){s(\"UserWhitespacable\",e,t)},t.assertV8IntrinsicIdentifier=function(e,t){s(\"V8IntrinsicIdentifier\",e,t)},t.assertVariableDeclaration=function(e,t){s(\"VariableDeclaration\",e,t)},t.assertVariableDeclarator=function(e,t){s(\"VariableDeclarator\",e,t)},t.assertVariance=function(e,t){s(\"Variance\",e,t)},t.assertVoidTypeAnnotation=function(e,t){s(\"VoidTypeAnnotation\",e,t)},t.assertWhile=function(e,t){s(\"While\",e,t)},t.assertWhileStatement=function(e,t){s(\"WhileStatement\",e,t)},t.assertWithStatement=function(e,t){s(\"WithStatement\",e,t)},t.assertYieldExpression=function(e,t){s(\"YieldExpression\",e,t)};var r=n(5171),i=n(4619);function s(e,t,n){if(!(0,r.default)(e,t,n))throw new Error(`Expected type \"${e}\" with option ${JSON.stringify(n)}, but instead got \"${t.type}\".`)}},7625:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){const t=(0,i.default)(e);return 1===t.length?t[0]:(0,r.unionTypeAnnotation)(t)};var r=n(1411),i=n(8874)},5976:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var r=n(1411);t.default=function(e){switch(e){case\"string\":return(0,r.stringTypeAnnotation)();case\"number\":return(0,r.numberTypeAnnotation)();case\"undefined\":return(0,r.voidTypeAnnotation)();case\"boolean\":return(0,r.booleanTypeAnnotation)();case\"function\":return(0,r.genericTypeAnnotation)((0,r.identifier)(\"Function\"));case\"object\":return(0,r.genericTypeAnnotation)((0,r.identifier)(\"Object\"));case\"symbol\":return(0,r.genericTypeAnnotation)((0,r.identifier)(\"Symbol\"));case\"bigint\":return(0,r.anyTypeAnnotation)()}throw new Error(\"Invalid typeof value: \"+e)}},1411:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.anyTypeAnnotation=function(){return{type:\"AnyTypeAnnotation\"}},t.argumentPlaceholder=function(){return{type:\"ArgumentPlaceholder\"}},t.arrayExpression=function(e=[]){return(0,r.default)({type:\"ArrayExpression\",elements:e})},t.arrayPattern=function(e){return(0,r.default)({type:\"ArrayPattern\",elements:e})},t.arrayTypeAnnotation=function(e){return(0,r.default)({type:\"ArrayTypeAnnotation\",elementType:e})},t.arrowFunctionExpression=function(e,t,n=!1){return(0,r.default)({type:\"ArrowFunctionExpression\",params:e,body:t,async:n,expression:null})},t.assignmentExpression=function(e,t,n){return(0,r.default)({type:\"AssignmentExpression\",operator:e,left:t,right:n})},t.assignmentPattern=function(e,t){return(0,r.default)({type:\"AssignmentPattern\",left:e,right:t})},t.awaitExpression=function(e){return(0,r.default)({type:\"AwaitExpression\",argument:e})},t.bigIntLiteral=function(e){return(0,r.default)({type:\"BigIntLiteral\",value:e})},t.binaryExpression=function(e,t,n){return(0,r.default)({type:\"BinaryExpression\",operator:e,left:t,right:n})},t.bindExpression=function(e,t){return(0,r.default)({type:\"BindExpression\",object:e,callee:t})},t.blockStatement=function(e,t=[]){return(0,r.default)({type:\"BlockStatement\",body:e,directives:t})},t.booleanLiteral=function(e){return(0,r.default)({type:\"BooleanLiteral\",value:e})},t.booleanLiteralTypeAnnotation=function(e){return(0,r.default)({type:\"BooleanLiteralTypeAnnotation\",value:e})},t.booleanTypeAnnotation=function(){return{type:\"BooleanTypeAnnotation\"}},t.breakStatement=function(e=null){return(0,r.default)({type:\"BreakStatement\",label:e})},t.callExpression=function(e,t){return(0,r.default)({type:\"CallExpression\",callee:e,arguments:t})},t.catchClause=function(e=null,t){return(0,r.default)({type:\"CatchClause\",param:e,body:t})},t.classAccessorProperty=function(e,t=null,n=null,i=null,s=!1,a=!1){return(0,r.default)({type:\"ClassAccessorProperty\",key:e,value:t,typeAnnotation:n,decorators:i,computed:s,static:a})},t.classBody=function(e){return(0,r.default)({type:\"ClassBody\",body:e})},t.classDeclaration=function(e,t=null,n,i=null){return(0,r.default)({type:\"ClassDeclaration\",id:e,superClass:t,body:n,decorators:i})},t.classExpression=function(e=null,t=null,n,i=null){return(0,r.default)({type:\"ClassExpression\",id:e,superClass:t,body:n,decorators:i})},t.classImplements=function(e,t=null){return(0,r.default)({type:\"ClassImplements\",id:e,typeParameters:t})},t.classMethod=function(e=\"method\",t,n,i,s=!1,a=!1,o=!1,l=!1){return(0,r.default)({type:\"ClassMethod\",kind:e,key:t,params:n,body:i,computed:s,static:a,generator:o,async:l})},t.classPrivateMethod=function(e=\"method\",t,n,i,s=!1){return(0,r.default)({type:\"ClassPrivateMethod\",kind:e,key:t,params:n,body:i,static:s})},t.classPrivateProperty=function(e,t=null,n=null,i=!1){return(0,r.default)({type:\"ClassPrivateProperty\",key:e,value:t,decorators:n,static:i})},t.classProperty=function(e,t=null,n=null,i=null,s=!1,a=!1){return(0,r.default)({type:\"ClassProperty\",key:e,value:t,typeAnnotation:n,decorators:i,computed:s,static:a})},t.conditionalExpression=function(e,t,n){return(0,r.default)({type:\"ConditionalExpression\",test:e,consequent:t,alternate:n})},t.continueStatement=function(e=null){return(0,r.default)({type:\"ContinueStatement\",label:e})},t.debuggerStatement=function(){return{type:\"DebuggerStatement\"}},t.decimalLiteral=function(e){return(0,r.default)({type:\"DecimalLiteral\",value:e})},t.declareClass=function(e,t=null,n=null,i){return(0,r.default)({type:\"DeclareClass\",id:e,typeParameters:t,extends:n,body:i})},t.declareExportAllDeclaration=function(e){return(0,r.default)({type:\"DeclareExportAllDeclaration\",source:e})},t.declareExportDeclaration=function(e=null,t=null,n=null){return(0,r.default)({type:\"DeclareExportDeclaration\",declaration:e,specifiers:t,source:n})},t.declareFunction=function(e){return(0,r.default)({type:\"DeclareFunction\",id:e})},t.declareInterface=function(e,t=null,n=null,i){return(0,r.default)({type:\"DeclareInterface\",id:e,typeParameters:t,extends:n,body:i})},t.declareModule=function(e,t,n=null){return(0,r.default)({type:\"DeclareModule\",id:e,body:t,kind:n})},t.declareModuleExports=function(e){return(0,r.default)({type:\"DeclareModuleExports\",typeAnnotation:e})},t.declareOpaqueType=function(e,t=null,n=null){return(0,r.default)({type:\"DeclareOpaqueType\",id:e,typeParameters:t,supertype:n})},t.declareTypeAlias=function(e,t=null,n){return(0,r.default)({type:\"DeclareTypeAlias\",id:e,typeParameters:t,right:n})},t.declareVariable=function(e){return(0,r.default)({type:\"DeclareVariable\",id:e})},t.declaredPredicate=function(e){return(0,r.default)({type:\"DeclaredPredicate\",value:e})},t.decorator=function(e){return(0,r.default)({type:\"Decorator\",expression:e})},t.directive=function(e){return(0,r.default)({type:\"Directive\",value:e})},t.directiveLiteral=function(e){return(0,r.default)({type:\"DirectiveLiteral\",value:e})},t.doExpression=function(e,t=!1){return(0,r.default)({type:\"DoExpression\",body:e,async:t})},t.doWhileStatement=function(e,t){return(0,r.default)({type:\"DoWhileStatement\",test:e,body:t})},t.emptyStatement=function(){return{type:\"EmptyStatement\"}},t.emptyTypeAnnotation=function(){return{type:\"EmptyTypeAnnotation\"}},t.enumBooleanBody=function(e){return(0,r.default)({type:\"EnumBooleanBody\",members:e,explicitType:null,hasUnknownMembers:null})},t.enumBooleanMember=function(e){return(0,r.default)({type:\"EnumBooleanMember\",id:e,init:null})},t.enumDeclaration=function(e,t){return(0,r.default)({type:\"EnumDeclaration\",id:e,body:t})},t.enumDefaultedMember=function(e){return(0,r.default)({type:\"EnumDefaultedMember\",id:e})},t.enumNumberBody=function(e){return(0,r.default)({type:\"EnumNumberBody\",members:e,explicitType:null,hasUnknownMembers:null})},t.enumNumberMember=function(e,t){return(0,r.default)({type:\"EnumNumberMember\",id:e,init:t})},t.enumStringBody=function(e){return(0,r.default)({type:\"EnumStringBody\",members:e,explicitType:null,hasUnknownMembers:null})},t.enumStringMember=function(e,t){return(0,r.default)({type:\"EnumStringMember\",id:e,init:t})},t.enumSymbolBody=function(e){return(0,r.default)({type:\"EnumSymbolBody\",members:e,hasUnknownMembers:null})},t.existsTypeAnnotation=function(){return{type:\"ExistsTypeAnnotation\"}},t.exportAllDeclaration=function(e){return(0,r.default)({type:\"ExportAllDeclaration\",source:e})},t.exportDefaultDeclaration=function(e){return(0,r.default)({type:\"ExportDefaultDeclaration\",declaration:e})},t.exportDefaultSpecifier=function(e){return(0,r.default)({type:\"ExportDefaultSpecifier\",exported:e})},t.exportNamedDeclaration=function(e=null,t=[],n=null){return(0,r.default)({type:\"ExportNamedDeclaration\",declaration:e,specifiers:t,source:n})},t.exportNamespaceSpecifier=function(e){return(0,r.default)({type:\"ExportNamespaceSpecifier\",exported:e})},t.exportSpecifier=function(e,t){return(0,r.default)({type:\"ExportSpecifier\",local:e,exported:t})},t.expressionStatement=function(e){return(0,r.default)({type:\"ExpressionStatement\",expression:e})},t.file=function(e,t=null,n=null){return(0,r.default)({type:\"File\",program:e,comments:t,tokens:n})},t.forInStatement=function(e,t,n){return(0,r.default)({type:\"ForInStatement\",left:e,right:t,body:n})},t.forOfStatement=function(e,t,n,i=!1){return(0,r.default)({type:\"ForOfStatement\",left:e,right:t,body:n,await:i})},t.forStatement=function(e=null,t=null,n=null,i){return(0,r.default)({type:\"ForStatement\",init:e,test:t,update:n,body:i})},t.functionDeclaration=function(e=null,t,n,i=!1,s=!1){return(0,r.default)({type:\"FunctionDeclaration\",id:e,params:t,body:n,generator:i,async:s})},t.functionExpression=function(e=null,t,n,i=!1,s=!1){return(0,r.default)({type:\"FunctionExpression\",id:e,params:t,body:n,generator:i,async:s})},t.functionTypeAnnotation=function(e=null,t,n=null,i){return(0,r.default)({type:\"FunctionTypeAnnotation\",typeParameters:e,params:t,rest:n,returnType:i})},t.functionTypeParam=function(e=null,t){return(0,r.default)({type:\"FunctionTypeParam\",name:e,typeAnnotation:t})},t.genericTypeAnnotation=function(e,t=null){return(0,r.default)({type:\"GenericTypeAnnotation\",id:e,typeParameters:t})},t.identifier=function(e){return(0,r.default)({type:\"Identifier\",name:e})},t.ifStatement=function(e,t,n=null){return(0,r.default)({type:\"IfStatement\",test:e,consequent:t,alternate:n})},t.import=function(){return{type:\"Import\"}},t.importAttribute=function(e,t){return(0,r.default)({type:\"ImportAttribute\",key:e,value:t})},t.importDeclaration=function(e,t){return(0,r.default)({type:\"ImportDeclaration\",specifiers:e,source:t})},t.importDefaultSpecifier=function(e){return(0,r.default)({type:\"ImportDefaultSpecifier\",local:e})},t.importNamespaceSpecifier=function(e){return(0,r.default)({type:\"ImportNamespaceSpecifier\",local:e})},t.importSpecifier=function(e,t){return(0,r.default)({type:\"ImportSpecifier\",local:e,imported:t})},t.indexedAccessType=function(e,t){return(0,r.default)({type:\"IndexedAccessType\",objectType:e,indexType:t})},t.inferredPredicate=function(){return{type:\"InferredPredicate\"}},t.interfaceDeclaration=function(e,t=null,n=null,i){return(0,r.default)({type:\"InterfaceDeclaration\",id:e,typeParameters:t,extends:n,body:i})},t.interfaceExtends=function(e,t=null){return(0,r.default)({type:\"InterfaceExtends\",id:e,typeParameters:t})},t.interfaceTypeAnnotation=function(e=null,t){return(0,r.default)({type:\"InterfaceTypeAnnotation\",extends:e,body:t})},t.interpreterDirective=function(e){return(0,r.default)({type:\"InterpreterDirective\",value:e})},t.intersectionTypeAnnotation=function(e){return(0,r.default)({type:\"IntersectionTypeAnnotation\",types:e})},t.jSXAttribute=t.jsxAttribute=function(e,t=null){return(0,r.default)({type:\"JSXAttribute\",name:e,value:t})},t.jSXClosingElement=t.jsxClosingElement=function(e){return(0,r.default)({type:\"JSXClosingElement\",name:e})},t.jSXClosingFragment=t.jsxClosingFragment=function(){return{type:\"JSXClosingFragment\"}},t.jSXElement=t.jsxElement=function(e,t=null,n,i=null){return(0,r.default)({type:\"JSXElement\",openingElement:e,closingElement:t,children:n,selfClosing:i})},t.jSXEmptyExpression=t.jsxEmptyExpression=function(){return{type:\"JSXEmptyExpression\"}},t.jSXExpressionContainer=t.jsxExpressionContainer=function(e){return(0,r.default)({type:\"JSXExpressionContainer\",expression:e})},t.jSXFragment=t.jsxFragment=function(e,t,n){return(0,r.default)({type:\"JSXFragment\",openingFragment:e,closingFragment:t,children:n})},t.jSXIdentifier=t.jsxIdentifier=function(e){return(0,r.default)({type:\"JSXIdentifier\",name:e})},t.jSXMemberExpression=t.jsxMemberExpression=function(e,t){return(0,r.default)({type:\"JSXMemberExpression\",object:e,property:t})},t.jSXNamespacedName=t.jsxNamespacedName=function(e,t){return(0,r.default)({type:\"JSXNamespacedName\",namespace:e,name:t})},t.jSXOpeningElement=t.jsxOpeningElement=function(e,t,n=!1){return(0,r.default)({type:\"JSXOpeningElement\",name:e,attributes:t,selfClosing:n})},t.jSXOpeningFragment=t.jsxOpeningFragment=function(){return{type:\"JSXOpeningFragment\"}},t.jSXSpreadAttribute=t.jsxSpreadAttribute=function(e){return(0,r.default)({type:\"JSXSpreadAttribute\",argument:e})},t.jSXSpreadChild=t.jsxSpreadChild=function(e){return(0,r.default)({type:\"JSXSpreadChild\",expression:e})},t.jSXText=t.jsxText=function(e){return(0,r.default)({type:\"JSXText\",value:e})},t.labeledStatement=function(e,t){return(0,r.default)({type:\"LabeledStatement\",label:e,body:t})},t.logicalExpression=function(e,t,n){return(0,r.default)({type:\"LogicalExpression\",operator:e,left:t,right:n})},t.memberExpression=function(e,t,n=!1,i=null){return(0,r.default)({type:\"MemberExpression\",object:e,property:t,computed:n,optional:i})},t.metaProperty=function(e,t){return(0,r.default)({type:\"MetaProperty\",meta:e,property:t})},t.mixedTypeAnnotation=function(){return{type:\"MixedTypeAnnotation\"}},t.moduleExpression=function(e){return(0,r.default)({type:\"ModuleExpression\",body:e})},t.newExpression=function(e,t){return(0,r.default)({type:\"NewExpression\",callee:e,arguments:t})},t.noop=function(){return{type:\"Noop\"}},t.nullLiteral=function(){return{type:\"NullLiteral\"}},t.nullLiteralTypeAnnotation=function(){return{type:\"NullLiteralTypeAnnotation\"}},t.nullableTypeAnnotation=function(e){return(0,r.default)({type:\"NullableTypeAnnotation\",typeAnnotation:e})},t.numberLiteral=function(e){return(0,i.default)(\"NumberLiteral\",\"NumericLiteral\",\"The node type \"),s(e)},t.numberLiteralTypeAnnotation=function(e){return(0,r.default)({type:\"NumberLiteralTypeAnnotation\",value:e})},t.numberTypeAnnotation=function(){return{type:\"NumberTypeAnnotation\"}},t.numericLiteral=s,t.objectExpression=function(e){return(0,r.default)({type:\"ObjectExpression\",properties:e})},t.objectMethod=function(e=\"method\",t,n,i,s=!1,a=!1,o=!1){return(0,r.default)({type:\"ObjectMethod\",kind:e,key:t,params:n,body:i,computed:s,generator:a,async:o})},t.objectPattern=function(e){return(0,r.default)({type:\"ObjectPattern\",properties:e})},t.objectProperty=function(e,t,n=!1,i=!1,s=null){return(0,r.default)({type:\"ObjectProperty\",key:e,value:t,computed:n,shorthand:i,decorators:s})},t.objectTypeAnnotation=function(e,t=[],n=[],i=[],s=!1){return(0,r.default)({type:\"ObjectTypeAnnotation\",properties:e,indexers:t,callProperties:n,internalSlots:i,exact:s})},t.objectTypeCallProperty=function(e){return(0,r.default)({type:\"ObjectTypeCallProperty\",value:e,static:null})},t.objectTypeIndexer=function(e=null,t,n,i=null){return(0,r.default)({type:\"ObjectTypeIndexer\",id:e,key:t,value:n,variance:i,static:null})},t.objectTypeInternalSlot=function(e,t,n,i,s){return(0,r.default)({type:\"ObjectTypeInternalSlot\",id:e,value:t,optional:n,static:i,method:s})},t.objectTypeProperty=function(e,t,n=null){return(0,r.default)({type:\"ObjectTypeProperty\",key:e,value:t,variance:n,kind:null,method:null,optional:null,proto:null,static:null})},t.objectTypeSpreadProperty=function(e){return(0,r.default)({type:\"ObjectTypeSpreadProperty\",argument:e})},t.opaqueType=function(e,t=null,n=null,i){return(0,r.default)({type:\"OpaqueType\",id:e,typeParameters:t,supertype:n,impltype:i})},t.optionalCallExpression=function(e,t,n){return(0,r.default)({type:\"OptionalCallExpression\",callee:e,arguments:t,optional:n})},t.optionalIndexedAccessType=function(e,t){return(0,r.default)({type:\"OptionalIndexedAccessType\",objectType:e,indexType:t,optional:null})},t.optionalMemberExpression=function(e,t,n=!1,i){return(0,r.default)({type:\"OptionalMemberExpression\",object:e,property:t,computed:n,optional:i})},t.parenthesizedExpression=function(e){return(0,r.default)({type:\"ParenthesizedExpression\",expression:e})},t.pipelineBareFunction=function(e){return(0,r.default)({type:\"PipelineBareFunction\",callee:e})},t.pipelinePrimaryTopicReference=function(){return{type:\"PipelinePrimaryTopicReference\"}},t.pipelineTopicExpression=function(e){return(0,r.default)({type:\"PipelineTopicExpression\",expression:e})},t.placeholder=function(e,t){return(0,r.default)({type:\"Placeholder\",expectedNode:e,name:t})},t.privateName=function(e){return(0,r.default)({type:\"PrivateName\",id:e})},t.program=function(e,t=[],n=\"script\",i=null){return(0,r.default)({type:\"Program\",body:e,directives:t,sourceType:n,interpreter:i,sourceFile:null})},t.qualifiedTypeIdentifier=function(e,t){return(0,r.default)({type:\"QualifiedTypeIdentifier\",id:e,qualification:t})},t.recordExpression=function(e){return(0,r.default)({type:\"RecordExpression\",properties:e})},t.regExpLiteral=a,t.regexLiteral=function(e,t=\"\"){return(0,i.default)(\"RegexLiteral\",\"RegExpLiteral\",\"The node type \"),a(e,t)},t.restElement=o,t.restProperty=function(e){return(0,i.default)(\"RestProperty\",\"RestElement\",\"The node type \"),o(e)},t.returnStatement=function(e=null){return(0,r.default)({type:\"ReturnStatement\",argument:e})},t.sequenceExpression=function(e){return(0,r.default)({type:\"SequenceExpression\",expressions:e})},t.spreadElement=l,t.spreadProperty=function(e){return(0,i.default)(\"SpreadProperty\",\"SpreadElement\",\"The node type \"),l(e)},t.staticBlock=function(e){return(0,r.default)({type:\"StaticBlock\",body:e})},t.stringLiteral=function(e){return(0,r.default)({type:\"StringLiteral\",value:e})},t.stringLiteralTypeAnnotation=function(e){return(0,r.default)({type:\"StringLiteralTypeAnnotation\",value:e})},t.stringTypeAnnotation=function(){return{type:\"StringTypeAnnotation\"}},t.super=function(){return{type:\"Super\"}},t.switchCase=function(e=null,t){return(0,r.default)({type:\"SwitchCase\",test:e,consequent:t})},t.switchStatement=function(e,t){return(0,r.default)({type:\"SwitchStatement\",discriminant:e,cases:t})},t.symbolTypeAnnotation=function(){return{type:\"SymbolTypeAnnotation\"}},t.taggedTemplateExpression=function(e,t){return(0,r.default)({type:\"TaggedTemplateExpression\",tag:e,quasi:t})},t.templateElement=function(e,t=!1){return(0,r.default)({type:\"TemplateElement\",value:e,tail:t})},t.templateLiteral=function(e,t){return(0,r.default)({type:\"TemplateLiteral\",quasis:e,expressions:t})},t.thisExpression=function(){return{type:\"ThisExpression\"}},t.thisTypeAnnotation=function(){return{type:\"ThisTypeAnnotation\"}},t.throwStatement=function(e){return(0,r.default)({type:\"ThrowStatement\",argument:e})},t.topicReference=function(){return{type:\"TopicReference\"}},t.tryStatement=function(e,t=null,n=null){return(0,r.default)({type:\"TryStatement\",block:e,handler:t,finalizer:n})},t.tSAnyKeyword=t.tsAnyKeyword=function(){return{type:\"TSAnyKeyword\"}},t.tSArrayType=t.tsArrayType=function(e){return(0,r.default)({type:\"TSArrayType\",elementType:e})},t.tSAsExpression=t.tsAsExpression=function(e,t){return(0,r.default)({type:\"TSAsExpression\",expression:e,typeAnnotation:t})},t.tSBigIntKeyword=t.tsBigIntKeyword=function(){return{type:\"TSBigIntKeyword\"}},t.tSBooleanKeyword=t.tsBooleanKeyword=function(){return{type:\"TSBooleanKeyword\"}},t.tSCallSignatureDeclaration=t.tsCallSignatureDeclaration=function(e=null,t,n=null){return(0,r.default)({type:\"TSCallSignatureDeclaration\",typeParameters:e,parameters:t,typeAnnotation:n})},t.tSConditionalType=t.tsConditionalType=function(e,t,n,i){return(0,r.default)({type:\"TSConditionalType\",checkType:e,extendsType:t,trueType:n,falseType:i})},t.tSConstructSignatureDeclaration=t.tsConstructSignatureDeclaration=function(e=null,t,n=null){return(0,r.default)({type:\"TSConstructSignatureDeclaration\",typeParameters:e,parameters:t,typeAnnotation:n})},t.tSConstructorType=t.tsConstructorType=function(e=null,t,n=null){return(0,r.default)({type:\"TSConstructorType\",typeParameters:e,parameters:t,typeAnnotation:n})},t.tSDeclareFunction=t.tsDeclareFunction=function(e=null,t=null,n,i=null){return(0,r.default)({type:\"TSDeclareFunction\",id:e,typeParameters:t,params:n,returnType:i})},t.tSDeclareMethod=t.tsDeclareMethod=function(e=null,t,n=null,i,s=null){return(0,r.default)({type:\"TSDeclareMethod\",decorators:e,key:t,typeParameters:n,params:i,returnType:s})},t.tSEnumDeclaration=t.tsEnumDeclaration=function(e,t){return(0,r.default)({type:\"TSEnumDeclaration\",id:e,members:t})},t.tSEnumMember=t.tsEnumMember=function(e,t=null){return(0,r.default)({type:\"TSEnumMember\",id:e,initializer:t})},t.tSExportAssignment=t.tsExportAssignment=function(e){return(0,r.default)({type:\"TSExportAssignment\",expression:e})},t.tSExpressionWithTypeArguments=t.tsExpressionWithTypeArguments=function(e,t=null){return(0,r.default)({type:\"TSExpressionWithTypeArguments\",expression:e,typeParameters:t})},t.tSExternalModuleReference=t.tsExternalModuleReference=function(e){return(0,r.default)({type:\"TSExternalModuleReference\",expression:e})},t.tSFunctionType=t.tsFunctionType=function(e=null,t,n=null){return(0,r.default)({type:\"TSFunctionType\",typeParameters:e,parameters:t,typeAnnotation:n})},t.tSImportEqualsDeclaration=t.tsImportEqualsDeclaration=function(e,t){return(0,r.default)({type:\"TSImportEqualsDeclaration\",id:e,moduleReference:t,isExport:null})},t.tSImportType=t.tsImportType=function(e,t=null,n=null){return(0,r.default)({type:\"TSImportType\",argument:e,qualifier:t,typeParameters:n})},t.tSIndexSignature=t.tsIndexSignature=function(e,t=null){return(0,r.default)({type:\"TSIndexSignature\",parameters:e,typeAnnotation:t})},t.tSIndexedAccessType=t.tsIndexedAccessType=function(e,t){return(0,r.default)({type:\"TSIndexedAccessType\",objectType:e,indexType:t})},t.tSInferType=t.tsInferType=function(e){return(0,r.default)({type:\"TSInferType\",typeParameter:e})},t.tSInstantiationExpression=t.tsInstantiationExpression=function(e,t=null){return(0,r.default)({type:\"TSInstantiationExpression\",expression:e,typeParameters:t})},t.tSInterfaceBody=t.tsInterfaceBody=function(e){return(0,r.default)({type:\"TSInterfaceBody\",body:e})},t.tSInterfaceDeclaration=t.tsInterfaceDeclaration=function(e,t=null,n=null,i){return(0,r.default)({type:\"TSInterfaceDeclaration\",id:e,typeParameters:t,extends:n,body:i})},t.tSIntersectionType=t.tsIntersectionType=function(e){return(0,r.default)({type:\"TSIntersectionType\",types:e})},t.tSIntrinsicKeyword=t.tsIntrinsicKeyword=function(){return{type:\"TSIntrinsicKeyword\"}},t.tSLiteralType=t.tsLiteralType=function(e){return(0,r.default)({type:\"TSLiteralType\",literal:e})},t.tSMappedType=t.tsMappedType=function(e,t=null,n=null){return(0,r.default)({type:\"TSMappedType\",typeParameter:e,typeAnnotation:t,nameType:n})},t.tSMethodSignature=t.tsMethodSignature=function(e,t=null,n,i=null){return(0,r.default)({type:\"TSMethodSignature\",key:e,typeParameters:t,parameters:n,typeAnnotation:i,kind:null})},t.tSModuleBlock=t.tsModuleBlock=function(e){return(0,r.default)({type:\"TSModuleBlock\",body:e})},t.tSModuleDeclaration=t.tsModuleDeclaration=function(e,t){return(0,r.default)({type:\"TSModuleDeclaration\",id:e,body:t})},t.tSNamedTupleMember=t.tsNamedTupleMember=function(e,t,n=!1){return(0,r.default)({type:\"TSNamedTupleMember\",label:e,elementType:t,optional:n})},t.tSNamespaceExportDeclaration=t.tsNamespaceExportDeclaration=function(e){return(0,r.default)({type:\"TSNamespaceExportDeclaration\",id:e})},t.tSNeverKeyword=t.tsNeverKeyword=function(){return{type:\"TSNeverKeyword\"}},t.tSNonNullExpression=t.tsNonNullExpression=function(e){return(0,r.default)({type:\"TSNonNullExpression\",expression:e})},t.tSNullKeyword=t.tsNullKeyword=function(){return{type:\"TSNullKeyword\"}},t.tSNumberKeyword=t.tsNumberKeyword=function(){return{type:\"TSNumberKeyword\"}},t.tSObjectKeyword=t.tsObjectKeyword=function(){return{type:\"TSObjectKeyword\"}},t.tSOptionalType=t.tsOptionalType=function(e){return(0,r.default)({type:\"TSOptionalType\",typeAnnotation:e})},t.tSParameterProperty=t.tsParameterProperty=function(e){return(0,r.default)({type:\"TSParameterProperty\",parameter:e})},t.tSParenthesizedType=t.tsParenthesizedType=function(e){return(0,r.default)({type:\"TSParenthesizedType\",typeAnnotation:e})},t.tSPropertySignature=t.tsPropertySignature=function(e,t=null,n=null){return(0,r.default)({type:\"TSPropertySignature\",key:e,typeAnnotation:t,initializer:n,kind:null})},t.tSQualifiedName=t.tsQualifiedName=function(e,t){return(0,r.default)({type:\"TSQualifiedName\",left:e,right:t})},t.tSRestType=t.tsRestType=function(e){return(0,r.default)({type:\"TSRestType\",typeAnnotation:e})},t.tSSatisfiesExpression=t.tsSatisfiesExpression=function(e,t){return(0,r.default)({type:\"TSSatisfiesExpression\",expression:e,typeAnnotation:t})},t.tSStringKeyword=t.tsStringKeyword=function(){return{type:\"TSStringKeyword\"}},t.tSSymbolKeyword=t.tsSymbolKeyword=function(){return{type:\"TSSymbolKeyword\"}},t.tSThisType=t.tsThisType=function(){return{type:\"TSThisType\"}},t.tSTupleType=t.tsTupleType=function(e){return(0,r.default)({type:\"TSTupleType\",elementTypes:e})},t.tSTypeAliasDeclaration=t.tsTypeAliasDeclaration=function(e,t=null,n){return(0,r.default)({type:\"TSTypeAliasDeclaration\",id:e,typeParameters:t,typeAnnotation:n})},t.tSTypeAnnotation=t.tsTypeAnnotation=function(e){return(0,r.default)({type:\"TSTypeAnnotation\",typeAnnotation:e})},t.tSTypeAssertion=t.tsTypeAssertion=function(e,t){return(0,r.default)({type:\"TSTypeAssertion\",typeAnnotation:e,expression:t})},t.tSTypeLiteral=t.tsTypeLiteral=function(e){return(0,r.default)({type:\"TSTypeLiteral\",members:e})},t.tSTypeOperator=t.tsTypeOperator=function(e){return(0,r.default)({type:\"TSTypeOperator\",typeAnnotation:e,operator:null})},t.tSTypeParameter=t.tsTypeParameter=function(e=null,t=null,n){return(0,r.default)({type:\"TSTypeParameter\",constraint:e,default:t,name:n})},t.tSTypeParameterDeclaration=t.tsTypeParameterDeclaration=function(e){return(0,r.default)({type:\"TSTypeParameterDeclaration\",params:e})},t.tSTypeParameterInstantiation=t.tsTypeParameterInstantiation=function(e){return(0,r.default)({type:\"TSTypeParameterInstantiation\",params:e})},t.tSTypePredicate=t.tsTypePredicate=function(e,t=null,n=null){return(0,r.default)({type:\"TSTypePredicate\",parameterName:e,typeAnnotation:t,asserts:n})},t.tSTypeQuery=t.tsTypeQuery=function(e,t=null){return(0,r.default)({type:\"TSTypeQuery\",exprName:e,typeParameters:t})},t.tSTypeReference=t.tsTypeReference=function(e,t=null){return(0,r.default)({type:\"TSTypeReference\",typeName:e,typeParameters:t})},t.tSUndefinedKeyword=t.tsUndefinedKeyword=function(){return{type:\"TSUndefinedKeyword\"}},t.tSUnionType=t.tsUnionType=function(e){return(0,r.default)({type:\"TSUnionType\",types:e})},t.tSUnknownKeyword=t.tsUnknownKeyword=function(){return{type:\"TSUnknownKeyword\"}},t.tSVoidKeyword=t.tsVoidKeyword=function(){return{type:\"TSVoidKeyword\"}},t.tupleExpression=function(e=[]){return(0,r.default)({type:\"TupleExpression\",elements:e})},t.tupleTypeAnnotation=function(e){return(0,r.default)({type:\"TupleTypeAnnotation\",types:e})},t.typeAlias=function(e,t=null,n){return(0,r.default)({type:\"TypeAlias\",id:e,typeParameters:t,right:n})},t.typeAnnotation=function(e){return(0,r.default)({type:\"TypeAnnotation\",typeAnnotation:e})},t.typeCastExpression=function(e,t){return(0,r.default)({type:\"TypeCastExpression\",expression:e,typeAnnotation:t})},t.typeParameter=function(e=null,t=null,n=null){return(0,r.default)({type:\"TypeParameter\",bound:e,default:t,variance:n,name:null})},t.typeParameterDeclaration=function(e){return(0,r.default)({type:\"TypeParameterDeclaration\",params:e})},t.typeParameterInstantiation=function(e){return(0,r.default)({type:\"TypeParameterInstantiation\",params:e})},t.typeofTypeAnnotation=function(e){return(0,r.default)({type:\"TypeofTypeAnnotation\",argument:e})},t.unaryExpression=function(e,t,n=!0){return(0,r.default)({type:\"UnaryExpression\",operator:e,argument:t,prefix:n})},t.unionTypeAnnotation=function(e){return(0,r.default)({type:\"UnionTypeAnnotation\",types:e})},t.updateExpression=function(e,t,n=!1){return(0,r.default)({type:\"UpdateExpression\",operator:e,argument:t,prefix:n})},t.v8IntrinsicIdentifier=function(e){return(0,r.default)({type:\"V8IntrinsicIdentifier\",name:e})},t.variableDeclaration=function(e,t){return(0,r.default)({type:\"VariableDeclaration\",kind:e,declarations:t})},t.variableDeclarator=function(e,t=null){return(0,r.default)({type:\"VariableDeclarator\",id:e,init:t})},t.variance=function(e){return(0,r.default)({type:\"Variance\",kind:e})},t.voidTypeAnnotation=function(){return{type:\"VoidTypeAnnotation\"}},t.whileStatement=function(e,t){return(0,r.default)({type:\"WhileStatement\",test:e,body:t})},t.withStatement=function(e,t){return(0,r.default)({type:\"WithStatement\",object:e,body:t})},t.yieldExpression=function(e=null,t=!1){return(0,r.default)({type:\"YieldExpression\",argument:e,delegate:t})};var r=n(6505),i=n(4619);function s(e){return(0,r.default)({type:\"NumericLiteral\",value:e})}function a(e,t=\"\"){return(0,r.default)({type:\"RegExpLiteral\",pattern:e,flags:t})}function o(e){return(0,r.default)({type:\"RestElement\",argument:e})}function l(e){return(0,r.default)({type:\"SpreadElement\",argument:e})}},9470:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),Object.defineProperty(t,\"AnyTypeAnnotation\",{enumerable:!0,get:function(){return r.anyTypeAnnotation}}),Object.defineProperty(t,\"ArgumentPlaceholder\",{enumerable:!0,get:function(){return r.argumentPlaceholder}}),Object.defineProperty(t,\"ArrayExpression\",{enumerable:!0,get:function(){return r.arrayExpression}}),Object.defineProperty(t,\"ArrayPattern\",{enumerable:!0,get:function(){return r.arrayPattern}}),Object.defineProperty(t,\"ArrayTypeAnnotation\",{enumerable:!0,get:function(){return r.arrayTypeAnnotation}}),Object.defineProperty(t,\"ArrowFunctionExpression\",{enumerable:!0,get:function(){return r.arrowFunctionExpression}}),Object.defineProperty(t,\"AssignmentExpression\",{enumerable:!0,get:function(){return r.assignmentExpression}}),Object.defineProperty(t,\"AssignmentPattern\",{enumerable:!0,get:function(){return r.assignmentPattern}}),Object.defineProperty(t,\"AwaitExpression\",{enumerable:!0,get:function(){return r.awaitExpression}}),Object.defineProperty(t,\"BigIntLiteral\",{enumerable:!0,get:function(){return r.bigIntLiteral}}),Object.defineProperty(t,\"BinaryExpression\",{enumerable:!0,get:function(){return r.binaryExpression}}),Object.defineProperty(t,\"BindExpression\",{enumerable:!0,get:function(){return r.bindExpression}}),Object.defineProperty(t,\"BlockStatement\",{enumerable:!0,get:function(){return r.blockStatement}}),Object.defineProperty(t,\"BooleanLiteral\",{enumerable:!0,get:function(){return r.booleanLiteral}}),Object.defineProperty(t,\"BooleanLiteralTypeAnnotation\",{enumerable:!0,get:function(){return r.booleanLiteralTypeAnnotation}}),Object.defineProperty(t,\"BooleanTypeAnnotation\",{enumerable:!0,get:function(){return r.booleanTypeAnnotation}}),Object.defineProperty(t,\"BreakStatement\",{enumerable:!0,get:function(){return r.breakStatement}}),Object.defineProperty(t,\"CallExpression\",{enumerable:!0,get:function(){return r.callExpression}}),Object.defineProperty(t,\"CatchClause\",{enumerable:!0,get:function(){return r.catchClause}}),Object.defineProperty(t,\"ClassAccessorProperty\",{enumerable:!0,get:function(){return r.classAccessorProperty}}),Object.defineProperty(t,\"ClassBody\",{enumerable:!0,get:function(){return r.classBody}}),Object.defineProperty(t,\"ClassDeclaration\",{enumerable:!0,get:function(){return r.classDeclaration}}),Object.defineProperty(t,\"ClassExpression\",{enumerable:!0,get:function(){return r.classExpression}}),Object.defineProperty(t,\"ClassImplements\",{enumerable:!0,get:function(){return r.classImplements}}),Object.defineProperty(t,\"ClassMethod\",{enumerable:!0,get:function(){return r.classMethod}}),Object.defineProperty(t,\"ClassPrivateMethod\",{enumerable:!0,get:function(){return r.classPrivateMethod}}),Object.defineProperty(t,\"ClassPrivateProperty\",{enumerable:!0,get:function(){return r.classPrivateProperty}}),Object.defineProperty(t,\"ClassProperty\",{enumerable:!0,get:function(){return r.classProperty}}),Object.defineProperty(t,\"ConditionalExpression\",{enumerable:!0,get:function(){return r.conditionalExpression}}),Object.defineProperty(t,\"ContinueStatement\",{enumerable:!0,get:function(){return r.continueStatement}}),Object.defineProperty(t,\"DebuggerStatement\",{enumerable:!0,get:function(){return r.debuggerStatement}}),Object.defineProperty(t,\"DecimalLiteral\",{enumerable:!0,get:function(){return r.decimalLiteral}}),Object.defineProperty(t,\"DeclareClass\",{enumerable:!0,get:function(){return r.declareClass}}),Object.defineProperty(t,\"DeclareExportAllDeclaration\",{enumerable:!0,get:function(){return r.declareExportAllDeclaration}}),Object.defineProperty(t,\"DeclareExportDeclaration\",{enumerable:!0,get:function(){return r.declareExportDeclaration}}),Object.defineProperty(t,\"DeclareFunction\",{enumerable:!0,get:function(){return r.declareFunction}}),Object.defineProperty(t,\"DeclareInterface\",{enumerable:!0,get:function(){return r.declareInterface}}),Object.defineProperty(t,\"DeclareModule\",{enumerable:!0,get:function(){return r.declareModule}}),Object.defineProperty(t,\"DeclareModuleExports\",{enumerable:!0,get:function(){return r.declareModuleExports}}),Object.defineProperty(t,\"DeclareOpaqueType\",{enumerable:!0,get:function(){return r.declareOpaqueType}}),Object.defineProperty(t,\"DeclareTypeAlias\",{enumerable:!0,get:function(){return r.declareTypeAlias}}),Object.defineProperty(t,\"DeclareVariable\",{enumerable:!0,get:function(){return r.declareVariable}}),Object.defineProperty(t,\"DeclaredPredicate\",{enumerable:!0,get:function(){return r.declaredPredicate}}),Object.defineProperty(t,\"Decorator\",{enumerable:!0,get:function(){return r.decorator}}),Object.defineProperty(t,\"Directive\",{enumerable:!0,get:function(){return r.directive}}),Object.defineProperty(t,\"DirectiveLiteral\",{enumerable:!0,get:function(){return r.directiveLiteral}}),Object.defineProperty(t,\"DoExpression\",{enumerable:!0,get:function(){return r.doExpression}}),Object.defineProperty(t,\"DoWhileStatement\",{enumerable:!0,get:function(){return r.doWhileStatement}}),Object.defineProperty(t,\"EmptyStatement\",{enumerable:!0,get:function(){return r.emptyStatement}}),Object.defineProperty(t,\"EmptyTypeAnnotation\",{enumerable:!0,get:function(){return r.emptyTypeAnnotation}}),Object.defineProperty(t,\"EnumBooleanBody\",{enumerable:!0,get:function(){return r.enumBooleanBody}}),Object.defineProperty(t,\"EnumBooleanMember\",{enumerable:!0,get:function(){return r.enumBooleanMember}}),Object.defineProperty(t,\"EnumDeclaration\",{enumerable:!0,get:function(){return r.enumDeclaration}}),Object.defineProperty(t,\"EnumDefaultedMember\",{enumerable:!0,get:function(){return r.enumDefaultedMember}}),Object.defineProperty(t,\"EnumNumberBody\",{enumerable:!0,get:function(){return r.enumNumberBody}}),Object.defineProperty(t,\"EnumNumberMember\",{enumerable:!0,get:function(){return r.enumNumberMember}}),Object.defineProperty(t,\"EnumStringBody\",{enumerable:!0,get:function(){return r.enumStringBody}}),Object.defineProperty(t,\"EnumStringMember\",{enumerable:!0,get:function(){return r.enumStringMember}}),Object.defineProperty(t,\"EnumSymbolBody\",{enumerable:!0,get:function(){return r.enumSymbolBody}}),Object.defineProperty(t,\"ExistsTypeAnnotation\",{enumerable:!0,get:function(){return r.existsTypeAnnotation}}),Object.defineProperty(t,\"ExportAllDeclaration\",{enumerable:!0,get:function(){return r.exportAllDeclaration}}),Object.defineProperty(t,\"ExportDefaultDeclaration\",{enumerable:!0,get:function(){return r.exportDefaultDeclaration}}),Object.defineProperty(t,\"ExportDefaultSpecifier\",{enumerable:!0,get:function(){return r.exportDefaultSpecifier}}),Object.defineProperty(t,\"ExportNamedDeclaration\",{enumerable:!0,get:function(){return r.exportNamedDeclaration}}),Object.defineProperty(t,\"ExportNamespaceSpecifier\",{enumerable:!0,get:function(){return r.exportNamespaceSpecifier}}),Object.defineProperty(t,\"ExportSpecifier\",{enumerable:!0,get:function(){return r.exportSpecifier}}),Object.defineProperty(t,\"ExpressionStatement\",{enumerable:!0,get:function(){return r.expressionStatement}}),Object.defineProperty(t,\"File\",{enumerable:!0,get:function(){return r.file}}),Object.defineProperty(t,\"ForInStatement\",{enumerable:!0,get:function(){return r.forInStatement}}),Object.defineProperty(t,\"ForOfStatement\",{enumerable:!0,get:function(){return r.forOfStatement}}),Object.defineProperty(t,\"ForStatement\",{enumerable:!0,get:function(){return r.forStatement}}),Object.defineProperty(t,\"FunctionDeclaration\",{enumerable:!0,get:function(){return r.functionDeclaration}}),Object.defineProperty(t,\"FunctionExpression\",{enumerable:!0,get:function(){return r.functionExpression}}),Object.defineProperty(t,\"FunctionTypeAnnotation\",{enumerable:!0,get:function(){return r.functionTypeAnnotation}}),Object.defineProperty(t,\"FunctionTypeParam\",{enumerable:!0,get:function(){return r.functionTypeParam}}),Object.defineProperty(t,\"GenericTypeAnnotation\",{enumerable:!0,get:function(){return r.genericTypeAnnotation}}),Object.defineProperty(t,\"Identifier\",{enumerable:!0,get:function(){return r.identifier}}),Object.defineProperty(t,\"IfStatement\",{enumerable:!0,get:function(){return r.ifStatement}}),Object.defineProperty(t,\"Import\",{enumerable:!0,get:function(){return r.import}}),Object.defineProperty(t,\"ImportAttribute\",{enumerable:!0,get:function(){return r.importAttribute}}),Object.defineProperty(t,\"ImportDeclaration\",{enumerable:!0,get:function(){return r.importDeclaration}}),Object.defineProperty(t,\"ImportDefaultSpecifier\",{enumerable:!0,get:function(){return r.importDefaultSpecifier}}),Object.defineProperty(t,\"ImportNamespaceSpecifier\",{enumerable:!0,get:function(){return r.importNamespaceSpecifier}}),Object.defineProperty(t,\"ImportSpecifier\",{enumerable:!0,get:function(){return r.importSpecifier}}),Object.defineProperty(t,\"IndexedAccessType\",{enumerable:!0,get:function(){return r.indexedAccessType}}),Object.defineProperty(t,\"InferredPredicate\",{enumerable:!0,get:function(){return r.inferredPredicate}}),Object.defineProperty(t,\"InterfaceDeclaration\",{enumerable:!0,get:function(){return r.interfaceDeclaration}}),Object.defineProperty(t,\"InterfaceExtends\",{enumerable:!0,get:function(){return r.interfaceExtends}}),Object.defineProperty(t,\"InterfaceTypeAnnotation\",{enumerable:!0,get:function(){return r.interfaceTypeAnnotation}}),Object.defineProperty(t,\"InterpreterDirective\",{enumerable:!0,get:function(){return r.interpreterDirective}}),Object.defineProperty(t,\"IntersectionTypeAnnotation\",{enumerable:!0,get:function(){return r.intersectionTypeAnnotation}}),Object.defineProperty(t,\"JSXAttribute\",{enumerable:!0,get:function(){return r.jsxAttribute}}),Object.defineProperty(t,\"JSXClosingElement\",{enumerable:!0,get:function(){return r.jsxClosingElement}}),Object.defineProperty(t,\"JSXClosingFragment\",{enumerable:!0,get:function(){return r.jsxClosingFragment}}),Object.defineProperty(t,\"JSXElement\",{enumerable:!0,get:function(){return r.jsxElement}}),Object.defineProperty(t,\"JSXEmptyExpression\",{enumerable:!0,get:function(){return r.jsxEmptyExpression}}),Object.defineProperty(t,\"JSXExpressionContainer\",{enumerable:!0,get:function(){return r.jsxExpressionContainer}}),Object.defineProperty(t,\"JSXFragment\",{enumerable:!0,get:function(){return r.jsxFragment}}),Object.defineProperty(t,\"JSXIdentifier\",{enumerable:!0,get:function(){return r.jsxIdentifier}}),Object.defineProperty(t,\"JSXMemberExpression\",{enumerable:!0,get:function(){return r.jsxMemberExpression}}),Object.defineProperty(t,\"JSXNamespacedName\",{enumerable:!0,get:function(){return r.jsxNamespacedName}}),Object.defineProperty(t,\"JSXOpeningElement\",{enumerable:!0,get:function(){return r.jsxOpeningElement}}),Object.defineProperty(t,\"JSXOpeningFragment\",{enumerable:!0,get:function(){return r.jsxOpeningFragment}}),Object.defineProperty(t,\"JSXSpreadAttribute\",{enumerable:!0,get:function(){return r.jsxSpreadAttribute}}),Object.defineProperty(t,\"JSXSpreadChild\",{enumerable:!0,get:function(){return r.jsxSpreadChild}}),Object.defineProperty(t,\"JSXText\",{enumerable:!0,get:function(){return r.jsxText}}),Object.defineProperty(t,\"LabeledStatement\",{enumerable:!0,get:function(){return r.labeledStatement}}),Object.defineProperty(t,\"LogicalExpression\",{enumerable:!0,get:function(){return r.logicalExpression}}),Object.defineProperty(t,\"MemberExpression\",{enumerable:!0,get:function(){return r.memberExpression}}),Object.defineProperty(t,\"MetaProperty\",{enumerable:!0,get:function(){return r.metaProperty}}),Object.defineProperty(t,\"MixedTypeAnnotation\",{enumerable:!0,get:function(){return r.mixedTypeAnnotation}}),Object.defineProperty(t,\"ModuleExpression\",{enumerable:!0,get:function(){return r.moduleExpression}}),Object.defineProperty(t,\"NewExpression\",{enumerable:!0,get:function(){return r.newExpression}}),Object.defineProperty(t,\"Noop\",{enumerable:!0,get:function(){return r.noop}}),Object.defineProperty(t,\"NullLiteral\",{enumerable:!0,get:function(){return r.nullLiteral}}),Object.defineProperty(t,\"NullLiteralTypeAnnotation\",{enumerable:!0,get:function(){return r.nullLiteralTypeAnnotation}}),Object.defineProperty(t,\"NullableTypeAnnotation\",{enumerable:!0,get:function(){return r.nullableTypeAnnotation}}),Object.defineProperty(t,\"NumberLiteral\",{enumerable:!0,get:function(){return r.numberLiteral}}),Object.defineProperty(t,\"NumberLiteralTypeAnnotation\",{enumerable:!0,get:function(){return r.numberLiteralTypeAnnotation}}),Object.defineProperty(t,\"NumberTypeAnnotation\",{enumerable:!0,get:function(){return r.numberTypeAnnotation}}),Object.defineProperty(t,\"NumericLiteral\",{enumerable:!0,get:function(){return r.numericLiteral}}),Object.defineProperty(t,\"ObjectExpression\",{enumerable:!0,get:function(){return r.objectExpression}}),Object.defineProperty(t,\"ObjectMethod\",{enumerable:!0,get:function(){return r.objectMethod}}),Object.defineProperty(t,\"ObjectPattern\",{enumerable:!0,get:function(){return r.objectPattern}}),Object.defineProperty(t,\"ObjectProperty\",{enumerable:!0,get:function(){return r.objectProperty}}),Object.defineProperty(t,\"ObjectTypeAnnotation\",{enumerable:!0,get:function(){return r.objectTypeAnnotation}}),Object.defineProperty(t,\"ObjectTypeCallProperty\",{enumerable:!0,get:function(){return r.objectTypeCallProperty}}),Object.defineProperty(t,\"ObjectTypeIndexer\",{enumerable:!0,get:function(){return r.objectTypeIndexer}}),Object.defineProperty(t,\"ObjectTypeInternalSlot\",{enumerable:!0,get:function(){return r.objectTypeInternalSlot}}),Object.defineProperty(t,\"ObjectTypeProperty\",{enumerable:!0,get:function(){return r.objectTypeProperty}}),Object.defineProperty(t,\"ObjectTypeSpreadProperty\",{enumerable:!0,get:function(){return r.objectTypeSpreadProperty}}),Object.defineProperty(t,\"OpaqueType\",{enumerable:!0,get:function(){return r.opaqueType}}),Object.defineProperty(t,\"OptionalCallExpression\",{enumerable:!0,get:function(){return r.optionalCallExpression}}),Object.defineProperty(t,\"OptionalIndexedAccessType\",{enumerable:!0,get:function(){return r.optionalIndexedAccessType}}),Object.defineProperty(t,\"OptionalMemberExpression\",{enumerable:!0,get:function(){return r.optionalMemberExpression}}),Object.defineProperty(t,\"ParenthesizedExpression\",{enumerable:!0,get:function(){return r.parenthesizedExpression}}),Object.defineProperty(t,\"PipelineBareFunction\",{enumerable:!0,get:function(){return r.pipelineBareFunction}}),Object.defineProperty(t,\"PipelinePrimaryTopicReference\",{enumerable:!0,get:function(){return r.pipelinePrimaryTopicReference}}),Object.defineProperty(t,\"PipelineTopicExpression\",{enumerable:!0,get:function(){return r.pipelineTopicExpression}}),Object.defineProperty(t,\"Placeholder\",{enumerable:!0,get:function(){return r.placeholder}}),Object.defineProperty(t,\"PrivateName\",{enumerable:!0,get:function(){return r.privateName}}),Object.defineProperty(t,\"Program\",{enumerable:!0,get:function(){return r.program}}),Object.defineProperty(t,\"QualifiedTypeIdentifier\",{enumerable:!0,get:function(){return r.qualifiedTypeIdentifier}}),Object.defineProperty(t,\"RecordExpression\",{enumerable:!0,get:function(){return r.recordExpression}}),Object.defineProperty(t,\"RegExpLiteral\",{enumerable:!0,get:function(){return r.regExpLiteral}}),Object.defineProperty(t,\"RegexLiteral\",{enumerable:!0,get:function(){return r.regexLiteral}}),Object.defineProperty(t,\"RestElement\",{enumerable:!0,get:function(){return r.restElement}}),Object.defineProperty(t,\"RestProperty\",{enumerable:!0,get:function(){return r.restProperty}}),Object.defineProperty(t,\"ReturnStatement\",{enumerable:!0,get:function(){return r.returnStatement}}),Object.defineProperty(t,\"SequenceExpression\",{enumerable:!0,get:function(){return r.sequenceExpression}}),Object.defineProperty(t,\"SpreadElement\",{enumerable:!0,get:function(){return r.spreadElement}}),Object.defineProperty(t,\"SpreadProperty\",{enumerable:!0,get:function(){return r.spreadProperty}}),Object.defineProperty(t,\"StaticBlock\",{enumerable:!0,get:function(){return r.staticBlock}}),Object.defineProperty(t,\"StringLiteral\",{enumerable:!0,get:function(){return r.stringLiteral}}),Object.defineProperty(t,\"StringLiteralTypeAnnotation\",{enumerable:!0,get:function(){return r.stringLiteralTypeAnnotation}}),Object.defineProperty(t,\"StringTypeAnnotation\",{enumerable:!0,get:function(){return r.stringTypeAnnotation}}),Object.defineProperty(t,\"Super\",{enumerable:!0,get:function(){return r.super}}),Object.defineProperty(t,\"SwitchCase\",{enumerable:!0,get:function(){return r.switchCase}}),Object.defineProperty(t,\"SwitchStatement\",{enumerable:!0,get:function(){return r.switchStatement}}),Object.defineProperty(t,\"SymbolTypeAnnotation\",{enumerable:!0,get:function(){return r.symbolTypeAnnotation}}),Object.defineProperty(t,\"TSAnyKeyword\",{enumerable:!0,get:function(){return r.tsAnyKeyword}}),Object.defineProperty(t,\"TSArrayType\",{enumerable:!0,get:function(){return r.tsArrayType}}),Object.defineProperty(t,\"TSAsExpression\",{enumerable:!0,get:function(){return r.tsAsExpression}}),Object.defineProperty(t,\"TSBigIntKeyword\",{enumerable:!0,get:function(){return r.tsBigIntKeyword}}),Object.defineProperty(t,\"TSBooleanKeyword\",{enumerable:!0,get:function(){return r.tsBooleanKeyword}}),Object.defineProperty(t,\"TSCallSignatureDeclaration\",{enumerable:!0,get:function(){return r.tsCallSignatureDeclaration}}),Object.defineProperty(t,\"TSConditionalType\",{enumerable:!0,get:function(){return r.tsConditionalType}}),Object.defineProperty(t,\"TSConstructSignatureDeclaration\",{enumerable:!0,get:function(){return r.tsConstructSignatureDeclaration}}),Object.defineProperty(t,\"TSConstructorType\",{enumerable:!0,get:function(){return r.tsConstructorType}}),Object.defineProperty(t,\"TSDeclareFunction\",{enumerable:!0,get:function(){return r.tsDeclareFunction}}),Object.defineProperty(t,\"TSDeclareMethod\",{enumerable:!0,get:function(){return r.tsDeclareMethod}}),Object.defineProperty(t,\"TSEnumDeclaration\",{enumerable:!0,get:function(){return r.tsEnumDeclaration}}),Object.defineProperty(t,\"TSEnumMember\",{enumerable:!0,get:function(){return r.tsEnumMember}}),Object.defineProperty(t,\"TSExportAssignment\",{enumerable:!0,get:function(){return r.tsExportAssignment}}),Object.defineProperty(t,\"TSExpressionWithTypeArguments\",{enumerable:!0,get:function(){return r.tsExpressionWithTypeArguments}}),Object.defineProperty(t,\"TSExternalModuleReference\",{enumerable:!0,get:function(){return r.tsExternalModuleReference}}),Object.defineProperty(t,\"TSFunctionType\",{enumerable:!0,get:function(){return r.tsFunctionType}}),Object.defineProperty(t,\"TSImportEqualsDeclaration\",{enumerable:!0,get:function(){return r.tsImportEqualsDeclaration}}),Object.defineProperty(t,\"TSImportType\",{enumerable:!0,get:function(){return r.tsImportType}}),Object.defineProperty(t,\"TSIndexSignature\",{enumerable:!0,get:function(){return r.tsIndexSignature}}),Object.defineProperty(t,\"TSIndexedAccessType\",{enumerable:!0,get:function(){return r.tsIndexedAccessType}}),Object.defineProperty(t,\"TSInferType\",{enumerable:!0,get:function(){return r.tsInferType}}),Object.defineProperty(t,\"TSInstantiationExpression\",{enumerable:!0,get:function(){return r.tsInstantiationExpression}}),Object.defineProperty(t,\"TSInterfaceBody\",{enumerable:!0,get:function(){return r.tsInterfaceBody}}),Object.defineProperty(t,\"TSInterfaceDeclaration\",{enumerable:!0,get:function(){return r.tsInterfaceDeclaration}}),Object.defineProperty(t,\"TSIntersectionType\",{enumerable:!0,get:function(){return r.tsIntersectionType}}),Object.defineProperty(t,\"TSIntrinsicKeyword\",{enumerable:!0,get:function(){return r.tsIntrinsicKeyword}}),Object.defineProperty(t,\"TSLiteralType\",{enumerable:!0,get:function(){return r.tsLiteralType}}),Object.defineProperty(t,\"TSMappedType\",{enumerable:!0,get:function(){return r.tsMappedType}}),Object.defineProperty(t,\"TSMethodSignature\",{enumerable:!0,get:function(){return r.tsMethodSignature}}),Object.defineProperty(t,\"TSModuleBlock\",{enumerable:!0,get:function(){return r.tsModuleBlock}}),Object.defineProperty(t,\"TSModuleDeclaration\",{enumerable:!0,get:function(){return r.tsModuleDeclaration}}),Object.defineProperty(t,\"TSNamedTupleMember\",{enumerable:!0,get:function(){return r.tsNamedTupleMember}}),Object.defineProperty(t,\"TSNamespaceExportDeclaration\",{enumerable:!0,get:function(){return r.tsNamespaceExportDeclaration}}),Object.defineProperty(t,\"TSNeverKeyword\",{enumerable:!0,get:function(){return r.tsNeverKeyword}}),Object.defineProperty(t,\"TSNonNullExpression\",{enumerable:!0,get:function(){return r.tsNonNullExpression}}),Object.defineProperty(t,\"TSNullKeyword\",{enumerable:!0,get:function(){return r.tsNullKeyword}}),Object.defineProperty(t,\"TSNumberKeyword\",{enumerable:!0,get:function(){return r.tsNumberKeyword}}),Object.defineProperty(t,\"TSObjectKeyword\",{enumerable:!0,get:function(){return r.tsObjectKeyword}}),Object.defineProperty(t,\"TSOptionalType\",{enumerable:!0,get:function(){return r.tsOptionalType}}),Object.defineProperty(t,\"TSParameterProperty\",{enumerable:!0,get:function(){return r.tsParameterProperty}}),Object.defineProperty(t,\"TSParenthesizedType\",{enumerable:!0,get:function(){return r.tsParenthesizedType}}),Object.defineProperty(t,\"TSPropertySignature\",{enumerable:!0,get:function(){return r.tsPropertySignature}}),Object.defineProperty(t,\"TSQualifiedName\",{enumerable:!0,get:function(){return r.tsQualifiedName}}),Object.defineProperty(t,\"TSRestType\",{enumerable:!0,get:function(){return r.tsRestType}}),Object.defineProperty(t,\"TSSatisfiesExpression\",{enumerable:!0,get:function(){return r.tsSatisfiesExpression}}),Object.defineProperty(t,\"TSStringKeyword\",{enumerable:!0,get:function(){return r.tsStringKeyword}}),Object.defineProperty(t,\"TSSymbolKeyword\",{enumerable:!0,get:function(){return r.tsSymbolKeyword}}),Object.defineProperty(t,\"TSThisType\",{enumerable:!0,get:function(){return r.tsThisType}}),Object.defineProperty(t,\"TSTupleType\",{enumerable:!0,get:function(){return r.tsTupleType}}),Object.defineProperty(t,\"TSTypeAliasDeclaration\",{enumerable:!0,get:function(){return r.tsTypeAliasDeclaration}}),Object.defineProperty(t,\"TSTypeAnnotation\",{enumerable:!0,get:function(){return r.tsTypeAnnotation}}),Object.defineProperty(t,\"TSTypeAssertion\",{enumerable:!0,get:function(){return r.tsTypeAssertion}}),Object.defineProperty(t,\"TSTypeLiteral\",{enumerable:!0,get:function(){return r.tsTypeLiteral}}),Object.defineProperty(t,\"TSTypeOperator\",{enumerable:!0,get:function(){return r.tsTypeOperator}}),Object.defineProperty(t,\"TSTypeParameter\",{enumerable:!0,get:function(){return r.tsTypeParameter}}),Object.defineProperty(t,\"TSTypeParameterDeclaration\",{enumerable:!0,get:function(){return r.tsTypeParameterDeclaration}}),Object.defineProperty(t,\"TSTypeParameterInstantiation\",{enumerable:!0,get:function(){return r.tsTypeParameterInstantiation}}),Object.defineProperty(t,\"TSTypePredicate\",{enumerable:!0,get:function(){return r.tsTypePredicate}}),Object.defineProperty(t,\"TSTypeQuery\",{enumerable:!0,get:function(){return r.tsTypeQuery}}),Object.defineProperty(t,\"TSTypeReference\",{enumerable:!0,get:function(){return r.tsTypeReference}}),Object.defineProperty(t,\"TSUndefinedKeyword\",{enumerable:!0,get:function(){return r.tsUndefinedKeyword}}),Object.defineProperty(t,\"TSUnionType\",{enumerable:!0,get:function(){return r.tsUnionType}}),Object.defineProperty(t,\"TSUnknownKeyword\",{enumerable:!0,get:function(){return r.tsUnknownKeyword}}),Object.defineProperty(t,\"TSVoidKeyword\",{enumerable:!0,get:function(){return r.tsVoidKeyword}}),Object.defineProperty(t,\"TaggedTemplateExpression\",{enumerable:!0,get:function(){return r.taggedTemplateExpression}}),Object.defineProperty(t,\"TemplateElement\",{enumerable:!0,get:function(){return r.templateElement}}),Object.defineProperty(t,\"TemplateLiteral\",{enumerable:!0,get:function(){return r.templateLiteral}}),Object.defineProperty(t,\"ThisExpression\",{enumerable:!0,get:function(){return r.thisExpression}}),Object.defineProperty(t,\"ThisTypeAnnotation\",{enumerable:!0,get:function(){return r.thisTypeAnnotation}}),Object.defineProperty(t,\"ThrowStatement\",{enumerable:!0,get:function(){return r.throwStatement}}),Object.defineProperty(t,\"TopicReference\",{enumerable:!0,get:function(){return r.topicReference}}),Object.defineProperty(t,\"TryStatement\",{enumerable:!0,get:function(){return r.tryStatement}}),Object.defineProperty(t,\"TupleExpression\",{enumerable:!0,get:function(){return r.tupleExpression}}),Object.defineProperty(t,\"TupleTypeAnnotation\",{enumerable:!0,get:function(){return r.tupleTypeAnnotation}}),Object.defineProperty(t,\"TypeAlias\",{enumerable:!0,get:function(){return r.typeAlias}}),Object.defineProperty(t,\"TypeAnnotation\",{enumerable:!0,get:function(){return r.typeAnnotation}}),Object.defineProperty(t,\"TypeCastExpression\",{enumerable:!0,get:function(){return r.typeCastExpression}}),Object.defineProperty(t,\"TypeParameter\",{enumerable:!0,get:function(){return r.typeParameter}}),Object.defineProperty(t,\"TypeParameterDeclaration\",{enumerable:!0,get:function(){return r.typeParameterDeclaration}}),Object.defineProperty(t,\"TypeParameterInstantiation\",{enumerable:!0,get:function(){return r.typeParameterInstantiation}}),Object.defineProperty(t,\"TypeofTypeAnnotation\",{enumerable:!0,get:function(){return r.typeofTypeAnnotation}}),Object.defineProperty(t,\"UnaryExpression\",{enumerable:!0,get:function(){return r.unaryExpression}}),Object.defineProperty(t,\"UnionTypeAnnotation\",{enumerable:!0,get:function(){return r.unionTypeAnnotation}}),Object.defineProperty(t,\"UpdateExpression\",{enumerable:!0,get:function(){return r.updateExpression}}),Object.defineProperty(t,\"V8IntrinsicIdentifier\",{enumerable:!0,get:function(){return r.v8IntrinsicIdentifier}}),Object.defineProperty(t,\"VariableDeclaration\",{enumerable:!0,get:function(){return r.variableDeclaration}}),Object.defineProperty(t,\"VariableDeclarator\",{enumerable:!0,get:function(){return r.variableDeclarator}}),Object.defineProperty(t,\"Variance\",{enumerable:!0,get:function(){return r.variance}}),Object.defineProperty(t,\"VoidTypeAnnotation\",{enumerable:!0,get:function(){return r.voidTypeAnnotation}}),Object.defineProperty(t,\"WhileStatement\",{enumerable:!0,get:function(){return r.whileStatement}}),Object.defineProperty(t,\"WithStatement\",{enumerable:!0,get:function(){return r.withStatement}}),Object.defineProperty(t,\"YieldExpression\",{enumerable:!0,get:function(){return r.yieldExpression}});var r=n(1411)},4225:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){const t=[];for(let n=0;n<e.children.length;n++){let s=e.children[n];(0,r.isJSXText)(s)?(0,i.default)(s,t):((0,r.isJSXExpressionContainer)(s)&&(s=s.expression),(0,r.isJSXEmptyExpression)(s)||t.push(s))}return t};var r=n(9869),i=n(8730)},6752:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){const t=e.map((e=>(0,s.isTSTypeAnnotation)(e)?e.typeAnnotation:e)),n=(0,i.default)(t);return 1===n.length?n[0]:(0,r.tsUnionType)(n)};var r=n(1411),i=n(2819),s=n(9869)},6505:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){const t=i.BUILDER_KEYS[e.type];for(const n of t)(0,r.default)(e,n,e[n]);return e};var r=n(7750),i=n(6067)},8229:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return(0,r.default)(e,!1)};var r=n(2419)},8030:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return(0,r.default)(e)};var r=n(2419)},8519:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return(0,r.default)(e,!0,!0)};var r=n(2419)},2419:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t=!0,n=!1){return l(e,t,n,new Map)};var r=n(1678),i=n(9869);const s=Function.call.bind(Object.prototype.hasOwnProperty);function a(e,t,n,r){return e&&\"string\"==typeof e.type?l(e,t,n,r):e}function o(e,t,n,r){return Array.isArray(e)?e.map((e=>a(e,t,n,r))):a(e,t,n,r)}function l(e,t=!0,n=!1,a){if(!e)return e;const{type:l}=e,u={type:e.type};if((0,i.isIdentifier)(e))u.name=e.name,s(e,\"optional\")&&\"boolean\"==typeof e.optional&&(u.optional=e.optional),s(e,\"typeAnnotation\")&&(u.typeAnnotation=t?o(e.typeAnnotation,!0,n,a):e.typeAnnotation);else{if(!s(r.NODE_FIELDS,l))throw new Error(`Unknown node type: \"${l}\"`);for(const p of Object.keys(r.NODE_FIELDS[l]))s(e,p)&&(u[p]=t?(0,i.isFile)(e)&&\"comments\"===p?c(e.comments,t,n,a):o(e[p],!0,n,a):e[p])}return s(e,\"loc\")&&(u.loc=n?null:e.loc),s(e,\"leadingComments\")&&(u.leadingComments=c(e.leadingComments,t,n,a)),s(e,\"innerComments\")&&(u.innerComments=c(e.innerComments,t,n,a)),s(e,\"trailingComments\")&&(u.trailingComments=c(e.trailingComments,t,n,a)),s(e,\"extra\")&&(u.extra=Object.assign({},e.extra)),u}function c(e,t,n,r){return e&&t?e.map((e=>{const t=r.get(e);if(t)return t;const{type:i,value:s,loc:a}=e,o={type:i,value:s,loc:a};return n&&(o.loc=null),r.set(e,o),o})):e}},9381:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return(0,r.default)(e,!1,!0)};var r=n(2419)},109:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n,i){return(0,r.default)(e,t,[{type:i?\"CommentLine\":\"CommentBlock\",value:n}])};var r=n(8647)},8647:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n){if(!n||!e)return e;const r=`${t}Comments`;return e[r]?\"leading\"===t?e[r]=n.concat(e[r]):e[r].push(...n):e[r]=n,e}},2823:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){(0,r.default)(\"innerComments\",e,t)};var r=n(9906)},8930:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){(0,r.default)(\"leadingComments\",e,t)};var r=n(9906)},2714:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){(0,r.default)(\"trailingComments\",e,t)};var r=n(9906)},9134:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){return(0,r.default)(e,t),(0,i.default)(e,t),(0,s.default)(e,t),e};var r=n(2714),i=n(8930),s=n(2823)},698:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return r.COMMENT_KEYS.forEach((t=>{e[t]=null})),e};var r=n(3725)},4998:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.WHILE_TYPES=t.USERWHITESPACABLE_TYPES=t.UNARYLIKE_TYPES=t.TYPESCRIPT_TYPES=t.TSTYPE_TYPES=t.TSTYPEELEMENT_TYPES=t.TSENTITYNAME_TYPES=t.TSBASETYPE_TYPES=t.TERMINATORLESS_TYPES=t.STATEMENT_TYPES=t.STANDARDIZED_TYPES=t.SCOPABLE_TYPES=t.PUREISH_TYPES=t.PROPERTY_TYPES=t.PRIVATE_TYPES=t.PATTERN_TYPES=t.PATTERNLIKE_TYPES=t.OBJECTMEMBER_TYPES=t.MODULESPECIFIER_TYPES=t.MODULEDECLARATION_TYPES=t.MISCELLANEOUS_TYPES=t.METHOD_TYPES=t.LVAL_TYPES=t.LOOP_TYPES=t.LITERAL_TYPES=t.JSX_TYPES=t.IMPORTOREXPORTDECLARATION_TYPES=t.IMMUTABLE_TYPES=t.FUNCTION_TYPES=t.FUNCTIONPARENT_TYPES=t.FOR_TYPES=t.FORXSTATEMENT_TYPES=t.FLOW_TYPES=t.FLOWTYPE_TYPES=t.FLOWPREDICATE_TYPES=t.FLOWDECLARATION_TYPES=t.FLOWBASEANNOTATION_TYPES=t.EXPRESSION_TYPES=t.EXPRESSIONWRAPPER_TYPES=t.EXPORTDECLARATION_TYPES=t.ENUMMEMBER_TYPES=t.ENUMBODY_TYPES=t.DECLARATION_TYPES=t.CONDITIONAL_TYPES=t.COMPLETIONSTATEMENT_TYPES=t.CLASS_TYPES=t.BLOCK_TYPES=t.BLOCKPARENT_TYPES=t.BINARY_TYPES=t.ACCESSOR_TYPES=void 0;var r=n(1678);const i=r.FLIPPED_ALIAS_KEYS.Standardized;t.STANDARDIZED_TYPES=i;const s=r.FLIPPED_ALIAS_KEYS.Expression;t.EXPRESSION_TYPES=s;const a=r.FLIPPED_ALIAS_KEYS.Binary;t.BINARY_TYPES=a;const o=r.FLIPPED_ALIAS_KEYS.Scopable;t.SCOPABLE_TYPES=o;const l=r.FLIPPED_ALIAS_KEYS.BlockParent;t.BLOCKPARENT_TYPES=l;const c=r.FLIPPED_ALIAS_KEYS.Block;t.BLOCK_TYPES=c;const u=r.FLIPPED_ALIAS_KEYS.Statement;t.STATEMENT_TYPES=u;const p=r.FLIPPED_ALIAS_KEYS.Terminatorless;t.TERMINATORLESS_TYPES=p;const h=r.FLIPPED_ALIAS_KEYS.CompletionStatement;t.COMPLETIONSTATEMENT_TYPES=h;const d=r.FLIPPED_ALIAS_KEYS.Conditional;t.CONDITIONAL_TYPES=d;const f=r.FLIPPED_ALIAS_KEYS.Loop;t.LOOP_TYPES=f;const y=r.FLIPPED_ALIAS_KEYS.While;t.WHILE_TYPES=y;const m=r.FLIPPED_ALIAS_KEYS.ExpressionWrapper;t.EXPRESSIONWRAPPER_TYPES=m;const T=r.FLIPPED_ALIAS_KEYS.For;t.FOR_TYPES=T;const g=r.FLIPPED_ALIAS_KEYS.ForXStatement;t.FORXSTATEMENT_TYPES=g;const b=r.FLIPPED_ALIAS_KEYS.Function;t.FUNCTION_TYPES=b;const E=r.FLIPPED_ALIAS_KEYS.FunctionParent;t.FUNCTIONPARENT_TYPES=E;const S=r.FLIPPED_ALIAS_KEYS.Pureish;t.PUREISH_TYPES=S;const P=r.FLIPPED_ALIAS_KEYS.Declaration;t.DECLARATION_TYPES=P;const x=r.FLIPPED_ALIAS_KEYS.PatternLike;t.PATTERNLIKE_TYPES=x;const D=r.FLIPPED_ALIAS_KEYS.LVal;t.LVAL_TYPES=D;const A=r.FLIPPED_ALIAS_KEYS.TSEntityName;t.TSENTITYNAME_TYPES=A;const v=r.FLIPPED_ALIAS_KEYS.Literal;t.LITERAL_TYPES=v;const C=r.FLIPPED_ALIAS_KEYS.Immutable;t.IMMUTABLE_TYPES=C;const w=r.FLIPPED_ALIAS_KEYS.UserWhitespacable;t.USERWHITESPACABLE_TYPES=w;const O=r.FLIPPED_ALIAS_KEYS.Method;t.METHOD_TYPES=O;const I=r.FLIPPED_ALIAS_KEYS.ObjectMember;t.OBJECTMEMBER_TYPES=I;const N=r.FLIPPED_ALIAS_KEYS.Property;t.PROPERTY_TYPES=N;const F=r.FLIPPED_ALIAS_KEYS.UnaryLike;t.UNARYLIKE_TYPES=F;const k=r.FLIPPED_ALIAS_KEYS.Pattern;t.PATTERN_TYPES=k;const L=r.FLIPPED_ALIAS_KEYS.Class;t.CLASS_TYPES=L;const _=r.FLIPPED_ALIAS_KEYS.ImportOrExportDeclaration;t.IMPORTOREXPORTDECLARATION_TYPES=_;const M=r.FLIPPED_ALIAS_KEYS.ExportDeclaration;t.EXPORTDECLARATION_TYPES=M;const B=r.FLIPPED_ALIAS_KEYS.ModuleSpecifier;t.MODULESPECIFIER_TYPES=B;const j=r.FLIPPED_ALIAS_KEYS.Accessor;t.ACCESSOR_TYPES=j;const R=r.FLIPPED_ALIAS_KEYS.Private;t.PRIVATE_TYPES=R;const U=r.FLIPPED_ALIAS_KEYS.Flow;t.FLOW_TYPES=U;const V=r.FLIPPED_ALIAS_KEYS.FlowType;t.FLOWTYPE_TYPES=V;const K=r.FLIPPED_ALIAS_KEYS.FlowBaseAnnotation;t.FLOWBASEANNOTATION_TYPES=K;const W=r.FLIPPED_ALIAS_KEYS.FlowDeclaration;t.FLOWDECLARATION_TYPES=W;const X=r.FLIPPED_ALIAS_KEYS.FlowPredicate;t.FLOWPREDICATE_TYPES=X;const Y=r.FLIPPED_ALIAS_KEYS.EnumBody;t.ENUMBODY_TYPES=Y;const q=r.FLIPPED_ALIAS_KEYS.EnumMember;t.ENUMMEMBER_TYPES=q;const H=r.FLIPPED_ALIAS_KEYS.JSX;t.JSX_TYPES=H;const J=r.FLIPPED_ALIAS_KEYS.Miscellaneous;t.MISCELLANEOUS_TYPES=J;const $=r.FLIPPED_ALIAS_KEYS.TypeScript;t.TYPESCRIPT_TYPES=$;const G=r.FLIPPED_ALIAS_KEYS.TSTypeElement;t.TSTYPEELEMENT_TYPES=G;const z=r.FLIPPED_ALIAS_KEYS.TSType;t.TSTYPE_TYPES=z;const Q=r.FLIPPED_ALIAS_KEYS.TSBaseType;t.TSBASETYPE_TYPES=Q;const Z=_;t.MODULEDECLARATION_TYPES=Z},3725:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.UPDATE_OPERATORS=t.UNARY_OPERATORS=t.STRING_UNARY_OPERATORS=t.STATEMENT_OR_BLOCK_KEYS=t.NUMBER_UNARY_OPERATORS=t.NUMBER_BINARY_OPERATORS=t.NOT_LOCAL_BINDING=t.LOGICAL_OPERATORS=t.INHERIT_KEYS=t.FOR_INIT_KEYS=t.FLATTENABLE_KEYS=t.EQUALITY_BINARY_OPERATORS=t.COMPARISON_BINARY_OPERATORS=t.COMMENT_KEYS=t.BOOLEAN_UNARY_OPERATORS=t.BOOLEAN_NUMBER_BINARY_OPERATORS=t.BOOLEAN_BINARY_OPERATORS=t.BLOCK_SCOPED_SYMBOL=t.BINARY_OPERATORS=t.ASSIGNMENT_OPERATORS=void 0,t.STATEMENT_OR_BLOCK_KEYS=[\"consequent\",\"body\",\"alternate\"],t.FLATTENABLE_KEYS=[\"body\",\"expressions\"],t.FOR_INIT_KEYS=[\"left\",\"init\"],t.COMMENT_KEYS=[\"leadingComments\",\"trailingComments\",\"innerComments\"];const n=[\"||\",\"&&\",\"??\"];t.LOGICAL_OPERATORS=n,t.UPDATE_OPERATORS=[\"++\",\"--\"];const r=[\">\",\"<\",\">=\",\"<=\"];t.BOOLEAN_NUMBER_BINARY_OPERATORS=r;const i=[\"==\",\"===\",\"!=\",\"!==\"];t.EQUALITY_BINARY_OPERATORS=i;const s=[...i,\"in\",\"instanceof\"];t.COMPARISON_BINARY_OPERATORS=s;const a=[...s,...r];t.BOOLEAN_BINARY_OPERATORS=a;const o=[\"-\",\"/\",\"%\",\"*\",\"**\",\"&\",\"|\",\">>\",\">>>\",\"<<\",\"^\"];t.NUMBER_BINARY_OPERATORS=o;const l=[\"+\",...o,...a,\"|>\"];t.BINARY_OPERATORS=l;const c=[\"=\",\"+=\",...o.map((e=>e+\"=\")),...n.map((e=>e+\"=\"))];t.ASSIGNMENT_OPERATORS=c;const u=[\"delete\",\"!\"];t.BOOLEAN_UNARY_OPERATORS=u;const p=[\"+\",\"-\",\"~\"];t.NUMBER_UNARY_OPERATORS=p;const h=[\"typeof\"];t.STRING_UNARY_OPERATORS=h;const d=[\"void\",\"throw\",...u,...p,...h];t.UNARY_OPERATORS=d,t.INHERIT_KEYS={optional:[\"typeAnnotation\",\"typeParameters\",\"returnType\"],force:[\"start\",\"loc\",\"end\"]};const f=Symbol.for(\"var used to be block scoped\");t.BLOCK_SCOPED_SYMBOL=f;const y=Symbol.for(\"should not be considered a local binding\");t.NOT_LOCAL_BINDING=y},8560:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t=\"body\"){const n=(0,r.default)(e[t],e);return e[t]=n,n};var r=n(9988)},3556:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function e(t,n,o){const l=[];let c=!0;for(const u of t)if((0,i.isEmptyStatement)(u)||(c=!1),(0,i.isExpression)(u))l.push(u);else if((0,i.isExpressionStatement)(u))l.push(u.expression);else if((0,i.isVariableDeclaration)(u)){if(\"var\"!==u.kind)return;for(const e of u.declarations){const t=(0,r.default)(e);for(const e of Object.keys(t))o.push({kind:u.kind,id:(0,a.default)(t[e])});e.init&&l.push((0,s.assignmentExpression)(\"=\",e.id,e.init))}c=!0}else if((0,i.isIfStatement)(u)){const t=u.consequent?e([u.consequent],n,o):n.buildUndefinedNode(),r=u.alternate?e([u.alternate],n,o):n.buildUndefinedNode();if(!t||!r)return;l.push((0,s.conditionalExpression)(u.test,t,r))}else if((0,i.isBlockStatement)(u)){const t=e(u.body,n,o);if(!t)return;l.push(t)}else{if(!(0,i.isEmptyStatement)(u))return;0===t.indexOf(u)&&(c=!0)}return c&&l.push(n.buildUndefinedNode()),1===l.length?l[0]:(0,s.sequenceExpression)(l)};var r=n(984),i=n(9869),s=n(1411),a=n(2419)},5200:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return\"eval\"!==(e=(0,r.default)(e))&&\"arguments\"!==e||(e=\"_\"+e),e};var r=n(7885)},9988:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){if((0,r.isBlockStatement)(e))return e;let n=[];return(0,r.isEmptyStatement)(e)?n=[]:((0,r.isStatement)(e)||(e=(0,r.isFunction)(t)?(0,i.returnStatement)(e):(0,i.expressionStatement)(e)),n=[e]),(0,i.blockStatement)(n)};var r=n(9869),i=n(1411)},3816:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t=e.key||e.property){return!e.computed&&(0,r.isIdentifier)(t)&&(t=(0,i.stringLiteral)(t.name)),t};var r=n(9869),i=n(1411)},5317:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var r=n(9869);t.default=function(e){if((0,r.isExpressionStatement)(e)&&(e=e.expression),(0,r.isExpression)(e))return e;if((0,r.isClass)(e)?e.type=\"ClassExpression\":(0,r.isFunction)(e)&&(e.type=\"FunctionExpression\"),!(0,r.isExpression)(e))throw new Error(`cannot turn ${e.type} to an expression`);return e}},7885:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){e+=\"\";let t=\"\";for(const n of e)t+=(0,i.isIdentifierChar)(n.codePointAt(0))?n:\"-\";return t=t.replace(/^[-0-9]+/,\"\"),t=t.replace(/[-\\s]+(.)?/g,(function(e,t){return t?t.toUpperCase():\"\"})),(0,r.default)(t)||(t=`_${t}`),t||\"_\"};var r=n(5820),i=n(9649)},5046:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=a;var r=n(9869),i=n(2419),s=n(857);function a(e,t=e.key){let n;return\"method\"===e.kind?a.increment()+\"\":(n=(0,r.isIdentifier)(t)?t.name:(0,r.isStringLiteral)(t)?JSON.stringify(t.value):JSON.stringify((0,s.default)((0,i.default)(t))),e.computed&&(n=`[${n}]`),e.static&&(n=`static:${n}`),n)}a.uid=0,a.increment=function(){return a.uid>=Number.MAX_SAFE_INTEGER?a.uid=0:a.uid++}},2473:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){if(null==e||!e.length)return;const n=[],i=(0,r.default)(e,t,n);if(i){for(const e of n)t.push(e);return i}};var r=n(3556)},350:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var r=n(9869),i=n(1411);t.default=function(e,t){if((0,r.isStatement)(e))return e;let n,s=!1;if((0,r.isClass)(e))s=!0,n=\"ClassDeclaration\";else if((0,r.isFunction)(e))s=!0,n=\"FunctionDeclaration\";else if((0,r.isAssignmentExpression)(e))return(0,i.expressionStatement)(e);if(s&&!e.id&&(n=!1),!n){if(t)return!1;throw new Error(`cannot turn ${e.type} to a statement`)}return e.type=n,e}},1382:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var r=n(5820),i=n(1411);t.default=function e(t){if(void 0===t)return(0,i.identifier)(\"undefined\");if(!0===t||!1===t)return(0,i.booleanLiteral)(t);if(null===t)return(0,i.nullLiteral)();if(\"string\"==typeof t)return(0,i.stringLiteral)(t);if(\"number\"==typeof t){let e;if(Number.isFinite(t))e=(0,i.numericLiteral)(Math.abs(t));else{let n;n=Number.isNaN(t)?(0,i.numericLiteral)(0):(0,i.numericLiteral)(1),e=(0,i.binaryExpression)(\"/\",n,(0,i.numericLiteral)(0))}return(t<0||Object.is(t,-0))&&(e=(0,i.unaryExpression)(\"-\",e)),e}if(function(e){return\"[object RegExp]\"===s(e)}(t)){const e=t.source,n=t.toString().match(/\\/([a-z]+|)$/)[1];return(0,i.regExpLiteral)(e,n)}if(Array.isArray(t))return(0,i.arrayExpression)(t.map(e));if(function(e){if(\"object\"!=typeof e||null===e||\"[object Object]\"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||null===Object.getPrototypeOf(t)}(t)){const n=[];for(const s of Object.keys(t)){let a;a=(0,r.default)(s)?(0,i.identifier)(s):(0,i.stringLiteral)(s),n.push((0,i.objectProperty)(a,e(t[s])))}return(0,i.objectExpression)(n)}throw new Error(\"don't know how to turn this value into a node\")};const s=Function.call.bind(Object.prototype.toString)},8248:(e,t,n)=>{\"use strict\";var r=n(4155);Object.defineProperty(t,\"__esModule\",{value:!0}),t.patternLikeCommon=t.functionTypeAnnotationCommon=t.functionDeclarationCommon=t.functionCommon=t.classMethodOrPropertyCommon=t.classMethodOrDeclareMethodCommon=void 0;var i=n(5171),s=n(5820),a=n(9649),o=n(7648),l=n(3725),c=n(1514);const u=(0,c.defineAliasedType)(\"Standardized\");u(\"ArrayExpression\",{fields:{elements:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeOrValueType)(\"null\",\"Expression\",\"SpreadElement\"))),default:r.env.BABEL_TYPES_8_BREAKING?void 0:[]}},visitor:[\"elements\"],aliases:[\"Expression\"]}),u(\"AssignmentExpression\",{fields:{operator:{validate:function(){if(!r.env.BABEL_TYPES_8_BREAKING)return(0,c.assertValueType)(\"string\");const e=(0,c.assertOneOf)(...l.ASSIGNMENT_OPERATORS),t=(0,c.assertOneOf)(\"=\");return function(n,r,s){((0,i.default)(\"Pattern\",n.left)?t:e)(n,r,s)}}()},left:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertNodeType)(\"Identifier\",\"MemberExpression\",\"ArrayPattern\",\"ObjectPattern\",\"TSAsExpression\",\"TSSatisfiesExpression\",\"TSTypeAssertion\",\"TSNonNullExpression\"):(0,c.assertNodeType)(\"LVal\")},right:{validate:(0,c.assertNodeType)(\"Expression\")}},builder:[\"operator\",\"left\",\"right\"],visitor:[\"left\",\"right\"],aliases:[\"Expression\"]}),u(\"BinaryExpression\",{builder:[\"operator\",\"left\",\"right\"],fields:{operator:{validate:(0,c.assertOneOf)(...l.BINARY_OPERATORS)},left:{validate:function(){const e=(0,c.assertNodeType)(\"Expression\"),t=(0,c.assertNodeType)(\"Expression\",\"PrivateName\");return Object.assign((function(n,r,i){(\"in\"===n.operator?t:e)(n,r,i)}),{oneOfNodeTypes:[\"Expression\",\"PrivateName\"]})}()},right:{validate:(0,c.assertNodeType)(\"Expression\")}},visitor:[\"left\",\"right\"],aliases:[\"Binary\",\"Expression\"]}),u(\"InterpreterDirective\",{builder:[\"value\"],fields:{value:{validate:(0,c.assertValueType)(\"string\")}}}),u(\"Directive\",{visitor:[\"value\"],fields:{value:{validate:(0,c.assertNodeType)(\"DirectiveLiteral\")}}}),u(\"DirectiveLiteral\",{builder:[\"value\"],fields:{value:{validate:(0,c.assertValueType)(\"string\")}}}),u(\"BlockStatement\",{builder:[\"body\",\"directives\"],visitor:[\"directives\",\"body\"],fields:{directives:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Directive\"))),default:[]},body:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Statement\")))}},aliases:[\"Scopable\",\"BlockParent\",\"Block\",\"Statement\"]}),u(\"BreakStatement\",{visitor:[\"label\"],fields:{label:{validate:(0,c.assertNodeType)(\"Identifier\"),optional:!0}},aliases:[\"Statement\",\"Terminatorless\",\"CompletionStatement\"]}),u(\"CallExpression\",{visitor:[\"callee\",\"arguments\",\"typeParameters\",\"typeArguments\"],builder:[\"callee\",\"arguments\"],aliases:[\"Expression\"],fields:Object.assign({callee:{validate:(0,c.assertNodeType)(\"Expression\",\"Super\",\"V8IntrinsicIdentifier\")},arguments:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Expression\",\"SpreadElement\",\"JSXNamespacedName\",\"ArgumentPlaceholder\")))}},r.env.BABEL_TYPES_8_BREAKING?{}:{optional:{validate:(0,c.assertOneOf)(!0,!1),optional:!0}},{typeArguments:{validate:(0,c.assertNodeType)(\"TypeParameterInstantiation\"),optional:!0},typeParameters:{validate:(0,c.assertNodeType)(\"TSTypeParameterInstantiation\"),optional:!0}})}),u(\"CatchClause\",{visitor:[\"param\",\"body\"],fields:{param:{validate:(0,c.assertNodeType)(\"Identifier\",\"ArrayPattern\",\"ObjectPattern\"),optional:!0},body:{validate:(0,c.assertNodeType)(\"BlockStatement\")}},aliases:[\"Scopable\",\"BlockParent\"]}),u(\"ConditionalExpression\",{visitor:[\"test\",\"consequent\",\"alternate\"],fields:{test:{validate:(0,c.assertNodeType)(\"Expression\")},consequent:{validate:(0,c.assertNodeType)(\"Expression\")},alternate:{validate:(0,c.assertNodeType)(\"Expression\")}},aliases:[\"Expression\",\"Conditional\"]}),u(\"ContinueStatement\",{visitor:[\"label\"],fields:{label:{validate:(0,c.assertNodeType)(\"Identifier\"),optional:!0}},aliases:[\"Statement\",\"Terminatorless\",\"CompletionStatement\"]}),u(\"DebuggerStatement\",{aliases:[\"Statement\"]}),u(\"DoWhileStatement\",{visitor:[\"test\",\"body\"],fields:{test:{validate:(0,c.assertNodeType)(\"Expression\")},body:{validate:(0,c.assertNodeType)(\"Statement\")}},aliases:[\"Statement\",\"BlockParent\",\"Loop\",\"While\",\"Scopable\"]}),u(\"EmptyStatement\",{aliases:[\"Statement\"]}),u(\"ExpressionStatement\",{visitor:[\"expression\"],fields:{expression:{validate:(0,c.assertNodeType)(\"Expression\")}},aliases:[\"Statement\",\"ExpressionWrapper\"]}),u(\"File\",{builder:[\"program\",\"comments\",\"tokens\"],visitor:[\"program\"],fields:{program:{validate:(0,c.assertNodeType)(\"Program\")},comments:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertEach)((0,c.assertNodeType)(\"CommentBlock\",\"CommentLine\")):Object.assign((()=>{}),{each:{oneOfNodeTypes:[\"CommentBlock\",\"CommentLine\"]}}),optional:!0},tokens:{validate:(0,c.assertEach)(Object.assign((()=>{}),{type:\"any\"})),optional:!0}}}),u(\"ForInStatement\",{visitor:[\"left\",\"right\",\"body\"],aliases:[\"Scopable\",\"Statement\",\"For\",\"BlockParent\",\"Loop\",\"ForXStatement\"],fields:{left:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertNodeType)(\"VariableDeclaration\",\"Identifier\",\"MemberExpression\",\"ArrayPattern\",\"ObjectPattern\",\"TSAsExpression\",\"TSSatisfiesExpression\",\"TSTypeAssertion\",\"TSNonNullExpression\"):(0,c.assertNodeType)(\"VariableDeclaration\",\"LVal\")},right:{validate:(0,c.assertNodeType)(\"Expression\")},body:{validate:(0,c.assertNodeType)(\"Statement\")}}}),u(\"ForStatement\",{visitor:[\"init\",\"test\",\"update\",\"body\"],aliases:[\"Scopable\",\"Statement\",\"For\",\"BlockParent\",\"Loop\"],fields:{init:{validate:(0,c.assertNodeType)(\"VariableDeclaration\",\"Expression\"),optional:!0},test:{validate:(0,c.assertNodeType)(\"Expression\"),optional:!0},update:{validate:(0,c.assertNodeType)(\"Expression\"),optional:!0},body:{validate:(0,c.assertNodeType)(\"Statement\")}}});const p=()=>({params:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Identifier\",\"Pattern\",\"RestElement\")))},generator:{default:!1},async:{default:!1}});t.functionCommon=p;const h=()=>({returnType:{validate:(0,c.assertNodeType)(\"TypeAnnotation\",\"TSTypeAnnotation\",\"Noop\"),optional:!0},typeParameters:{validate:(0,c.assertNodeType)(\"TypeParameterDeclaration\",\"TSTypeParameterDeclaration\",\"Noop\"),optional:!0}});t.functionTypeAnnotationCommon=h;const d=()=>Object.assign({},p(),{declare:{validate:(0,c.assertValueType)(\"boolean\"),optional:!0},id:{validate:(0,c.assertNodeType)(\"Identifier\"),optional:!0}});t.functionDeclarationCommon=d,u(\"FunctionDeclaration\",{builder:[\"id\",\"params\",\"body\",\"generator\",\"async\"],visitor:[\"id\",\"params\",\"body\",\"returnType\",\"typeParameters\"],fields:Object.assign({},d(),h(),{body:{validate:(0,c.assertNodeType)(\"BlockStatement\")},predicate:{validate:(0,c.assertNodeType)(\"DeclaredPredicate\",\"InferredPredicate\"),optional:!0}}),aliases:[\"Scopable\",\"Function\",\"BlockParent\",\"FunctionParent\",\"Statement\",\"Pureish\",\"Declaration\"],validate:function(){if(!r.env.BABEL_TYPES_8_BREAKING)return()=>{};const e=(0,c.assertNodeType)(\"Identifier\");return function(t,n,r){(0,i.default)(\"ExportDefaultDeclaration\",t)||e(r,\"id\",r.id)}}()}),u(\"FunctionExpression\",{inherits:\"FunctionDeclaration\",aliases:[\"Scopable\",\"Function\",\"BlockParent\",\"FunctionParent\",\"Expression\",\"Pureish\"],fields:Object.assign({},p(),h(),{id:{validate:(0,c.assertNodeType)(\"Identifier\"),optional:!0},body:{validate:(0,c.assertNodeType)(\"BlockStatement\")},predicate:{validate:(0,c.assertNodeType)(\"DeclaredPredicate\",\"InferredPredicate\"),optional:!0}})});const f=()=>({typeAnnotation:{validate:(0,c.assertNodeType)(\"TypeAnnotation\",\"TSTypeAnnotation\",\"Noop\"),optional:!0},optional:{validate:(0,c.assertValueType)(\"boolean\"),optional:!0},decorators:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Decorator\"))),optional:!0}});t.patternLikeCommon=f,u(\"Identifier\",{builder:[\"name\"],visitor:[\"typeAnnotation\",\"decorators\"],aliases:[\"Expression\",\"PatternLike\",\"LVal\",\"TSEntityName\"],fields:Object.assign({},f(),{name:{validate:(0,c.chain)((0,c.assertValueType)(\"string\"),Object.assign((function(e,t,n){if(r.env.BABEL_TYPES_8_BREAKING&&!(0,s.default)(n,!1))throw new TypeError(`\"${n}\" is not a valid identifier name`)}),{type:\"string\"}))}}),validate(e,t,n){if(!r.env.BABEL_TYPES_8_BREAKING)return;const s=/\\.(\\w+)$/.exec(t);if(!s)return;const[,o]=s,l={computed:!1};if(\"property\"===o){if((0,i.default)(\"MemberExpression\",e,l))return;if((0,i.default)(\"OptionalMemberExpression\",e,l))return}else if(\"key\"===o){if((0,i.default)(\"Property\",e,l))return;if((0,i.default)(\"Method\",e,l))return}else if(\"exported\"===o){if((0,i.default)(\"ExportSpecifier\",e))return}else if(\"imported\"===o){if((0,i.default)(\"ImportSpecifier\",e,{imported:n}))return}else if(\"meta\"===o&&(0,i.default)(\"MetaProperty\",e,{meta:n}))return;if(((0,a.isKeyword)(n.name)||(0,a.isReservedWord)(n.name,!1))&&\"this\"!==n.name)throw new TypeError(`\"${n.name}\" is not a valid identifier`)}}),u(\"IfStatement\",{visitor:[\"test\",\"consequent\",\"alternate\"],aliases:[\"Statement\",\"Conditional\"],fields:{test:{validate:(0,c.assertNodeType)(\"Expression\")},consequent:{validate:(0,c.assertNodeType)(\"Statement\")},alternate:{optional:!0,validate:(0,c.assertNodeType)(\"Statement\")}}}),u(\"LabeledStatement\",{visitor:[\"label\",\"body\"],aliases:[\"Statement\"],fields:{label:{validate:(0,c.assertNodeType)(\"Identifier\")},body:{validate:(0,c.assertNodeType)(\"Statement\")}}}),u(\"StringLiteral\",{builder:[\"value\"],fields:{value:{validate:(0,c.assertValueType)(\"string\")}},aliases:[\"Expression\",\"Pureish\",\"Literal\",\"Immutable\"]}),u(\"NumericLiteral\",{builder:[\"value\"],deprecatedAlias:\"NumberLiteral\",fields:{value:{validate:(0,c.chain)((0,c.assertValueType)(\"number\"),Object.assign((function(e,t,n){(1/n<0||!Number.isFinite(n))&&new Error(`NumericLiterals must be non-negative finite numbers. You can use t.valueToNode(${n}) instead.`)}),{type:\"number\"}))}},aliases:[\"Expression\",\"Pureish\",\"Literal\",\"Immutable\"]}),u(\"NullLiteral\",{aliases:[\"Expression\",\"Pureish\",\"Literal\",\"Immutable\"]}),u(\"BooleanLiteral\",{builder:[\"value\"],fields:{value:{validate:(0,c.assertValueType)(\"boolean\")}},aliases:[\"Expression\",\"Pureish\",\"Literal\",\"Immutable\"]}),u(\"RegExpLiteral\",{builder:[\"pattern\",\"flags\"],deprecatedAlias:\"RegexLiteral\",aliases:[\"Expression\",\"Pureish\",\"Literal\"],fields:{pattern:{validate:(0,c.assertValueType)(\"string\")},flags:{validate:(0,c.chain)((0,c.assertValueType)(\"string\"),Object.assign((function(e,t,n){if(!r.env.BABEL_TYPES_8_BREAKING)return;const i=/[^gimsuy]/.exec(n);if(i)throw new TypeError(`\"${i[0]}\" is not a valid RegExp flag`)}),{type:\"string\"})),default:\"\"}}}),u(\"LogicalExpression\",{builder:[\"operator\",\"left\",\"right\"],visitor:[\"left\",\"right\"],aliases:[\"Binary\",\"Expression\"],fields:{operator:{validate:(0,c.assertOneOf)(...l.LOGICAL_OPERATORS)},left:{validate:(0,c.assertNodeType)(\"Expression\")},right:{validate:(0,c.assertNodeType)(\"Expression\")}}}),u(\"MemberExpression\",{builder:[\"object\",\"property\",\"computed\",...r.env.BABEL_TYPES_8_BREAKING?[]:[\"optional\"]],visitor:[\"object\",\"property\"],aliases:[\"Expression\",\"LVal\"],fields:Object.assign({object:{validate:(0,c.assertNodeType)(\"Expression\",\"Super\")},property:{validate:function(){const e=(0,c.assertNodeType)(\"Identifier\",\"PrivateName\"),t=(0,c.assertNodeType)(\"Expression\"),n=function(n,r,i){(n.computed?t:e)(n,r,i)};return n.oneOfNodeTypes=[\"Expression\",\"Identifier\",\"PrivateName\"],n}()},computed:{default:!1}},r.env.BABEL_TYPES_8_BREAKING?{}:{optional:{validate:(0,c.assertOneOf)(!0,!1),optional:!0}})}),u(\"NewExpression\",{inherits:\"CallExpression\"}),u(\"Program\",{visitor:[\"directives\",\"body\"],builder:[\"body\",\"directives\",\"sourceType\",\"interpreter\"],fields:{sourceFile:{validate:(0,c.assertValueType)(\"string\")},sourceType:{validate:(0,c.assertOneOf)(\"script\",\"module\"),default:\"script\"},interpreter:{validate:(0,c.assertNodeType)(\"InterpreterDirective\"),default:null,optional:!0},directives:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Directive\"))),default:[]},body:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Statement\")))}},aliases:[\"Scopable\",\"BlockParent\",\"Block\"]}),u(\"ObjectExpression\",{visitor:[\"properties\"],aliases:[\"Expression\"],fields:{properties:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"ObjectMethod\",\"ObjectProperty\",\"SpreadElement\")))}}}),u(\"ObjectMethod\",{builder:[\"kind\",\"key\",\"params\",\"body\",\"computed\",\"generator\",\"async\"],fields:Object.assign({},p(),h(),{kind:Object.assign({validate:(0,c.assertOneOf)(\"method\",\"get\",\"set\")},r.env.BABEL_TYPES_8_BREAKING?{}:{default:\"method\"}),computed:{default:!1},key:{validate:function(){const e=(0,c.assertNodeType)(\"Identifier\",\"StringLiteral\",\"NumericLiteral\",\"BigIntLiteral\"),t=(0,c.assertNodeType)(\"Expression\"),n=function(n,r,i){(n.computed?t:e)(n,r,i)};return n.oneOfNodeTypes=[\"Expression\",\"Identifier\",\"StringLiteral\",\"NumericLiteral\",\"BigIntLiteral\"],n}()},decorators:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Decorator\"))),optional:!0},body:{validate:(0,c.assertNodeType)(\"BlockStatement\")}}),visitor:[\"key\",\"params\",\"body\",\"decorators\",\"returnType\",\"typeParameters\"],aliases:[\"UserWhitespacable\",\"Function\",\"Scopable\",\"BlockParent\",\"FunctionParent\",\"Method\",\"ObjectMember\"]}),u(\"ObjectProperty\",{builder:[\"key\",\"value\",\"computed\",\"shorthand\",...r.env.BABEL_TYPES_8_BREAKING?[]:[\"decorators\"]],fields:{computed:{default:!1},key:{validate:function(){const e=(0,c.assertNodeType)(\"Identifier\",\"StringLiteral\",\"NumericLiteral\",\"BigIntLiteral\",\"DecimalLiteral\",\"PrivateName\"),t=(0,c.assertNodeType)(\"Expression\");return Object.assign((function(n,r,i){(n.computed?t:e)(n,r,i)}),{oneOfNodeTypes:[\"Expression\",\"Identifier\",\"StringLiteral\",\"NumericLiteral\",\"BigIntLiteral\",\"DecimalLiteral\",\"PrivateName\"]})}()},value:{validate:(0,c.assertNodeType)(\"Expression\",\"PatternLike\")},shorthand:{validate:(0,c.chain)((0,c.assertValueType)(\"boolean\"),Object.assign((function(e,t,n){if(r.env.BABEL_TYPES_8_BREAKING&&n&&e.computed)throw new TypeError(\"Property shorthand of ObjectProperty cannot be true if computed is true\")}),{type:\"boolean\"}),(function(e,t,n){if(r.env.BABEL_TYPES_8_BREAKING&&n&&!(0,i.default)(\"Identifier\",e.key))throw new TypeError(\"Property shorthand of ObjectProperty cannot be true if key is not an Identifier\")})),default:!1},decorators:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Decorator\"))),optional:!0}},visitor:[\"key\",\"value\",\"decorators\"],aliases:[\"UserWhitespacable\",\"Property\",\"ObjectMember\"],validate:function(){const e=(0,c.assertNodeType)(\"Identifier\",\"Pattern\",\"TSAsExpression\",\"TSSatisfiesExpression\",\"TSNonNullExpression\",\"TSTypeAssertion\"),t=(0,c.assertNodeType)(\"Expression\");return function(n,s,a){r.env.BABEL_TYPES_8_BREAKING&&((0,i.default)(\"ObjectPattern\",n)?e:t)(a,\"value\",a.value)}}()}),u(\"RestElement\",{visitor:[\"argument\",\"typeAnnotation\"],builder:[\"argument\"],aliases:[\"LVal\",\"PatternLike\"],deprecatedAlias:\"RestProperty\",fields:Object.assign({},f(),{argument:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertNodeType)(\"Identifier\",\"ArrayPattern\",\"ObjectPattern\",\"MemberExpression\",\"TSAsExpression\",\"TSSatisfiesExpression\",\"TSTypeAssertion\",\"TSNonNullExpression\"):(0,c.assertNodeType)(\"LVal\")}}),validate(e,t){if(!r.env.BABEL_TYPES_8_BREAKING)return;const n=/(\\w+)\\[(\\d+)\\]/.exec(t);if(!n)throw new Error(\"Internal Babel error: malformed key.\");const[,i,s]=n;if(e[i].length>+s+1)throw new TypeError(`RestElement must be last element of ${i}`)}}),u(\"ReturnStatement\",{visitor:[\"argument\"],aliases:[\"Statement\",\"Terminatorless\",\"CompletionStatement\"],fields:{argument:{validate:(0,c.assertNodeType)(\"Expression\"),optional:!0}}}),u(\"SequenceExpression\",{visitor:[\"expressions\"],fields:{expressions:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Expression\")))}},aliases:[\"Expression\"]}),u(\"ParenthesizedExpression\",{visitor:[\"expression\"],aliases:[\"Expression\",\"ExpressionWrapper\"],fields:{expression:{validate:(0,c.assertNodeType)(\"Expression\")}}}),u(\"SwitchCase\",{visitor:[\"test\",\"consequent\"],fields:{test:{validate:(0,c.assertNodeType)(\"Expression\"),optional:!0},consequent:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Statement\")))}}}),u(\"SwitchStatement\",{visitor:[\"discriminant\",\"cases\"],aliases:[\"Statement\",\"BlockParent\",\"Scopable\"],fields:{discriminant:{validate:(0,c.assertNodeType)(\"Expression\")},cases:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"SwitchCase\")))}}}),u(\"ThisExpression\",{aliases:[\"Expression\"]}),u(\"ThrowStatement\",{visitor:[\"argument\"],aliases:[\"Statement\",\"Terminatorless\",\"CompletionStatement\"],fields:{argument:{validate:(0,c.assertNodeType)(\"Expression\")}}}),u(\"TryStatement\",{visitor:[\"block\",\"handler\",\"finalizer\"],aliases:[\"Statement\"],fields:{block:{validate:(0,c.chain)((0,c.assertNodeType)(\"BlockStatement\"),Object.assign((function(e){if(r.env.BABEL_TYPES_8_BREAKING&&!e.handler&&!e.finalizer)throw new TypeError(\"TryStatement expects either a handler or finalizer, or both\")}),{oneOfNodeTypes:[\"BlockStatement\"]}))},handler:{optional:!0,validate:(0,c.assertNodeType)(\"CatchClause\")},finalizer:{optional:!0,validate:(0,c.assertNodeType)(\"BlockStatement\")}}}),u(\"UnaryExpression\",{builder:[\"operator\",\"argument\",\"prefix\"],fields:{prefix:{default:!0},argument:{validate:(0,c.assertNodeType)(\"Expression\")},operator:{validate:(0,c.assertOneOf)(...l.UNARY_OPERATORS)}},visitor:[\"argument\"],aliases:[\"UnaryLike\",\"Expression\"]}),u(\"UpdateExpression\",{builder:[\"operator\",\"argument\",\"prefix\"],fields:{prefix:{default:!1},argument:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.assertNodeType)(\"Identifier\",\"MemberExpression\"):(0,c.assertNodeType)(\"Expression\")},operator:{validate:(0,c.assertOneOf)(...l.UPDATE_OPERATORS)}},visitor:[\"argument\"],aliases:[\"Expression\"]}),u(\"VariableDeclaration\",{builder:[\"kind\",\"declarations\"],visitor:[\"declarations\"],aliases:[\"Statement\",\"Declaration\"],fields:{declare:{validate:(0,c.assertValueType)(\"boolean\"),optional:!0},kind:{validate:(0,c.assertOneOf)(\"var\",\"let\",\"const\",\"using\",\"await using\")},declarations:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"VariableDeclarator\")))}},validate(e,t,n){if(r.env.BABEL_TYPES_8_BREAKING&&(0,i.default)(\"ForXStatement\",e,{left:n})&&1!==n.declarations.length)throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${e.type}`)}}),u(\"VariableDeclarator\",{visitor:[\"id\",\"init\"],fields:{id:{validate:function(){if(!r.env.BABEL_TYPES_8_BREAKING)return(0,c.assertNodeType)(\"LVal\");const e=(0,c.assertNodeType)(\"Identifier\",\"ArrayPattern\",\"ObjectPattern\"),t=(0,c.assertNodeType)(\"Identifier\");return function(n,r,i){(n.init?e:t)(n,r,i)}}()},definite:{optional:!0,validate:(0,c.assertValueType)(\"boolean\")},init:{optional:!0,validate:(0,c.assertNodeType)(\"Expression\")}}}),u(\"WhileStatement\",{visitor:[\"test\",\"body\"],aliases:[\"Statement\",\"BlockParent\",\"Loop\",\"While\",\"Scopable\"],fields:{test:{validate:(0,c.assertNodeType)(\"Expression\")},body:{validate:(0,c.assertNodeType)(\"Statement\")}}}),u(\"WithStatement\",{visitor:[\"object\",\"body\"],aliases:[\"Statement\"],fields:{object:{validate:(0,c.assertNodeType)(\"Expression\")},body:{validate:(0,c.assertNodeType)(\"Statement\")}}}),u(\"AssignmentPattern\",{visitor:[\"left\",\"right\",\"decorators\"],builder:[\"left\",\"right\"],aliases:[\"Pattern\",\"PatternLike\",\"LVal\"],fields:Object.assign({},f(),{left:{validate:(0,c.assertNodeType)(\"Identifier\",\"ObjectPattern\",\"ArrayPattern\",\"MemberExpression\",\"TSAsExpression\",\"TSSatisfiesExpression\",\"TSTypeAssertion\",\"TSNonNullExpression\")},right:{validate:(0,c.assertNodeType)(\"Expression\")},decorators:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Decorator\"))),optional:!0}})}),u(\"ArrayPattern\",{visitor:[\"elements\",\"typeAnnotation\"],builder:[\"elements\"],aliases:[\"Pattern\",\"PatternLike\",\"LVal\"],fields:Object.assign({},f(),{elements:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeOrValueType)(\"null\",\"PatternLike\",\"LVal\")))}})}),u(\"ArrowFunctionExpression\",{builder:[\"params\",\"body\",\"async\"],visitor:[\"params\",\"body\",\"returnType\",\"typeParameters\"],aliases:[\"Scopable\",\"Function\",\"BlockParent\",\"FunctionParent\",\"Expression\",\"Pureish\"],fields:Object.assign({},p(),h(),{expression:{validate:(0,c.assertValueType)(\"boolean\")},body:{validate:(0,c.assertNodeType)(\"BlockStatement\",\"Expression\")},predicate:{validate:(0,c.assertNodeType)(\"DeclaredPredicate\",\"InferredPredicate\"),optional:!0}})}),u(\"ClassBody\",{visitor:[\"body\"],fields:{body:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"ClassMethod\",\"ClassPrivateMethod\",\"ClassProperty\",\"ClassPrivateProperty\",\"ClassAccessorProperty\",\"TSDeclareMethod\",\"TSIndexSignature\",\"StaticBlock\")))}}}),u(\"ClassExpression\",{builder:[\"id\",\"superClass\",\"body\",\"decorators\"],visitor:[\"id\",\"body\",\"superClass\",\"mixins\",\"typeParameters\",\"superTypeParameters\",\"implements\",\"decorators\"],aliases:[\"Scopable\",\"Class\",\"Expression\"],fields:{id:{validate:(0,c.assertNodeType)(\"Identifier\"),optional:!0},typeParameters:{validate:(0,c.assertNodeType)(\"TypeParameterDeclaration\",\"TSTypeParameterDeclaration\",\"Noop\"),optional:!0},body:{validate:(0,c.assertNodeType)(\"ClassBody\")},superClass:{optional:!0,validate:(0,c.assertNodeType)(\"Expression\")},superTypeParameters:{validate:(0,c.assertNodeType)(\"TypeParameterInstantiation\",\"TSTypeParameterInstantiation\"),optional:!0},implements:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"TSExpressionWithTypeArguments\",\"ClassImplements\"))),optional:!0},decorators:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Decorator\"))),optional:!0},mixins:{validate:(0,c.assertNodeType)(\"InterfaceExtends\"),optional:!0}}}),u(\"ClassDeclaration\",{inherits:\"ClassExpression\",aliases:[\"Scopable\",\"Class\",\"Statement\",\"Declaration\"],fields:{id:{validate:(0,c.assertNodeType)(\"Identifier\")},typeParameters:{validate:(0,c.assertNodeType)(\"TypeParameterDeclaration\",\"TSTypeParameterDeclaration\",\"Noop\"),optional:!0},body:{validate:(0,c.assertNodeType)(\"ClassBody\")},superClass:{optional:!0,validate:(0,c.assertNodeType)(\"Expression\")},superTypeParameters:{validate:(0,c.assertNodeType)(\"TypeParameterInstantiation\",\"TSTypeParameterInstantiation\"),optional:!0},implements:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"TSExpressionWithTypeArguments\",\"ClassImplements\"))),optional:!0},decorators:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Decorator\"))),optional:!0},mixins:{validate:(0,c.assertNodeType)(\"InterfaceExtends\"),optional:!0},declare:{validate:(0,c.assertValueType)(\"boolean\"),optional:!0},abstract:{validate:(0,c.assertValueType)(\"boolean\"),optional:!0}},validate:function(){const e=(0,c.assertNodeType)(\"Identifier\");return function(t,n,s){r.env.BABEL_TYPES_8_BREAKING&&((0,i.default)(\"ExportDefaultDeclaration\",t)||e(s,\"id\",s.id))}}()}),u(\"ExportAllDeclaration\",{builder:[\"source\"],visitor:[\"source\",\"attributes\",\"assertions\"],aliases:[\"Statement\",\"Declaration\",\"ImportOrExportDeclaration\",\"ExportDeclaration\"],fields:{source:{validate:(0,c.assertNodeType)(\"StringLiteral\")},exportKind:(0,c.validateOptional)((0,c.assertOneOf)(\"type\",\"value\")),attributes:{optional:!0,validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"ImportAttribute\")))},assertions:{optional:!0,validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"ImportAttribute\")))}}}),u(\"ExportDefaultDeclaration\",{visitor:[\"declaration\"],aliases:[\"Statement\",\"Declaration\",\"ImportOrExportDeclaration\",\"ExportDeclaration\"],fields:{declaration:{validate:(0,c.assertNodeType)(\"TSDeclareFunction\",\"FunctionDeclaration\",\"ClassDeclaration\",\"Expression\")},exportKind:(0,c.validateOptional)((0,c.assertOneOf)(\"value\"))}}),u(\"ExportNamedDeclaration\",{builder:[\"declaration\",\"specifiers\",\"source\"],visitor:[\"declaration\",\"specifiers\",\"source\",\"attributes\",\"assertions\"],aliases:[\"Statement\",\"Declaration\",\"ImportOrExportDeclaration\",\"ExportDeclaration\"],fields:{declaration:{optional:!0,validate:(0,c.chain)((0,c.assertNodeType)(\"Declaration\"),Object.assign((function(e,t,n){if(r.env.BABEL_TYPES_8_BREAKING&&n&&e.specifiers.length)throw new TypeError(\"Only declaration or specifiers is allowed on ExportNamedDeclaration\")}),{oneOfNodeTypes:[\"Declaration\"]}),(function(e,t,n){if(r.env.BABEL_TYPES_8_BREAKING&&n&&e.source)throw new TypeError(\"Cannot export a declaration from a source\")}))},attributes:{optional:!0,validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"ImportAttribute\")))},assertions:{optional:!0,validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"ImportAttribute\")))},specifiers:{default:[],validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)(function(){const e=(0,c.assertNodeType)(\"ExportSpecifier\",\"ExportDefaultSpecifier\",\"ExportNamespaceSpecifier\"),t=(0,c.assertNodeType)(\"ExportSpecifier\");return r.env.BABEL_TYPES_8_BREAKING?function(n,r,i){(n.source?e:t)(n,r,i)}:e}()))},source:{validate:(0,c.assertNodeType)(\"StringLiteral\"),optional:!0},exportKind:(0,c.validateOptional)((0,c.assertOneOf)(\"type\",\"value\"))}}),u(\"ExportSpecifier\",{visitor:[\"local\",\"exported\"],aliases:[\"ModuleSpecifier\"],fields:{local:{validate:(0,c.assertNodeType)(\"Identifier\")},exported:{validate:(0,c.assertNodeType)(\"Identifier\",\"StringLiteral\")},exportKind:{validate:(0,c.assertOneOf)(\"type\",\"value\"),optional:!0}}}),u(\"ForOfStatement\",{visitor:[\"left\",\"right\",\"body\"],builder:[\"left\",\"right\",\"body\",\"await\"],aliases:[\"Scopable\",\"Statement\",\"For\",\"BlockParent\",\"Loop\",\"ForXStatement\"],fields:{left:{validate:function(){if(!r.env.BABEL_TYPES_8_BREAKING)return(0,c.assertNodeType)(\"VariableDeclaration\",\"LVal\");const e=(0,c.assertNodeType)(\"VariableDeclaration\"),t=(0,c.assertNodeType)(\"Identifier\",\"MemberExpression\",\"ArrayPattern\",\"ObjectPattern\",\"TSAsExpression\",\"TSSatisfiesExpression\",\"TSTypeAssertion\",\"TSNonNullExpression\");return function(n,r,s){(0,i.default)(\"VariableDeclaration\",s)?e(n,r,s):t(n,r,s)}}()},right:{validate:(0,c.assertNodeType)(\"Expression\")},body:{validate:(0,c.assertNodeType)(\"Statement\")},await:{default:!1}}}),u(\"ImportDeclaration\",{builder:[\"specifiers\",\"source\"],visitor:[\"specifiers\",\"source\",\"attributes\",\"assertions\"],aliases:[\"Statement\",\"Declaration\",\"ImportOrExportDeclaration\"],fields:{attributes:{optional:!0,validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"ImportAttribute\")))},assertions:{optional:!0,validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"ImportAttribute\")))},module:{optional:!0,validate:(0,c.assertValueType)(\"boolean\")},specifiers:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"ImportSpecifier\",\"ImportDefaultSpecifier\",\"ImportNamespaceSpecifier\")))},source:{validate:(0,c.assertNodeType)(\"StringLiteral\")},importKind:{validate:(0,c.assertOneOf)(\"type\",\"typeof\",\"value\"),optional:!0}}}),u(\"ImportDefaultSpecifier\",{visitor:[\"local\"],aliases:[\"ModuleSpecifier\"],fields:{local:{validate:(0,c.assertNodeType)(\"Identifier\")}}}),u(\"ImportNamespaceSpecifier\",{visitor:[\"local\"],aliases:[\"ModuleSpecifier\"],fields:{local:{validate:(0,c.assertNodeType)(\"Identifier\")}}}),u(\"ImportSpecifier\",{visitor:[\"local\",\"imported\"],aliases:[\"ModuleSpecifier\"],fields:{local:{validate:(0,c.assertNodeType)(\"Identifier\")},imported:{validate:(0,c.assertNodeType)(\"Identifier\",\"StringLiteral\")},importKind:{validate:(0,c.assertOneOf)(\"type\",\"typeof\",\"value\"),optional:!0}}}),u(\"MetaProperty\",{visitor:[\"meta\",\"property\"],aliases:[\"Expression\"],fields:{meta:{validate:(0,c.chain)((0,c.assertNodeType)(\"Identifier\"),Object.assign((function(e,t,n){if(!r.env.BABEL_TYPES_8_BREAKING)return;let s;switch(n.name){case\"function\":s=\"sent\";break;case\"new\":s=\"target\";break;case\"import\":s=\"meta\"}if(!(0,i.default)(\"Identifier\",e.property,{name:s}))throw new TypeError(\"Unrecognised MetaProperty\")}),{oneOfNodeTypes:[\"Identifier\"]}))},property:{validate:(0,c.assertNodeType)(\"Identifier\")}}});const y=()=>({abstract:{validate:(0,c.assertValueType)(\"boolean\"),optional:!0},accessibility:{validate:(0,c.assertOneOf)(\"public\",\"private\",\"protected\"),optional:!0},static:{default:!1},override:{default:!1},computed:{default:!1},optional:{validate:(0,c.assertValueType)(\"boolean\"),optional:!0},key:{validate:(0,c.chain)(function(){const e=(0,c.assertNodeType)(\"Identifier\",\"StringLiteral\",\"NumericLiteral\"),t=(0,c.assertNodeType)(\"Expression\");return function(n,r,i){(n.computed?t:e)(n,r,i)}}(),(0,c.assertNodeType)(\"Identifier\",\"StringLiteral\",\"NumericLiteral\",\"BigIntLiteral\",\"Expression\"))}});t.classMethodOrPropertyCommon=y;const m=()=>Object.assign({},p(),y(),{params:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Identifier\",\"Pattern\",\"RestElement\",\"TSParameterProperty\")))},kind:{validate:(0,c.assertOneOf)(\"get\",\"set\",\"method\",\"constructor\"),default:\"method\"},access:{validate:(0,c.chain)((0,c.assertValueType)(\"string\"),(0,c.assertOneOf)(\"public\",\"private\",\"protected\")),optional:!0},decorators:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Decorator\"))),optional:!0}});t.classMethodOrDeclareMethodCommon=m,u(\"ClassMethod\",{aliases:[\"Function\",\"Scopable\",\"BlockParent\",\"FunctionParent\",\"Method\"],builder:[\"kind\",\"key\",\"params\",\"body\",\"computed\",\"static\",\"generator\",\"async\"],visitor:[\"key\",\"params\",\"body\",\"decorators\",\"returnType\",\"typeParameters\"],fields:Object.assign({},m(),h(),{body:{validate:(0,c.assertNodeType)(\"BlockStatement\")}})}),u(\"ObjectPattern\",{visitor:[\"properties\",\"typeAnnotation\",\"decorators\"],builder:[\"properties\"],aliases:[\"Pattern\",\"PatternLike\",\"LVal\"],fields:Object.assign({},f(),{properties:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"RestElement\",\"ObjectProperty\")))}})}),u(\"SpreadElement\",{visitor:[\"argument\"],aliases:[\"UnaryLike\"],deprecatedAlias:\"SpreadProperty\",fields:{argument:{validate:(0,c.assertNodeType)(\"Expression\")}}}),u(\"Super\",{aliases:[\"Expression\"]}),u(\"TaggedTemplateExpression\",{visitor:[\"tag\",\"quasi\",\"typeParameters\"],builder:[\"tag\",\"quasi\"],aliases:[\"Expression\"],fields:{tag:{validate:(0,c.assertNodeType)(\"Expression\")},quasi:{validate:(0,c.assertNodeType)(\"TemplateLiteral\")},typeParameters:{validate:(0,c.assertNodeType)(\"TypeParameterInstantiation\",\"TSTypeParameterInstantiation\"),optional:!0}}}),u(\"TemplateElement\",{builder:[\"value\",\"tail\"],fields:{value:{validate:(0,c.chain)((0,c.assertShape)({raw:{validate:(0,c.assertValueType)(\"string\")},cooked:{validate:(0,c.assertValueType)(\"string\"),optional:!0}}),(function(e){const t=e.value.raw;let n=!1;const r=()=>{throw new Error(\"Internal @babel/types error.\")},{str:i,firstInvalidLoc:s}=(0,o.readStringContents)(\"template\",t,0,0,0,{unterminated(){n=!0},strictNumericEscape:r,invalidEscapeSequence:r,numericSeparatorInEscapeSequence:r,unexpectedNumericSeparator:r,invalidDigit:r,invalidCodePoint:r});if(!n)throw new Error(\"Invalid raw\");e.value.cooked=s?null:i}))},tail:{default:!1}}}),u(\"TemplateLiteral\",{visitor:[\"quasis\",\"expressions\"],aliases:[\"Expression\",\"Literal\"],fields:{quasis:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"TemplateElement\")))},expressions:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Expression\",\"TSType\")),(function(e,t,n){if(e.quasis.length!==n.length+1)throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of expressions.\\nExpected ${n.length+1} quasis but got ${e.quasis.length}`)}))}}}),u(\"YieldExpression\",{builder:[\"argument\",\"delegate\"],visitor:[\"argument\"],aliases:[\"Expression\",\"Terminatorless\"],fields:{delegate:{validate:(0,c.chain)((0,c.assertValueType)(\"boolean\"),Object.assign((function(e,t,n){if(r.env.BABEL_TYPES_8_BREAKING&&n&&!e.argument)throw new TypeError(\"Property delegate of YieldExpression cannot be true if there is no argument\")}),{type:\"boolean\"})),default:!1},argument:{optional:!0,validate:(0,c.assertNodeType)(\"Expression\")}}}),u(\"AwaitExpression\",{builder:[\"argument\"],visitor:[\"argument\"],aliases:[\"Expression\",\"Terminatorless\"],fields:{argument:{validate:(0,c.assertNodeType)(\"Expression\")}}}),u(\"Import\",{aliases:[\"Expression\"]}),u(\"BigIntLiteral\",{builder:[\"value\"],fields:{value:{validate:(0,c.assertValueType)(\"string\")}},aliases:[\"Expression\",\"Pureish\",\"Literal\",\"Immutable\"]}),u(\"ExportNamespaceSpecifier\",{visitor:[\"exported\"],aliases:[\"ModuleSpecifier\"],fields:{exported:{validate:(0,c.assertNodeType)(\"Identifier\")}}}),u(\"OptionalMemberExpression\",{builder:[\"object\",\"property\",\"computed\",\"optional\"],visitor:[\"object\",\"property\"],aliases:[\"Expression\"],fields:{object:{validate:(0,c.assertNodeType)(\"Expression\")},property:{validate:function(){const e=(0,c.assertNodeType)(\"Identifier\"),t=(0,c.assertNodeType)(\"Expression\");return Object.assign((function(n,r,i){(n.computed?t:e)(n,r,i)}),{oneOfNodeTypes:[\"Expression\",\"Identifier\"]})}()},computed:{default:!1},optional:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertValueType)(\"boolean\"),(0,c.assertOptionalChainStart)()):(0,c.assertValueType)(\"boolean\")}}}),u(\"OptionalCallExpression\",{visitor:[\"callee\",\"arguments\",\"typeParameters\",\"typeArguments\"],builder:[\"callee\",\"arguments\",\"optional\"],aliases:[\"Expression\"],fields:{callee:{validate:(0,c.assertNodeType)(\"Expression\")},arguments:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Expression\",\"SpreadElement\",\"JSXNamespacedName\",\"ArgumentPlaceholder\")))},optional:{validate:r.env.BABEL_TYPES_8_BREAKING?(0,c.chain)((0,c.assertValueType)(\"boolean\"),(0,c.assertOptionalChainStart)()):(0,c.assertValueType)(\"boolean\")},typeArguments:{validate:(0,c.assertNodeType)(\"TypeParameterInstantiation\"),optional:!0},typeParameters:{validate:(0,c.assertNodeType)(\"TSTypeParameterInstantiation\"),optional:!0}}}),u(\"ClassProperty\",{visitor:[\"key\",\"value\",\"typeAnnotation\",\"decorators\"],builder:[\"key\",\"value\",\"typeAnnotation\",\"decorators\",\"computed\",\"static\"],aliases:[\"Property\"],fields:Object.assign({},y(),{value:{validate:(0,c.assertNodeType)(\"Expression\"),optional:!0},definite:{validate:(0,c.assertValueType)(\"boolean\"),optional:!0},typeAnnotation:{validate:(0,c.assertNodeType)(\"TypeAnnotation\",\"TSTypeAnnotation\",\"Noop\"),optional:!0},decorators:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Decorator\"))),optional:!0},readonly:{validate:(0,c.assertValueType)(\"boolean\"),optional:!0},declare:{validate:(0,c.assertValueType)(\"boolean\"),optional:!0},variance:{validate:(0,c.assertNodeType)(\"Variance\"),optional:!0}})}),u(\"ClassAccessorProperty\",{visitor:[\"key\",\"value\",\"typeAnnotation\",\"decorators\"],builder:[\"key\",\"value\",\"typeAnnotation\",\"decorators\",\"computed\",\"static\"],aliases:[\"Property\",\"Accessor\"],fields:Object.assign({},y(),{key:{validate:(0,c.chain)(function(){const e=(0,c.assertNodeType)(\"Identifier\",\"StringLiteral\",\"NumericLiteral\",\"BigIntLiteral\",\"PrivateName\"),t=(0,c.assertNodeType)(\"Expression\");return function(n,r,i){(n.computed?t:e)(n,r,i)}}(),(0,c.assertNodeType)(\"Identifier\",\"StringLiteral\",\"NumericLiteral\",\"BigIntLiteral\",\"Expression\",\"PrivateName\"))},value:{validate:(0,c.assertNodeType)(\"Expression\"),optional:!0},definite:{validate:(0,c.assertValueType)(\"boolean\"),optional:!0},typeAnnotation:{validate:(0,c.assertNodeType)(\"TypeAnnotation\",\"TSTypeAnnotation\",\"Noop\"),optional:!0},decorators:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Decorator\"))),optional:!0},readonly:{validate:(0,c.assertValueType)(\"boolean\"),optional:!0},declare:{validate:(0,c.assertValueType)(\"boolean\"),optional:!0},variance:{validate:(0,c.assertNodeType)(\"Variance\"),optional:!0}})}),u(\"ClassPrivateProperty\",{visitor:[\"key\",\"value\",\"decorators\",\"typeAnnotation\"],builder:[\"key\",\"value\",\"decorators\",\"static\"],aliases:[\"Property\",\"Private\"],fields:{key:{validate:(0,c.assertNodeType)(\"PrivateName\")},value:{validate:(0,c.assertNodeType)(\"Expression\"),optional:!0},typeAnnotation:{validate:(0,c.assertNodeType)(\"TypeAnnotation\",\"TSTypeAnnotation\",\"Noop\"),optional:!0},decorators:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Decorator\"))),optional:!0},static:{validate:(0,c.assertValueType)(\"boolean\"),default:!1},readonly:{validate:(0,c.assertValueType)(\"boolean\"),optional:!0},definite:{validate:(0,c.assertValueType)(\"boolean\"),optional:!0},variance:{validate:(0,c.assertNodeType)(\"Variance\"),optional:!0}}}),u(\"ClassPrivateMethod\",{builder:[\"kind\",\"key\",\"params\",\"body\",\"static\"],visitor:[\"key\",\"params\",\"body\",\"decorators\",\"returnType\",\"typeParameters\"],aliases:[\"Function\",\"Scopable\",\"BlockParent\",\"FunctionParent\",\"Method\",\"Private\"],fields:Object.assign({},m(),h(),{kind:{validate:(0,c.assertOneOf)(\"get\",\"set\",\"method\"),default:\"method\"},key:{validate:(0,c.assertNodeType)(\"PrivateName\")},body:{validate:(0,c.assertNodeType)(\"BlockStatement\")}})}),u(\"PrivateName\",{visitor:[\"id\"],aliases:[\"Private\"],fields:{id:{validate:(0,c.assertNodeType)(\"Identifier\")}}}),u(\"StaticBlock\",{visitor:[\"body\"],fields:{body:{validate:(0,c.chain)((0,c.assertValueType)(\"array\"),(0,c.assertEach)((0,c.assertNodeType)(\"Statement\")))}},aliases:[\"Scopable\",\"BlockParent\",\"FunctionParent\"]})},6937:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.DEPRECATED_ALIASES=void 0,t.DEPRECATED_ALIASES={ModuleDeclaration:\"ImportOrExportDeclaration\"}},1190:(e,t,n)=>{\"use strict\";var r=n(4155),i=n(1514);(0,i.default)(\"ArgumentPlaceholder\",{}),(0,i.default)(\"BindExpression\",{visitor:[\"object\",\"callee\"],aliases:[\"Expression\"],fields:r.env.BABEL_TYPES_8_BREAKING?{object:{validate:(0,i.assertNodeType)(\"Expression\")},callee:{validate:(0,i.assertNodeType)(\"Expression\")}}:{object:{validate:Object.assign((()=>{}),{oneOfNodeTypes:[\"Expression\"]})},callee:{validate:Object.assign((()=>{}),{oneOfNodeTypes:[\"Expression\"]})}}}),(0,i.default)(\"ImportAttribute\",{visitor:[\"key\",\"value\"],fields:{key:{validate:(0,i.assertNodeType)(\"Identifier\",\"StringLiteral\")},value:{validate:(0,i.assertNodeType)(\"StringLiteral\")}}}),(0,i.default)(\"Decorator\",{visitor:[\"expression\"],fields:{expression:{validate:(0,i.assertNodeType)(\"Expression\")}}}),(0,i.default)(\"DoExpression\",{visitor:[\"body\"],builder:[\"body\",\"async\"],aliases:[\"Expression\"],fields:{body:{validate:(0,i.assertNodeType)(\"BlockStatement\")},async:{validate:(0,i.assertValueType)(\"boolean\"),default:!1}}}),(0,i.default)(\"ExportDefaultSpecifier\",{visitor:[\"exported\"],aliases:[\"ModuleSpecifier\"],fields:{exported:{validate:(0,i.assertNodeType)(\"Identifier\")}}}),(0,i.default)(\"RecordExpression\",{visitor:[\"properties\"],aliases:[\"Expression\"],fields:{properties:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"ObjectProperty\",\"SpreadElement\")))}}}),(0,i.default)(\"TupleExpression\",{fields:{elements:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"Expression\",\"SpreadElement\"))),default:[]}},visitor:[\"elements\"],aliases:[\"Expression\"]}),(0,i.default)(\"DecimalLiteral\",{builder:[\"value\"],fields:{value:{validate:(0,i.assertValueType)(\"string\")}},aliases:[\"Expression\",\"Pureish\",\"Literal\",\"Immutable\"]}),(0,i.default)(\"ModuleExpression\",{visitor:[\"body\"],fields:{body:{validate:(0,i.assertNodeType)(\"Program\")}},aliases:[\"Expression\"]}),(0,i.default)(\"TopicReference\",{aliases:[\"Expression\"]}),(0,i.default)(\"PipelineTopicExpression\",{builder:[\"expression\"],visitor:[\"expression\"],fields:{expression:{validate:(0,i.assertNodeType)(\"Expression\")}},aliases:[\"Expression\"]}),(0,i.default)(\"PipelineBareFunction\",{builder:[\"callee\"],visitor:[\"callee\"],fields:{callee:{validate:(0,i.assertNodeType)(\"Expression\")}},aliases:[\"Expression\"]}),(0,i.default)(\"PipelinePrimaryTopicReference\",{aliases:[\"Expression\"]})},3940:(e,t,n)=>{\"use strict\";var r=n(1514);const i=(0,r.defineAliasedType)(\"Flow\"),s=e=>{const t=\"DeclareClass\"===e;i(e,{builder:[\"id\",\"typeParameters\",\"extends\",\"body\"],visitor:[\"id\",\"typeParameters\",\"extends\",...t?[\"mixins\",\"implements\"]:[],\"body\"],aliases:[\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:Object.assign({id:(0,r.validateType)(\"Identifier\"),typeParameters:(0,r.validateOptionalType)(\"TypeParameterDeclaration\"),extends:(0,r.validateOptional)((0,r.arrayOfType)(\"InterfaceExtends\"))},t?{mixins:(0,r.validateOptional)((0,r.arrayOfType)(\"InterfaceExtends\")),implements:(0,r.validateOptional)((0,r.arrayOfType)(\"ClassImplements\"))}:{},{body:(0,r.validateType)(\"ObjectTypeAnnotation\")})})};i(\"AnyTypeAnnotation\",{aliases:[\"FlowType\",\"FlowBaseAnnotation\"]}),i(\"ArrayTypeAnnotation\",{visitor:[\"elementType\"],aliases:[\"FlowType\"],fields:{elementType:(0,r.validateType)(\"FlowType\")}}),i(\"BooleanTypeAnnotation\",{aliases:[\"FlowType\",\"FlowBaseAnnotation\"]}),i(\"BooleanLiteralTypeAnnotation\",{builder:[\"value\"],aliases:[\"FlowType\"],fields:{value:(0,r.validate)((0,r.assertValueType)(\"boolean\"))}}),i(\"NullLiteralTypeAnnotation\",{aliases:[\"FlowType\",\"FlowBaseAnnotation\"]}),i(\"ClassImplements\",{visitor:[\"id\",\"typeParameters\"],fields:{id:(0,r.validateType)(\"Identifier\"),typeParameters:(0,r.validateOptionalType)(\"TypeParameterInstantiation\")}}),s(\"DeclareClass\"),i(\"DeclareFunction\",{visitor:[\"id\"],aliases:[\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{id:(0,r.validateType)(\"Identifier\"),predicate:(0,r.validateOptionalType)(\"DeclaredPredicate\")}}),s(\"DeclareInterface\"),i(\"DeclareModule\",{builder:[\"id\",\"body\",\"kind\"],visitor:[\"id\",\"body\"],aliases:[\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{id:(0,r.validateType)([\"Identifier\",\"StringLiteral\"]),body:(0,r.validateType)(\"BlockStatement\"),kind:(0,r.validateOptional)((0,r.assertOneOf)(\"CommonJS\",\"ES\"))}}),i(\"DeclareModuleExports\",{visitor:[\"typeAnnotation\"],aliases:[\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{typeAnnotation:(0,r.validateType)(\"TypeAnnotation\")}}),i(\"DeclareTypeAlias\",{visitor:[\"id\",\"typeParameters\",\"right\"],aliases:[\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{id:(0,r.validateType)(\"Identifier\"),typeParameters:(0,r.validateOptionalType)(\"TypeParameterDeclaration\"),right:(0,r.validateType)(\"FlowType\")}}),i(\"DeclareOpaqueType\",{visitor:[\"id\",\"typeParameters\",\"supertype\"],aliases:[\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{id:(0,r.validateType)(\"Identifier\"),typeParameters:(0,r.validateOptionalType)(\"TypeParameterDeclaration\"),supertype:(0,r.validateOptionalType)(\"FlowType\"),impltype:(0,r.validateOptionalType)(\"FlowType\")}}),i(\"DeclareVariable\",{visitor:[\"id\"],aliases:[\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{id:(0,r.validateType)(\"Identifier\")}}),i(\"DeclareExportDeclaration\",{visitor:[\"declaration\",\"specifiers\",\"source\"],aliases:[\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{declaration:(0,r.validateOptionalType)(\"Flow\"),specifiers:(0,r.validateOptional)((0,r.arrayOfType)([\"ExportSpecifier\",\"ExportNamespaceSpecifier\"])),source:(0,r.validateOptionalType)(\"StringLiteral\"),default:(0,r.validateOptional)((0,r.assertValueType)(\"boolean\"))}}),i(\"DeclareExportAllDeclaration\",{visitor:[\"source\"],aliases:[\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{source:(0,r.validateType)(\"StringLiteral\"),exportKind:(0,r.validateOptional)((0,r.assertOneOf)(\"type\",\"value\"))}}),i(\"DeclaredPredicate\",{visitor:[\"value\"],aliases:[\"FlowPredicate\"],fields:{value:(0,r.validateType)(\"Flow\")}}),i(\"ExistsTypeAnnotation\",{aliases:[\"FlowType\"]}),i(\"FunctionTypeAnnotation\",{visitor:[\"typeParameters\",\"params\",\"rest\",\"returnType\"],aliases:[\"FlowType\"],fields:{typeParameters:(0,r.validateOptionalType)(\"TypeParameterDeclaration\"),params:(0,r.validate)((0,r.arrayOfType)(\"FunctionTypeParam\")),rest:(0,r.validateOptionalType)(\"FunctionTypeParam\"),this:(0,r.validateOptionalType)(\"FunctionTypeParam\"),returnType:(0,r.validateType)(\"FlowType\")}}),i(\"FunctionTypeParam\",{visitor:[\"name\",\"typeAnnotation\"],fields:{name:(0,r.validateOptionalType)(\"Identifier\"),typeAnnotation:(0,r.validateType)(\"FlowType\"),optional:(0,r.validateOptional)((0,r.assertValueType)(\"boolean\"))}}),i(\"GenericTypeAnnotation\",{visitor:[\"id\",\"typeParameters\"],aliases:[\"FlowType\"],fields:{id:(0,r.validateType)([\"Identifier\",\"QualifiedTypeIdentifier\"]),typeParameters:(0,r.validateOptionalType)(\"TypeParameterInstantiation\")}}),i(\"InferredPredicate\",{aliases:[\"FlowPredicate\"]}),i(\"InterfaceExtends\",{visitor:[\"id\",\"typeParameters\"],fields:{id:(0,r.validateType)([\"Identifier\",\"QualifiedTypeIdentifier\"]),typeParameters:(0,r.validateOptionalType)(\"TypeParameterInstantiation\")}}),s(\"InterfaceDeclaration\"),i(\"InterfaceTypeAnnotation\",{visitor:[\"extends\",\"body\"],aliases:[\"FlowType\"],fields:{extends:(0,r.validateOptional)((0,r.arrayOfType)(\"InterfaceExtends\")),body:(0,r.validateType)(\"ObjectTypeAnnotation\")}}),i(\"IntersectionTypeAnnotation\",{visitor:[\"types\"],aliases:[\"FlowType\"],fields:{types:(0,r.validate)((0,r.arrayOfType)(\"FlowType\"))}}),i(\"MixedTypeAnnotation\",{aliases:[\"FlowType\",\"FlowBaseAnnotation\"]}),i(\"EmptyTypeAnnotation\",{aliases:[\"FlowType\",\"FlowBaseAnnotation\"]}),i(\"NullableTypeAnnotation\",{visitor:[\"typeAnnotation\"],aliases:[\"FlowType\"],fields:{typeAnnotation:(0,r.validateType)(\"FlowType\")}}),i(\"NumberLiteralTypeAnnotation\",{builder:[\"value\"],aliases:[\"FlowType\"],fields:{value:(0,r.validate)((0,r.assertValueType)(\"number\"))}}),i(\"NumberTypeAnnotation\",{aliases:[\"FlowType\",\"FlowBaseAnnotation\"]}),i(\"ObjectTypeAnnotation\",{visitor:[\"properties\",\"indexers\",\"callProperties\",\"internalSlots\"],aliases:[\"FlowType\"],builder:[\"properties\",\"indexers\",\"callProperties\",\"internalSlots\",\"exact\"],fields:{properties:(0,r.validate)((0,r.arrayOfType)([\"ObjectTypeProperty\",\"ObjectTypeSpreadProperty\"])),indexers:{validate:(0,r.arrayOfType)(\"ObjectTypeIndexer\"),optional:!0,default:[]},callProperties:{validate:(0,r.arrayOfType)(\"ObjectTypeCallProperty\"),optional:!0,default:[]},internalSlots:{validate:(0,r.arrayOfType)(\"ObjectTypeInternalSlot\"),optional:!0,default:[]},exact:{validate:(0,r.assertValueType)(\"boolean\"),default:!1},inexact:(0,r.validateOptional)((0,r.assertValueType)(\"boolean\"))}}),i(\"ObjectTypeInternalSlot\",{visitor:[\"id\",\"value\",\"optional\",\"static\",\"method\"],aliases:[\"UserWhitespacable\"],fields:{id:(0,r.validateType)(\"Identifier\"),value:(0,r.validateType)(\"FlowType\"),optional:(0,r.validate)((0,r.assertValueType)(\"boolean\")),static:(0,r.validate)((0,r.assertValueType)(\"boolean\")),method:(0,r.validate)((0,r.assertValueType)(\"boolean\"))}}),i(\"ObjectTypeCallProperty\",{visitor:[\"value\"],aliases:[\"UserWhitespacable\"],fields:{value:(0,r.validateType)(\"FlowType\"),static:(0,r.validate)((0,r.assertValueType)(\"boolean\"))}}),i(\"ObjectTypeIndexer\",{visitor:[\"id\",\"key\",\"value\",\"variance\"],aliases:[\"UserWhitespacable\"],fields:{id:(0,r.validateOptionalType)(\"Identifier\"),key:(0,r.validateType)(\"FlowType\"),value:(0,r.validateType)(\"FlowType\"),static:(0,r.validate)((0,r.assertValueType)(\"boolean\")),variance:(0,r.validateOptionalType)(\"Variance\")}}),i(\"ObjectTypeProperty\",{visitor:[\"key\",\"value\",\"variance\"],aliases:[\"UserWhitespacable\"],fields:{key:(0,r.validateType)([\"Identifier\",\"StringLiteral\"]),value:(0,r.validateType)(\"FlowType\"),kind:(0,r.validate)((0,r.assertOneOf)(\"init\",\"get\",\"set\")),static:(0,r.validate)((0,r.assertValueType)(\"boolean\")),proto:(0,r.validate)((0,r.assertValueType)(\"boolean\")),optional:(0,r.validate)((0,r.assertValueType)(\"boolean\")),variance:(0,r.validateOptionalType)(\"Variance\"),method:(0,r.validate)((0,r.assertValueType)(\"boolean\"))}}),i(\"ObjectTypeSpreadProperty\",{visitor:[\"argument\"],aliases:[\"UserWhitespacable\"],fields:{argument:(0,r.validateType)(\"FlowType\")}}),i(\"OpaqueType\",{visitor:[\"id\",\"typeParameters\",\"supertype\",\"impltype\"],aliases:[\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{id:(0,r.validateType)(\"Identifier\"),typeParameters:(0,r.validateOptionalType)(\"TypeParameterDeclaration\"),supertype:(0,r.validateOptionalType)(\"FlowType\"),impltype:(0,r.validateType)(\"FlowType\")}}),i(\"QualifiedTypeIdentifier\",{visitor:[\"id\",\"qualification\"],fields:{id:(0,r.validateType)(\"Identifier\"),qualification:(0,r.validateType)([\"Identifier\",\"QualifiedTypeIdentifier\"])}}),i(\"StringLiteralTypeAnnotation\",{builder:[\"value\"],aliases:[\"FlowType\"],fields:{value:(0,r.validate)((0,r.assertValueType)(\"string\"))}}),i(\"StringTypeAnnotation\",{aliases:[\"FlowType\",\"FlowBaseAnnotation\"]}),i(\"SymbolTypeAnnotation\",{aliases:[\"FlowType\",\"FlowBaseAnnotation\"]}),i(\"ThisTypeAnnotation\",{aliases:[\"FlowType\",\"FlowBaseAnnotation\"]}),i(\"TupleTypeAnnotation\",{visitor:[\"types\"],aliases:[\"FlowType\"],fields:{types:(0,r.validate)((0,r.arrayOfType)(\"FlowType\"))}}),i(\"TypeofTypeAnnotation\",{visitor:[\"argument\"],aliases:[\"FlowType\"],fields:{argument:(0,r.validateType)(\"FlowType\")}}),i(\"TypeAlias\",{visitor:[\"id\",\"typeParameters\",\"right\"],aliases:[\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{id:(0,r.validateType)(\"Identifier\"),typeParameters:(0,r.validateOptionalType)(\"TypeParameterDeclaration\"),right:(0,r.validateType)(\"FlowType\")}}),i(\"TypeAnnotation\",{visitor:[\"typeAnnotation\"],fields:{typeAnnotation:(0,r.validateType)(\"FlowType\")}}),i(\"TypeCastExpression\",{visitor:[\"expression\",\"typeAnnotation\"],aliases:[\"ExpressionWrapper\",\"Expression\"],fields:{expression:(0,r.validateType)(\"Expression\"),typeAnnotation:(0,r.validateType)(\"TypeAnnotation\")}}),i(\"TypeParameter\",{visitor:[\"bound\",\"default\",\"variance\"],fields:{name:(0,r.validate)((0,r.assertValueType)(\"string\")),bound:(0,r.validateOptionalType)(\"TypeAnnotation\"),default:(0,r.validateOptionalType)(\"FlowType\"),variance:(0,r.validateOptionalType)(\"Variance\")}}),i(\"TypeParameterDeclaration\",{visitor:[\"params\"],fields:{params:(0,r.validate)((0,r.arrayOfType)(\"TypeParameter\"))}}),i(\"TypeParameterInstantiation\",{visitor:[\"params\"],fields:{params:(0,r.validate)((0,r.arrayOfType)(\"FlowType\"))}}),i(\"UnionTypeAnnotation\",{visitor:[\"types\"],aliases:[\"FlowType\"],fields:{types:(0,r.validate)((0,r.arrayOfType)(\"FlowType\"))}}),i(\"Variance\",{builder:[\"kind\"],fields:{kind:(0,r.validate)((0,r.assertOneOf)(\"minus\",\"plus\"))}}),i(\"VoidTypeAnnotation\",{aliases:[\"FlowType\",\"FlowBaseAnnotation\"]}),i(\"EnumDeclaration\",{aliases:[\"Statement\",\"Declaration\"],visitor:[\"id\",\"body\"],fields:{id:(0,r.validateType)(\"Identifier\"),body:(0,r.validateType)([\"EnumBooleanBody\",\"EnumNumberBody\",\"EnumStringBody\",\"EnumSymbolBody\"])}}),i(\"EnumBooleanBody\",{aliases:[\"EnumBody\"],visitor:[\"members\"],fields:{explicitType:(0,r.validate)((0,r.assertValueType)(\"boolean\")),members:(0,r.validateArrayOfType)(\"EnumBooleanMember\"),hasUnknownMembers:(0,r.validate)((0,r.assertValueType)(\"boolean\"))}}),i(\"EnumNumberBody\",{aliases:[\"EnumBody\"],visitor:[\"members\"],fields:{explicitType:(0,r.validate)((0,r.assertValueType)(\"boolean\")),members:(0,r.validateArrayOfType)(\"EnumNumberMember\"),hasUnknownMembers:(0,r.validate)((0,r.assertValueType)(\"boolean\"))}}),i(\"EnumStringBody\",{aliases:[\"EnumBody\"],visitor:[\"members\"],fields:{explicitType:(0,r.validate)((0,r.assertValueType)(\"boolean\")),members:(0,r.validateArrayOfType)([\"EnumStringMember\",\"EnumDefaultedMember\"]),hasUnknownMembers:(0,r.validate)((0,r.assertValueType)(\"boolean\"))}}),i(\"EnumSymbolBody\",{aliases:[\"EnumBody\"],visitor:[\"members\"],fields:{members:(0,r.validateArrayOfType)(\"EnumDefaultedMember\"),hasUnknownMembers:(0,r.validate)((0,r.assertValueType)(\"boolean\"))}}),i(\"EnumBooleanMember\",{aliases:[\"EnumMember\"],visitor:[\"id\"],fields:{id:(0,r.validateType)(\"Identifier\"),init:(0,r.validateType)(\"BooleanLiteral\")}}),i(\"EnumNumberMember\",{aliases:[\"EnumMember\"],visitor:[\"id\",\"init\"],fields:{id:(0,r.validateType)(\"Identifier\"),init:(0,r.validateType)(\"NumericLiteral\")}}),i(\"EnumStringMember\",{aliases:[\"EnumMember\"],visitor:[\"id\",\"init\"],fields:{id:(0,r.validateType)(\"Identifier\"),init:(0,r.validateType)(\"StringLiteral\")}}),i(\"EnumDefaultedMember\",{aliases:[\"EnumMember\"],visitor:[\"id\"],fields:{id:(0,r.validateType)(\"Identifier\")}}),i(\"IndexedAccessType\",{visitor:[\"objectType\",\"indexType\"],aliases:[\"FlowType\"],fields:{objectType:(0,r.validateType)(\"FlowType\"),indexType:(0,r.validateType)(\"FlowType\")}}),i(\"OptionalIndexedAccessType\",{visitor:[\"objectType\",\"indexType\"],aliases:[\"FlowType\"],fields:{objectType:(0,r.validateType)(\"FlowType\"),indexType:(0,r.validateType)(\"FlowType\"),optional:(0,r.validate)((0,r.assertValueType)(\"boolean\"))}})},1678:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),Object.defineProperty(t,\"ALIAS_KEYS\",{enumerable:!0,get:function(){return i.ALIAS_KEYS}}),Object.defineProperty(t,\"BUILDER_KEYS\",{enumerable:!0,get:function(){return i.BUILDER_KEYS}}),Object.defineProperty(t,\"DEPRECATED_ALIASES\",{enumerable:!0,get:function(){return a.DEPRECATED_ALIASES}}),Object.defineProperty(t,\"DEPRECATED_KEYS\",{enumerable:!0,get:function(){return i.DEPRECATED_KEYS}}),Object.defineProperty(t,\"FLIPPED_ALIAS_KEYS\",{enumerable:!0,get:function(){return i.FLIPPED_ALIAS_KEYS}}),Object.defineProperty(t,\"NODE_FIELDS\",{enumerable:!0,get:function(){return i.NODE_FIELDS}}),Object.defineProperty(t,\"NODE_PARENT_VALIDATIONS\",{enumerable:!0,get:function(){return i.NODE_PARENT_VALIDATIONS}}),Object.defineProperty(t,\"PLACEHOLDERS\",{enumerable:!0,get:function(){return s.PLACEHOLDERS}}),Object.defineProperty(t,\"PLACEHOLDERS_ALIAS\",{enumerable:!0,get:function(){return s.PLACEHOLDERS_ALIAS}}),Object.defineProperty(t,\"PLACEHOLDERS_FLIPPED_ALIAS\",{enumerable:!0,get:function(){return s.PLACEHOLDERS_FLIPPED_ALIAS}}),t.TYPES=void 0,Object.defineProperty(t,\"VISITOR_KEYS\",{enumerable:!0,get:function(){return i.VISITOR_KEYS}});var r=n(3164);n(8248),n(3940),n(1410),n(3858),n(1190),n(4);var i=n(1514),s=n(7389),a=n(6937);Object.keys(a.DEPRECATED_ALIASES).forEach((e=>{i.FLIPPED_ALIAS_KEYS[e]=i.FLIPPED_ALIAS_KEYS[a.DEPRECATED_ALIASES[e]]})),r(i.VISITOR_KEYS),r(i.ALIAS_KEYS),r(i.FLIPPED_ALIAS_KEYS),r(i.NODE_FIELDS),r(i.BUILDER_KEYS),r(i.DEPRECATED_KEYS),r(s.PLACEHOLDERS_ALIAS),r(s.PLACEHOLDERS_FLIPPED_ALIAS);const o=[].concat(Object.keys(i.VISITOR_KEYS),Object.keys(i.FLIPPED_ALIAS_KEYS),Object.keys(i.DEPRECATED_KEYS));t.TYPES=o},1410:(e,t,n)=>{\"use strict\";var r=n(1514);const i=(0,r.defineAliasedType)(\"JSX\");i(\"JSXAttribute\",{visitor:[\"name\",\"value\"],aliases:[\"Immutable\"],fields:{name:{validate:(0,r.assertNodeType)(\"JSXIdentifier\",\"JSXNamespacedName\")},value:{optional:!0,validate:(0,r.assertNodeType)(\"JSXElement\",\"JSXFragment\",\"StringLiteral\",\"JSXExpressionContainer\")}}}),i(\"JSXClosingElement\",{visitor:[\"name\"],aliases:[\"Immutable\"],fields:{name:{validate:(0,r.assertNodeType)(\"JSXIdentifier\",\"JSXMemberExpression\",\"JSXNamespacedName\")}}}),i(\"JSXElement\",{builder:[\"openingElement\",\"closingElement\",\"children\",\"selfClosing\"],visitor:[\"openingElement\",\"children\",\"closingElement\"],aliases:[\"Immutable\",\"Expression\"],fields:Object.assign({openingElement:{validate:(0,r.assertNodeType)(\"JSXOpeningElement\")},closingElement:{optional:!0,validate:(0,r.assertNodeType)(\"JSXClosingElement\")},children:{validate:(0,r.chain)((0,r.assertValueType)(\"array\"),(0,r.assertEach)((0,r.assertNodeType)(\"JSXText\",\"JSXExpressionContainer\",\"JSXSpreadChild\",\"JSXElement\",\"JSXFragment\")))}},{selfClosing:{validate:(0,r.assertValueType)(\"boolean\"),optional:!0}})}),i(\"JSXEmptyExpression\",{}),i(\"JSXExpressionContainer\",{visitor:[\"expression\"],aliases:[\"Immutable\"],fields:{expression:{validate:(0,r.assertNodeType)(\"Expression\",\"JSXEmptyExpression\")}}}),i(\"JSXSpreadChild\",{visitor:[\"expression\"],aliases:[\"Immutable\"],fields:{expression:{validate:(0,r.assertNodeType)(\"Expression\")}}}),i(\"JSXIdentifier\",{builder:[\"name\"],fields:{name:{validate:(0,r.assertValueType)(\"string\")}}}),i(\"JSXMemberExpression\",{visitor:[\"object\",\"property\"],fields:{object:{validate:(0,r.assertNodeType)(\"JSXMemberExpression\",\"JSXIdentifier\")},property:{validate:(0,r.assertNodeType)(\"JSXIdentifier\")}}}),i(\"JSXNamespacedName\",{visitor:[\"namespace\",\"name\"],fields:{namespace:{validate:(0,r.assertNodeType)(\"JSXIdentifier\")},name:{validate:(0,r.assertNodeType)(\"JSXIdentifier\")}}}),i(\"JSXOpeningElement\",{builder:[\"name\",\"attributes\",\"selfClosing\"],visitor:[\"name\",\"attributes\"],aliases:[\"Immutable\"],fields:{name:{validate:(0,r.assertNodeType)(\"JSXIdentifier\",\"JSXMemberExpression\",\"JSXNamespacedName\")},selfClosing:{default:!1},attributes:{validate:(0,r.chain)((0,r.assertValueType)(\"array\"),(0,r.assertEach)((0,r.assertNodeType)(\"JSXAttribute\",\"JSXSpreadAttribute\")))},typeParameters:{validate:(0,r.assertNodeType)(\"TypeParameterInstantiation\",\"TSTypeParameterInstantiation\"),optional:!0}}}),i(\"JSXSpreadAttribute\",{visitor:[\"argument\"],fields:{argument:{validate:(0,r.assertNodeType)(\"Expression\")}}}),i(\"JSXText\",{aliases:[\"Immutable\"],builder:[\"value\"],fields:{value:{validate:(0,r.assertValueType)(\"string\")}}}),i(\"JSXFragment\",{builder:[\"openingFragment\",\"closingFragment\",\"children\"],visitor:[\"openingFragment\",\"children\",\"closingFragment\"],aliases:[\"Immutable\",\"Expression\"],fields:{openingFragment:{validate:(0,r.assertNodeType)(\"JSXOpeningFragment\")},closingFragment:{validate:(0,r.assertNodeType)(\"JSXClosingFragment\")},children:{validate:(0,r.chain)((0,r.assertValueType)(\"array\"),(0,r.assertEach)((0,r.assertNodeType)(\"JSXText\",\"JSXExpressionContainer\",\"JSXSpreadChild\",\"JSXElement\",\"JSXFragment\")))}}}),i(\"JSXOpeningFragment\",{aliases:[\"Immutable\"]}),i(\"JSXClosingFragment\",{aliases:[\"Immutable\"]})},3858:(e,t,n)=>{\"use strict\";var r=n(1514),i=n(7389);const s=(0,r.defineAliasedType)(\"Miscellaneous\");s(\"Noop\",{visitor:[]}),s(\"Placeholder\",{visitor:[],builder:[\"expectedNode\",\"name\"],fields:{name:{validate:(0,r.assertNodeType)(\"Identifier\")},expectedNode:{validate:(0,r.assertOneOf)(...i.PLACEHOLDERS)}}}),s(\"V8IntrinsicIdentifier\",{builder:[\"name\"],fields:{name:{validate:(0,r.assertValueType)(\"string\")}}})},7389:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PLACEHOLDERS_FLIPPED_ALIAS=t.PLACEHOLDERS_ALIAS=t.PLACEHOLDERS=void 0;var r=n(1514);const i=[\"Identifier\",\"StringLiteral\",\"Expression\",\"Statement\",\"Declaration\",\"BlockStatement\",\"ClassBody\",\"Pattern\"];t.PLACEHOLDERS=i;const s={Declaration:[\"Statement\"],Pattern:[\"PatternLike\",\"LVal\"]};t.PLACEHOLDERS_ALIAS=s;for(const e of i){const t=r.ALIAS_KEYS[e];null!=t&&t.length&&(s[e]=t)}const a={};t.PLACEHOLDERS_FLIPPED_ALIAS=a,Object.keys(s).forEach((e=>{s[e].forEach((t=>{Object.hasOwnProperty.call(a,t)||(a[t]=[]),a[t].push(e)}))}))},4:(e,t,n)=>{\"use strict\";var r=n(1514),i=n(8248),s=n(5171);const a=(0,r.defineAliasedType)(\"TypeScript\"),o=(0,r.assertValueType)(\"boolean\"),l=()=>({returnType:{validate:(0,r.assertNodeType)(\"TSTypeAnnotation\",\"Noop\"),optional:!0},typeParameters:{validate:(0,r.assertNodeType)(\"TSTypeParameterDeclaration\",\"Noop\"),optional:!0}});a(\"TSParameterProperty\",{aliases:[\"LVal\"],visitor:[\"parameter\"],fields:{accessibility:{validate:(0,r.assertOneOf)(\"public\",\"private\",\"protected\"),optional:!0},readonly:{validate:(0,r.assertValueType)(\"boolean\"),optional:!0},parameter:{validate:(0,r.assertNodeType)(\"Identifier\",\"AssignmentPattern\")},override:{validate:(0,r.assertValueType)(\"boolean\"),optional:!0},decorators:{validate:(0,r.chain)((0,r.assertValueType)(\"array\"),(0,r.assertEach)((0,r.assertNodeType)(\"Decorator\"))),optional:!0}}}),a(\"TSDeclareFunction\",{aliases:[\"Statement\",\"Declaration\"],visitor:[\"id\",\"typeParameters\",\"params\",\"returnType\"],fields:Object.assign({},(0,i.functionDeclarationCommon)(),l())}),a(\"TSDeclareMethod\",{visitor:[\"decorators\",\"key\",\"typeParameters\",\"params\",\"returnType\"],fields:Object.assign({},(0,i.classMethodOrDeclareMethodCommon)(),l())}),a(\"TSQualifiedName\",{aliases:[\"TSEntityName\"],visitor:[\"left\",\"right\"],fields:{left:(0,r.validateType)(\"TSEntityName\"),right:(0,r.validateType)(\"Identifier\")}});const c=()=>({typeParameters:(0,r.validateOptionalType)(\"TSTypeParameterDeclaration\"),parameters:(0,r.validateArrayOfType)([\"ArrayPattern\",\"Identifier\",\"ObjectPattern\",\"RestElement\"]),typeAnnotation:(0,r.validateOptionalType)(\"TSTypeAnnotation\")}),u={aliases:[\"TSTypeElement\"],visitor:[\"typeParameters\",\"parameters\",\"typeAnnotation\"],fields:c()};a(\"TSCallSignatureDeclaration\",u),a(\"TSConstructSignatureDeclaration\",u);const p=()=>({key:(0,r.validateType)(\"Expression\"),computed:{default:!1},optional:(0,r.validateOptional)(o)});a(\"TSPropertySignature\",{aliases:[\"TSTypeElement\"],visitor:[\"key\",\"typeAnnotation\",\"initializer\"],fields:Object.assign({},p(),{readonly:(0,r.validateOptional)(o),typeAnnotation:(0,r.validateOptionalType)(\"TSTypeAnnotation\"),initializer:(0,r.validateOptionalType)(\"Expression\"),kind:{validate:(0,r.assertOneOf)(\"get\",\"set\")}})}),a(\"TSMethodSignature\",{aliases:[\"TSTypeElement\"],visitor:[\"key\",\"typeParameters\",\"parameters\",\"typeAnnotation\"],fields:Object.assign({},c(),p(),{kind:{validate:(0,r.assertOneOf)(\"method\",\"get\",\"set\")}})}),a(\"TSIndexSignature\",{aliases:[\"TSTypeElement\"],visitor:[\"parameters\",\"typeAnnotation\"],fields:{readonly:(0,r.validateOptional)(o),static:(0,r.validateOptional)(o),parameters:(0,r.validateArrayOfType)(\"Identifier\"),typeAnnotation:(0,r.validateOptionalType)(\"TSTypeAnnotation\")}});const h=[\"TSAnyKeyword\",\"TSBooleanKeyword\",\"TSBigIntKeyword\",\"TSIntrinsicKeyword\",\"TSNeverKeyword\",\"TSNullKeyword\",\"TSNumberKeyword\",\"TSObjectKeyword\",\"TSStringKeyword\",\"TSSymbolKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\",\"TSVoidKeyword\"];for(const e of h)a(e,{aliases:[\"TSType\",\"TSBaseType\"],visitor:[],fields:{}});a(\"TSThisType\",{aliases:[\"TSType\",\"TSBaseType\"],visitor:[],fields:{}});const d={aliases:[\"TSType\"],visitor:[\"typeParameters\",\"parameters\",\"typeAnnotation\"]};a(\"TSFunctionType\",Object.assign({},d,{fields:c()})),a(\"TSConstructorType\",Object.assign({},d,{fields:Object.assign({},c(),{abstract:(0,r.validateOptional)(o)})})),a(\"TSTypeReference\",{aliases:[\"TSType\"],visitor:[\"typeName\",\"typeParameters\"],fields:{typeName:(0,r.validateType)(\"TSEntityName\"),typeParameters:(0,r.validateOptionalType)(\"TSTypeParameterInstantiation\")}}),a(\"TSTypePredicate\",{aliases:[\"TSType\"],visitor:[\"parameterName\",\"typeAnnotation\"],builder:[\"parameterName\",\"typeAnnotation\",\"asserts\"],fields:{parameterName:(0,r.validateType)([\"Identifier\",\"TSThisType\"]),typeAnnotation:(0,r.validateOptionalType)(\"TSTypeAnnotation\"),asserts:(0,r.validateOptional)(o)}}),a(\"TSTypeQuery\",{aliases:[\"TSType\"],visitor:[\"exprName\",\"typeParameters\"],fields:{exprName:(0,r.validateType)([\"TSEntityName\",\"TSImportType\"]),typeParameters:(0,r.validateOptionalType)(\"TSTypeParameterInstantiation\")}}),a(\"TSTypeLiteral\",{aliases:[\"TSType\"],visitor:[\"members\"],fields:{members:(0,r.validateArrayOfType)(\"TSTypeElement\")}}),a(\"TSArrayType\",{aliases:[\"TSType\"],visitor:[\"elementType\"],fields:{elementType:(0,r.validateType)(\"TSType\")}}),a(\"TSTupleType\",{aliases:[\"TSType\"],visitor:[\"elementTypes\"],fields:{elementTypes:(0,r.validateArrayOfType)([\"TSType\",\"TSNamedTupleMember\"])}}),a(\"TSOptionalType\",{aliases:[\"TSType\"],visitor:[\"typeAnnotation\"],fields:{typeAnnotation:(0,r.validateType)(\"TSType\")}}),a(\"TSRestType\",{aliases:[\"TSType\"],visitor:[\"typeAnnotation\"],fields:{typeAnnotation:(0,r.validateType)(\"TSType\")}}),a(\"TSNamedTupleMember\",{visitor:[\"label\",\"elementType\"],builder:[\"label\",\"elementType\",\"optional\"],fields:{label:(0,r.validateType)(\"Identifier\"),optional:{validate:o,default:!1},elementType:(0,r.validateType)(\"TSType\")}});const f={aliases:[\"TSType\"],visitor:[\"types\"],fields:{types:(0,r.validateArrayOfType)(\"TSType\")}};a(\"TSUnionType\",f),a(\"TSIntersectionType\",f),a(\"TSConditionalType\",{aliases:[\"TSType\"],visitor:[\"checkType\",\"extendsType\",\"trueType\",\"falseType\"],fields:{checkType:(0,r.validateType)(\"TSType\"),extendsType:(0,r.validateType)(\"TSType\"),trueType:(0,r.validateType)(\"TSType\"),falseType:(0,r.validateType)(\"TSType\")}}),a(\"TSInferType\",{aliases:[\"TSType\"],visitor:[\"typeParameter\"],fields:{typeParameter:(0,r.validateType)(\"TSTypeParameter\")}}),a(\"TSParenthesizedType\",{aliases:[\"TSType\"],visitor:[\"typeAnnotation\"],fields:{typeAnnotation:(0,r.validateType)(\"TSType\")}}),a(\"TSTypeOperator\",{aliases:[\"TSType\"],visitor:[\"typeAnnotation\"],fields:{operator:(0,r.validate)((0,r.assertValueType)(\"string\")),typeAnnotation:(0,r.validateType)(\"TSType\")}}),a(\"TSIndexedAccessType\",{aliases:[\"TSType\"],visitor:[\"objectType\",\"indexType\"],fields:{objectType:(0,r.validateType)(\"TSType\"),indexType:(0,r.validateType)(\"TSType\")}}),a(\"TSMappedType\",{aliases:[\"TSType\"],visitor:[\"typeParameter\",\"typeAnnotation\",\"nameType\"],fields:{readonly:(0,r.validateOptional)((0,r.assertOneOf)(!0,!1,\"+\",\"-\")),typeParameter:(0,r.validateType)(\"TSTypeParameter\"),optional:(0,r.validateOptional)((0,r.assertOneOf)(!0,!1,\"+\",\"-\")),typeAnnotation:(0,r.validateOptionalType)(\"TSType\"),nameType:(0,r.validateOptionalType)(\"TSType\")}}),a(\"TSLiteralType\",{aliases:[\"TSType\",\"TSBaseType\"],visitor:[\"literal\"],fields:{literal:{validate:function(){const e=(0,r.assertNodeType)(\"NumericLiteral\",\"BigIntLiteral\"),t=(0,r.assertOneOf)(\"-\"),n=(0,r.assertNodeType)(\"NumericLiteral\",\"StringLiteral\",\"BooleanLiteral\",\"BigIntLiteral\",\"TemplateLiteral\");function i(r,i,a){(0,s.default)(\"UnaryExpression\",a)?(t(a,\"operator\",a.operator),e(a,\"argument\",a.argument)):n(r,i,a)}return i.oneOfNodeTypes=[\"NumericLiteral\",\"StringLiteral\",\"BooleanLiteral\",\"BigIntLiteral\",\"TemplateLiteral\",\"UnaryExpression\"],i}()}}}),a(\"TSExpressionWithTypeArguments\",{aliases:[\"TSType\"],visitor:[\"expression\",\"typeParameters\"],fields:{expression:(0,r.validateType)(\"TSEntityName\"),typeParameters:(0,r.validateOptionalType)(\"TSTypeParameterInstantiation\")}}),a(\"TSInterfaceDeclaration\",{aliases:[\"Statement\",\"Declaration\"],visitor:[\"id\",\"typeParameters\",\"extends\",\"body\"],fields:{declare:(0,r.validateOptional)(o),id:(0,r.validateType)(\"Identifier\"),typeParameters:(0,r.validateOptionalType)(\"TSTypeParameterDeclaration\"),extends:(0,r.validateOptional)((0,r.arrayOfType)(\"TSExpressionWithTypeArguments\")),body:(0,r.validateType)(\"TSInterfaceBody\")}}),a(\"TSInterfaceBody\",{visitor:[\"body\"],fields:{body:(0,r.validateArrayOfType)(\"TSTypeElement\")}}),a(\"TSTypeAliasDeclaration\",{aliases:[\"Statement\",\"Declaration\"],visitor:[\"id\",\"typeParameters\",\"typeAnnotation\"],fields:{declare:(0,r.validateOptional)(o),id:(0,r.validateType)(\"Identifier\"),typeParameters:(0,r.validateOptionalType)(\"TSTypeParameterDeclaration\"),typeAnnotation:(0,r.validateType)(\"TSType\")}}),a(\"TSInstantiationExpression\",{aliases:[\"Expression\"],visitor:[\"expression\",\"typeParameters\"],fields:{expression:(0,r.validateType)(\"Expression\"),typeParameters:(0,r.validateOptionalType)(\"TSTypeParameterInstantiation\")}});const y={aliases:[\"Expression\",\"LVal\",\"PatternLike\"],visitor:[\"expression\",\"typeAnnotation\"],fields:{expression:(0,r.validateType)(\"Expression\"),typeAnnotation:(0,r.validateType)(\"TSType\")}};a(\"TSAsExpression\",y),a(\"TSSatisfiesExpression\",y),a(\"TSTypeAssertion\",{aliases:[\"Expression\",\"LVal\",\"PatternLike\"],visitor:[\"typeAnnotation\",\"expression\"],fields:{typeAnnotation:(0,r.validateType)(\"TSType\"),expression:(0,r.validateType)(\"Expression\")}}),a(\"TSEnumDeclaration\",{aliases:[\"Statement\",\"Declaration\"],visitor:[\"id\",\"members\"],fields:{declare:(0,r.validateOptional)(o),const:(0,r.validateOptional)(o),id:(0,r.validateType)(\"Identifier\"),members:(0,r.validateArrayOfType)(\"TSEnumMember\"),initializer:(0,r.validateOptionalType)(\"Expression\")}}),a(\"TSEnumMember\",{visitor:[\"id\",\"initializer\"],fields:{id:(0,r.validateType)([\"Identifier\",\"StringLiteral\"]),initializer:(0,r.validateOptionalType)(\"Expression\")}}),a(\"TSModuleDeclaration\",{aliases:[\"Statement\",\"Declaration\"],visitor:[\"id\",\"body\"],fields:{declare:(0,r.validateOptional)(o),global:(0,r.validateOptional)(o),id:(0,r.validateType)([\"Identifier\",\"StringLiteral\"]),body:(0,r.validateType)([\"TSModuleBlock\",\"TSModuleDeclaration\"])}}),a(\"TSModuleBlock\",{aliases:[\"Scopable\",\"Block\",\"BlockParent\",\"FunctionParent\"],visitor:[\"body\"],fields:{body:(0,r.validateArrayOfType)(\"Statement\")}}),a(\"TSImportType\",{aliases:[\"TSType\"],visitor:[\"argument\",\"qualifier\",\"typeParameters\"],fields:{argument:(0,r.validateType)(\"StringLiteral\"),qualifier:(0,r.validateOptionalType)(\"TSEntityName\"),typeParameters:(0,r.validateOptionalType)(\"TSTypeParameterInstantiation\")}}),a(\"TSImportEqualsDeclaration\",{aliases:[\"Statement\"],visitor:[\"id\",\"moduleReference\"],fields:{isExport:(0,r.validate)(o),id:(0,r.validateType)(\"Identifier\"),moduleReference:(0,r.validateType)([\"TSEntityName\",\"TSExternalModuleReference\"]),importKind:{validate:(0,r.assertOneOf)(\"type\",\"value\"),optional:!0}}}),a(\"TSExternalModuleReference\",{visitor:[\"expression\"],fields:{expression:(0,r.validateType)(\"StringLiteral\")}}),a(\"TSNonNullExpression\",{aliases:[\"Expression\",\"LVal\",\"PatternLike\"],visitor:[\"expression\"],fields:{expression:(0,r.validateType)(\"Expression\")}}),a(\"TSExportAssignment\",{aliases:[\"Statement\"],visitor:[\"expression\"],fields:{expression:(0,r.validateType)(\"Expression\")}}),a(\"TSNamespaceExportDeclaration\",{aliases:[\"Statement\"],visitor:[\"id\"],fields:{id:(0,r.validateType)(\"Identifier\")}}),a(\"TSTypeAnnotation\",{visitor:[\"typeAnnotation\"],fields:{typeAnnotation:{validate:(0,r.assertNodeType)(\"TSType\")}}}),a(\"TSTypeParameterInstantiation\",{visitor:[\"params\"],fields:{params:{validate:(0,r.chain)((0,r.assertValueType)(\"array\"),(0,r.assertEach)((0,r.assertNodeType)(\"TSType\")))}}}),a(\"TSTypeParameterDeclaration\",{visitor:[\"params\"],fields:{params:{validate:(0,r.chain)((0,r.assertValueType)(\"array\"),(0,r.assertEach)((0,r.assertNodeType)(\"TSTypeParameter\")))}}}),a(\"TSTypeParameter\",{builder:[\"constraint\",\"default\",\"name\"],visitor:[\"constraint\",\"default\"],fields:{name:{validate:(0,r.assertValueType)(\"string\")},in:{validate:(0,r.assertValueType)(\"boolean\"),optional:!0},out:{validate:(0,r.assertValueType)(\"boolean\"),optional:!0},const:{validate:(0,r.assertValueType)(\"boolean\"),optional:!0},constraint:{validate:(0,r.assertNodeType)(\"TSType\"),optional:!0},default:{validate:(0,r.assertNodeType)(\"TSType\"),optional:!0}}})},1514:(e,t,n)=>{\"use strict\";var r=n(4155);Object.defineProperty(t,\"__esModule\",{value:!0}),t.VISITOR_KEYS=t.NODE_PARENT_VALIDATIONS=t.NODE_FIELDS=t.FLIPPED_ALIAS_KEYS=t.DEPRECATED_KEYS=t.BUILDER_KEYS=t.ALIAS_KEYS=void 0,t.arrayOf=m,t.arrayOfType=T,t.assertEach=g,t.assertNodeOrValueType=function(...e){function t(t,n,r){for(const a of e)if(d(r)===a||(0,i.default)(a,r))return void(0,s.validateChild)(t,n,r);throw new TypeError(`Property ${n} of ${t.type} expected node to be of a type ${JSON.stringify(e)} but instead got ${JSON.stringify(null==r?void 0:r.type)}`)}return t.oneOfNodeOrValueTypes=e,t},t.assertNodeType=b,t.assertOneOf=function(...e){function t(t,n,r){if(e.indexOf(r)<0)throw new TypeError(`Property ${n} expected value to be one of ${JSON.stringify(e)} but got ${JSON.stringify(r)}`)}return t.oneOf=e,t},t.assertOptionalChainStart=function(){return function(e){var t;let n=e;for(;e;){const{type:e}=n;if(\"OptionalCallExpression\"!==e){if(\"OptionalMemberExpression\"!==e)break;if(n.optional)return;n=n.object}else{if(n.optional)return;n=n.callee}}throw new TypeError(`Non-optional ${e.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${null==(t=n)?void 0:t.type}`)}},t.assertShape=function(e){function t(t,n,r){const i=[];for(const n of Object.keys(e))try{(0,s.validateField)(t,n,r[n],e[n])}catch(e){if(e instanceof TypeError){i.push(e.message);continue}throw e}if(i.length)throw new TypeError(`Property ${n} of ${t.type} expected to have the following:\\n${i.join(\"\\n\")}`)}return t.shapeOf=e,t},t.assertValueType=E,t.chain=S,t.default=A,t.defineAliasedType=function(...e){return(t,n={})=>{let r=n.aliases;var i;r||(n.inherits&&(r=null==(i=D[n.inherits].aliases)?void 0:i.slice()),null!=r||(r=[]),n.aliases=r);const s=e.filter((e=>!r.includes(e)));r.unshift(...s),A(t,n)}},t.typeIs=y,t.validate=f,t.validateArrayOfType=function(e){return f(T(e))},t.validateOptional=function(e){return{validate:e,optional:!0}},t.validateOptionalType=function(e){return{validate:y(e),optional:!0}},t.validateType=function(e){return f(y(e))};var i=n(5171),s=n(7750);const a={};t.VISITOR_KEYS=a;const o={};t.ALIAS_KEYS=o;const l={};t.FLIPPED_ALIAS_KEYS=l;const c={};t.NODE_FIELDS=c;const u={};t.BUILDER_KEYS=u;const p={};t.DEPRECATED_KEYS=p;const h={};function d(e){return Array.isArray(e)?\"array\":null===e?\"null\":typeof e}function f(e){return{validate:e}}function y(e){return\"string\"==typeof e?b(e):b(...e)}function m(e){return S(E(\"array\"),g(e))}function T(e){return m(y(e))}function g(e){function t(t,n,i){if(Array.isArray(i))for(let a=0;a<i.length;a++){const o=`${n}[${a}]`,l=i[a];e(t,o,l),r.env.BABEL_TYPES_8_BREAKING&&(0,s.validateChild)(t,o,l)}}return t.each=e,t}function b(...e){function t(t,n,r){for(const a of e)if((0,i.default)(a,r))return void(0,s.validateChild)(t,n,r);throw new TypeError(`Property ${n} of ${t.type} expected node to be of a type ${JSON.stringify(e)} but instead got ${JSON.stringify(null==r?void 0:r.type)}`)}return t.oneOfNodeTypes=e,t}function E(e){function t(t,n,r){if(d(r)!==e)throw new TypeError(`Property ${n} expected type of ${e} but got ${d(r)}`)}return t.type=e,t}function S(...e){function t(...t){for(const n of e)n(...t)}if(t.chainOf=e,e.length>=2&&\"type\"in e[0]&&\"array\"===e[0].type&&!(\"each\"in e[1]))throw new Error('An assertValueType(\"array\") validator can only be followed by an assertEach(...) validator.');return t}t.NODE_PARENT_VALIDATIONS=h;const P=[\"aliases\",\"builder\",\"deprecatedAlias\",\"fields\",\"inherits\",\"visitor\",\"validate\"],x=[\"default\",\"optional\",\"deprecated\",\"validate\"],D={};function A(e,t={}){const n=t.inherits&&D[t.inherits]||{};let r=t.fields;if(!r&&(r={},n.fields)){const e=Object.getOwnPropertyNames(n.fields);for(const t of e){const e=n.fields[t],i=e.default;if(Array.isArray(i)?i.length>0:i&&\"object\"==typeof i)throw new Error(\"field defaults can only be primitives or empty arrays currently\");r[t]={default:Array.isArray(i)?[]:i,optional:e.optional,deprecated:e.deprecated,validate:e.validate}}}const i=t.visitor||n.visitor||[],s=t.aliases||n.aliases||[],f=t.builder||n.builder||t.visitor||[];for(const n of Object.keys(t))if(-1===P.indexOf(n))throw new Error(`Unknown type option \"${n}\" on ${e}`);t.deprecatedAlias&&(p[t.deprecatedAlias]=e);for(const e of i.concat(f))r[e]=r[e]||{};for(const t of Object.keys(r)){const n=r[t];void 0!==n.default&&-1===f.indexOf(t)&&(n.optional=!0),void 0===n.default?n.default=null:n.validate||null==n.default||(n.validate=E(d(n.default)));for(const r of Object.keys(n))if(-1===x.indexOf(r))throw new Error(`Unknown field key \"${r}\" on ${e}.${t}`)}a[e]=t.visitor=i,u[e]=t.builder=f,c[e]=t.fields=r,o[e]=t.aliases=s,s.forEach((t=>{l[t]=l[t]||[],l[t].push(e)})),t.validate&&(h[e]=t.validate),D[e]=t}},6067:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r={react:!0,assertNode:!0,createTypeAnnotationBasedOnTypeof:!0,createUnionTypeAnnotation:!0,createFlowUnionType:!0,createTSUnionType:!0,cloneNode:!0,clone:!0,cloneDeep:!0,cloneDeepWithoutLoc:!0,cloneWithoutLoc:!0,addComment:!0,addComments:!0,inheritInnerComments:!0,inheritLeadingComments:!0,inheritsComments:!0,inheritTrailingComments:!0,removeComments:!0,ensureBlock:!0,toBindingIdentifierName:!0,toBlock:!0,toComputedKey:!0,toExpression:!0,toIdentifier:!0,toKeyAlias:!0,toSequenceExpression:!0,toStatement:!0,valueToNode:!0,appendToMemberExpression:!0,inherits:!0,prependToMemberExpression:!0,removeProperties:!0,removePropertiesDeep:!0,removeTypeDuplicates:!0,getBindingIdentifiers:!0,getOuterBindingIdentifiers:!0,traverse:!0,traverseFast:!0,shallowEqual:!0,is:!0,isBinding:!0,isBlockScoped:!0,isImmutable:!0,isLet:!0,isNode:!0,isNodesEquivalent:!0,isPlaceholderType:!0,isReferenced:!0,isScope:!0,isSpecifierDefault:!0,isType:!0,isValidES3Identifier:!0,isValidIdentifier:!0,isVar:!0,matchesPattern:!0,validate:!0,buildMatchMemberExpression:!0,__internal__deprecationWarning:!0};Object.defineProperty(t,\"__internal__deprecationWarning\",{enumerable:!0,get:function(){return ye.default}}),Object.defineProperty(t,\"addComment\",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(t,\"addComments\",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(t,\"appendToMemberExpression\",{enumerable:!0,get:function(){return R.default}}),Object.defineProperty(t,\"assertNode\",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,\"buildMatchMemberExpression\",{enumerable:!0,get:function(){return de.default}}),Object.defineProperty(t,\"clone\",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(t,\"cloneDeep\",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(t,\"cloneDeepWithoutLoc\",{enumerable:!0,get:function(){return T.default}}),Object.defineProperty(t,\"cloneNode\",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(t,\"cloneWithoutLoc\",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(t,\"createFlowUnionType\",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,\"createTSUnionType\",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(t,\"createTypeAnnotationBasedOnTypeof\",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,\"createUnionTypeAnnotation\",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,\"ensureBlock\",{enumerable:!0,get:function(){return w.default}}),Object.defineProperty(t,\"getBindingIdentifiers\",{enumerable:!0,get:function(){return Y.default}}),Object.defineProperty(t,\"getOuterBindingIdentifiers\",{enumerable:!0,get:function(){return q.default}}),Object.defineProperty(t,\"inheritInnerComments\",{enumerable:!0,get:function(){return S.default}}),Object.defineProperty(t,\"inheritLeadingComments\",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(t,\"inheritTrailingComments\",{enumerable:!0,get:function(){return D.default}}),Object.defineProperty(t,\"inherits\",{enumerable:!0,get:function(){return U.default}}),Object.defineProperty(t,\"inheritsComments\",{enumerable:!0,get:function(){return x.default}}),Object.defineProperty(t,\"is\",{enumerable:!0,get:function(){return G.default}}),Object.defineProperty(t,\"isBinding\",{enumerable:!0,get:function(){return z.default}}),Object.defineProperty(t,\"isBlockScoped\",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(t,\"isImmutable\",{enumerable:!0,get:function(){return Z.default}}),Object.defineProperty(t,\"isLet\",{enumerable:!0,get:function(){return ee.default}}),Object.defineProperty(t,\"isNode\",{enumerable:!0,get:function(){return te.default}}),Object.defineProperty(t,\"isNodesEquivalent\",{enumerable:!0,get:function(){return ne.default}}),Object.defineProperty(t,\"isPlaceholderType\",{enumerable:!0,get:function(){return re.default}}),Object.defineProperty(t,\"isReferenced\",{enumerable:!0,get:function(){return ie.default}}),Object.defineProperty(t,\"isScope\",{enumerable:!0,get:function(){return se.default}}),Object.defineProperty(t,\"isSpecifierDefault\",{enumerable:!0,get:function(){return ae.default}}),Object.defineProperty(t,\"isType\",{enumerable:!0,get:function(){return oe.default}}),Object.defineProperty(t,\"isValidES3Identifier\",{enumerable:!0,get:function(){return le.default}}),Object.defineProperty(t,\"isValidIdentifier\",{enumerable:!0,get:function(){return ce.default}}),Object.defineProperty(t,\"isVar\",{enumerable:!0,get:function(){return ue.default}}),Object.defineProperty(t,\"matchesPattern\",{enumerable:!0,get:function(){return pe.default}}),Object.defineProperty(t,\"prependToMemberExpression\",{enumerable:!0,get:function(){return V.default}}),t.react=void 0,Object.defineProperty(t,\"removeComments\",{enumerable:!0,get:function(){return A.default}}),Object.defineProperty(t,\"removeProperties\",{enumerable:!0,get:function(){return K.default}}),Object.defineProperty(t,\"removePropertiesDeep\",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(t,\"removeTypeDuplicates\",{enumerable:!0,get:function(){return X.default}}),Object.defineProperty(t,\"shallowEqual\",{enumerable:!0,get:function(){return $.default}}),Object.defineProperty(t,\"toBindingIdentifierName\",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(t,\"toBlock\",{enumerable:!0,get:function(){return I.default}}),Object.defineProperty(t,\"toComputedKey\",{enumerable:!0,get:function(){return N.default}}),Object.defineProperty(t,\"toExpression\",{enumerable:!0,get:function(){return F.default}}),Object.defineProperty(t,\"toIdentifier\",{enumerable:!0,get:function(){return k.default}}),Object.defineProperty(t,\"toKeyAlias\",{enumerable:!0,get:function(){return L.default}}),Object.defineProperty(t,\"toSequenceExpression\",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(t,\"toStatement\",{enumerable:!0,get:function(){return M.default}}),Object.defineProperty(t,\"traverse\",{enumerable:!0,get:function(){return H.default}}),Object.defineProperty(t,\"traverseFast\",{enumerable:!0,get:function(){return J.default}}),Object.defineProperty(t,\"validate\",{enumerable:!0,get:function(){return he.default}}),Object.defineProperty(t,\"valueToNode\",{enumerable:!0,get:function(){return B.default}});var i=n(4229),s=n(9733),a=n(4225),o=n(391),l=n(163);Object.keys(l).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===l[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return l[e]}}))}));var c=n(5976),u=n(7625),p=n(6752),h=n(1411);Object.keys(h).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===h[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return h[e]}}))}));var d=n(9470);Object.keys(d).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===d[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return d[e]}}))}));var f=n(2419),y=n(8229),m=n(8030),T=n(8519),g=n(9381),b=n(109),E=n(8647),S=n(2823),P=n(8930),x=n(9134),D=n(2714),A=n(698),v=n(4998);Object.keys(v).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===v[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return v[e]}}))}));var C=n(3725);Object.keys(C).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===C[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return C[e]}}))}));var w=n(8560),O=n(5200),I=n(9988),N=n(3816),F=n(5317),k=n(7885),L=n(5046),_=n(2473),M=n(350),B=n(1382),j=n(1678);Object.keys(j).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===j[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return j[e]}}))}));var R=n(2115),U=n(4151),V=n(2369),K=n(7665),W=n(857),X=n(8874),Y=n(984),q=n(179),H=n(9787);Object.keys(H).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===H[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return H[e]}}))}));var J=n(5139),$=n(9960),G=n(5171),z=n(8443),Q=n(964),Z=n(1689),ee=n(3066),te=n(4814),ne=n(7997),re=n(8894),ie=n(3683),se=n(2126),ae=n(8691),oe=n(5179),le=n(7879),ce=n(5820),ue=n(3358),pe=n(2693),he=n(7750),de=n(2051),fe=n(9869);Object.keys(fe).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===fe[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return fe[e]}}))}));var ye=n(4619);const me={isReactComponent:i.default,isCompatTag:s.default,buildChildren:a.default};t.react=me},2115:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n=!1){return e.object=(0,r.memberExpression)(e.object,e.property,e.computed),e.property=t,e.computed=!!n,e};var r=n(1411)},8874:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function e(t){const n=Array.from(t),s=new Map,a=new Map,o=new Set,l=[];for(let t=0;t<n.length;t++){const c=n[t];if(c&&!(l.indexOf(c)>=0)){if((0,r.isAnyTypeAnnotation)(c))return[c];if((0,r.isFlowBaseAnnotation)(c))a.set(c.type,c);else if((0,r.isUnionTypeAnnotation)(c))o.has(c.types)||(n.push(...c.types),o.add(c.types));else if((0,r.isGenericTypeAnnotation)(c)){const t=i(c.id);if(s.has(t)){let n=s.get(t);n.typeParameters?c.typeParameters&&(n.typeParameters.params.push(...c.typeParameters.params),n.typeParameters.params=e(n.typeParameters.params)):n=c.typeParameters}else s.set(t,c)}else l.push(c)}}for(const[,e]of a)l.push(e);for(const[,e]of s)l.push(e);return l};var r=n(9869);function i(e){return(0,r.isIdentifier)(e)?e.name:`${e.id.name}.${i(e.qualification)}`}},4151:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){if(!e||!t)return e;for(const n of r.INHERIT_KEYS.optional)null==e[n]&&(e[n]=t[n]);for(const n of Object.keys(t))\"_\"===n[0]&&\"__clone\"!==n&&(e[n]=t[n]);for(const n of r.INHERIT_KEYS.force)e[n]=t[n];return(0,i.default)(e,t),e};var r=n(3725),i=n(9134)},2369:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){if((0,i.isSuper)(e.object))throw new Error(\"Cannot prepend node to super property access (`super.foo`).\");return e.object=(0,r.memberExpression)(t,e.object),e};var r=n(1411),i=n(6067)},7665:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t={}){const n=t.preserveComments?i:s;for(const t of n)null!=e[t]&&(e[t]=void 0);for(const t of Object.keys(e))\"_\"===t[0]&&null!=e[t]&&(e[t]=void 0);const r=Object.getOwnPropertySymbols(e);for(const t of r)e[t]=null};var r=n(3725);const i=[\"tokens\",\"start\",\"end\",\"loc\",\"raw\",\"rawValue\"],s=[...r.COMMENT_KEYS,\"comments\",...i]},857:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){return(0,r.default)(e,i.default,t),e};var r=n(5139),i=n(7665)},2819:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function e(t){const n=Array.from(t),s=new Map,a=new Map,o=new Set,l=[];for(let t=0;t<n.length;t++){const c=n[t];if(c&&!(l.indexOf(c)>=0)){if((0,r.isTSAnyKeyword)(c))return[c];if((0,r.isTSBaseType)(c))a.set(c.type,c);else if((0,r.isTSUnionType)(c))o.has(c.types)||(n.push(...c.types),o.add(c.types));else if((0,r.isTSTypeReference)(c)&&c.typeParameters){const t=i(c.typeName);if(s.has(t)){let n=s.get(t);n.typeParameters?c.typeParameters&&(n.typeParameters.params.push(...c.typeParameters.params),n.typeParameters.params=e(n.typeParameters.params)):n=c.typeParameters}else s.set(t,c)}else l.push(c)}}for(const[,e]of a)l.push(e);for(const[,e]of s)l.push(e);return l};var r=n(9869);function i(e){return(0,r.isIdentifier)(e)?e.name:`${e.right.name}.${i(e.left)}`}},984:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=i;var r=n(9869);function i(e,t,n){const s=[].concat(e),a=Object.create(null);for(;s.length;){const e=s.shift();if(!e)continue;const o=i.keys[e.type];if((0,r.isIdentifier)(e))t?(a[e.name]=a[e.name]||[]).push(e):a[e.name]=e;else if(!(0,r.isExportDeclaration)(e)||(0,r.isExportAllDeclaration)(e)){if(n){if((0,r.isFunctionDeclaration)(e)){s.push(e.id);continue}if((0,r.isFunctionExpression)(e))continue}if(o)for(let t=0;t<o.length;t++){const n=e[o[t]];n&&(Array.isArray(n)?s.push(...n):s.push(n))}}else(0,r.isDeclaration)(e.declaration)&&s.push(e.declaration)}return a}i.keys={DeclareClass:[\"id\"],DeclareFunction:[\"id\"],DeclareModule:[\"id\"],DeclareVariable:[\"id\"],DeclareInterface:[\"id\"],DeclareTypeAlias:[\"id\"],DeclareOpaqueType:[\"id\"],InterfaceDeclaration:[\"id\"],TypeAlias:[\"id\"],OpaqueType:[\"id\"],CatchClause:[\"param\"],LabeledStatement:[\"label\"],UnaryExpression:[\"argument\"],AssignmentExpression:[\"left\"],ImportSpecifier:[\"local\"],ImportNamespaceSpecifier:[\"local\"],ImportDefaultSpecifier:[\"local\"],ImportDeclaration:[\"specifiers\"],ExportSpecifier:[\"exported\"],ExportNamespaceSpecifier:[\"exported\"],ExportDefaultSpecifier:[\"exported\"],FunctionDeclaration:[\"id\",\"params\"],FunctionExpression:[\"id\",\"params\"],ArrowFunctionExpression:[\"params\"],ObjectMethod:[\"params\"],ClassMethod:[\"params\"],ClassPrivateMethod:[\"params\"],ForInStatement:[\"left\"],ForOfStatement:[\"left\"],ClassDeclaration:[\"id\"],ClassExpression:[\"id\"],RestElement:[\"argument\"],UpdateExpression:[\"argument\"],ObjectProperty:[\"value\"],AssignmentPattern:[\"left\"],ArrayPattern:[\"elements\"],ObjectPattern:[\"properties\"],VariableDeclaration:[\"declarations\"],VariableDeclarator:[\"id\"]}},179:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var r=n(984);t.default=function(e,t){return(0,r.default)(e,t,!0)}},9787:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n){\"function\"==typeof t&&(t={enter:t});const{enter:r,exit:s}=t;i(e,r,s,n,[])};var r=n(1678);function i(e,t,n,s,a){const o=r.VISITOR_KEYS[e.type];if(o){t&&t(e,a,s);for(const r of o){const o=e[r];if(Array.isArray(o))for(let l=0;l<o.length;l++){const c=o[l];c&&(a.push({node:e,key:r,index:l}),i(c,t,n,s,a),a.pop())}else o&&(a.push({node:e,key:r}),i(o,t,n,s,a),a.pop())}n&&n(e,a,s)}}},5139:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function e(t,n,i){if(!t)return;const s=r.VISITOR_KEYS[t.type];if(s){n(t,i=i||{});for(const r of s){const s=t[r];if(Array.isArray(s))for(const t of s)e(t,n,i);else e(s,n,i)}}};var r=n(1678)},4619:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,r=\"\"){if(n.has(e))return;n.add(e);const{internal:i,trace:s}=function(e,t){const{stackTraceLimit:n,prepareStackTrace:r}=Error;let i;if(Error.stackTraceLimit=4,Error.prepareStackTrace=function(e,t){i=t},(new Error).stack,Error.stackTraceLimit=n,Error.prepareStackTrace=r,!i)return{internal:!1,trace:\"\"};const s=i.slice(2,4);return{internal:/[\\\\/]@babel[\\\\/]/.test(s[1].getFileName()),trace:s.map((e=>`    at ${e}`)).join(\"\\n\")}}();i||console.warn(`${r}\\`${e}\\` has been deprecated, please migrate to \\`${t}\\`\\n${s}`)};const n=new Set},9906:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n){t&&n&&(t[e]=Array.from(new Set([].concat(t[e],n[e]).filter(Boolean))))}},8730:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){const n=e.value.split(/\\r\\n|\\n|\\r/);let s=0;for(let e=0;e<n.length;e++)n[e].match(/[^ \\t]/)&&(s=e);let a=\"\";for(let e=0;e<n.length;e++){const t=n[e],r=0===e,i=e===n.length-1,o=e===s;let l=t.replace(/\\t/g,\" \");r||(l=l.replace(/^[ ]+/,\"\")),i||(l=l.replace(/[ ]+$/,\"\")),l&&(o||(l+=\" \"),a+=l)}a&&t.push((0,i.inherits)((0,r.stringLiteral)(a),e))};var r=n(1411),i=n(6067)},9960:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){const n=Object.keys(t);for(const r of n)if(e[r]!==t[r])return!1;return!0}},2051:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){const n=e.split(\".\");return e=>(0,r.default)(e,n,t)};var r=n(2693)},9869:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.isAccessor=function(e,t){return!!e&&(\"ClassAccessorProperty\"===e.type&&(null==t||(0,r.default)(e,t)))},t.isAnyTypeAnnotation=function(e,t){return!!e&&\"AnyTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isArgumentPlaceholder=function(e,t){return!!e&&\"ArgumentPlaceholder\"===e.type&&(null==t||(0,r.default)(e,t))},t.isArrayExpression=function(e,t){return!!e&&\"ArrayExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isArrayPattern=function(e,t){return!!e&&\"ArrayPattern\"===e.type&&(null==t||(0,r.default)(e,t))},t.isArrayTypeAnnotation=function(e,t){return!!e&&\"ArrayTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isArrowFunctionExpression=function(e,t){return!!e&&\"ArrowFunctionExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isAssignmentExpression=function(e,t){return!!e&&\"AssignmentExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isAssignmentPattern=function(e,t){return!!e&&\"AssignmentPattern\"===e.type&&(null==t||(0,r.default)(e,t))},t.isAwaitExpression=function(e,t){return!!e&&\"AwaitExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isBigIntLiteral=function(e,t){return!!e&&\"BigIntLiteral\"===e.type&&(null==t||(0,r.default)(e,t))},t.isBinary=function(e,t){if(!e)return!1;switch(e.type){case\"BinaryExpression\":case\"LogicalExpression\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isBinaryExpression=function(e,t){return!!e&&\"BinaryExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isBindExpression=function(e,t){return!!e&&\"BindExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isBlock=function(e,t){if(!e)return!1;switch(e.type){case\"BlockStatement\":case\"Program\":case\"TSModuleBlock\":break;case\"Placeholder\":if(\"BlockStatement\"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isBlockParent=function(e,t){if(!e)return!1;switch(e.type){case\"BlockStatement\":case\"CatchClause\":case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"FunctionDeclaration\":case\"FunctionExpression\":case\"Program\":case\"ObjectMethod\":case\"SwitchStatement\":case\"WhileStatement\":case\"ArrowFunctionExpression\":case\"ForOfStatement\":case\"ClassMethod\":case\"ClassPrivateMethod\":case\"StaticBlock\":case\"TSModuleBlock\":break;case\"Placeholder\":if(\"BlockStatement\"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isBlockStatement=function(e,t){return!!e&&\"BlockStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isBooleanLiteral=function(e,t){return!!e&&\"BooleanLiteral\"===e.type&&(null==t||(0,r.default)(e,t))},t.isBooleanLiteralTypeAnnotation=function(e,t){return!!e&&\"BooleanLiteralTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isBooleanTypeAnnotation=function(e,t){return!!e&&\"BooleanTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isBreakStatement=function(e,t){return!!e&&\"BreakStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isCallExpression=function(e,t){return!!e&&\"CallExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isCatchClause=function(e,t){return!!e&&\"CatchClause\"===e.type&&(null==t||(0,r.default)(e,t))},t.isClass=function(e,t){if(!e)return!1;switch(e.type){case\"ClassExpression\":case\"ClassDeclaration\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isClassAccessorProperty=function(e,t){return!!e&&\"ClassAccessorProperty\"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassBody=function(e,t){return!!e&&\"ClassBody\"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassDeclaration=function(e,t){return!!e&&\"ClassDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassExpression=function(e,t){return!!e&&\"ClassExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassImplements=function(e,t){return!!e&&\"ClassImplements\"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassMethod=function(e,t){return!!e&&\"ClassMethod\"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassPrivateMethod=function(e,t){return!!e&&\"ClassPrivateMethod\"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassPrivateProperty=function(e,t){return!!e&&\"ClassPrivateProperty\"===e.type&&(null==t||(0,r.default)(e,t))},t.isClassProperty=function(e,t){return!!e&&\"ClassProperty\"===e.type&&(null==t||(0,r.default)(e,t))},t.isCompletionStatement=function(e,t){if(!e)return!1;switch(e.type){case\"BreakStatement\":case\"ContinueStatement\":case\"ReturnStatement\":case\"ThrowStatement\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isConditional=function(e,t){if(!e)return!1;switch(e.type){case\"ConditionalExpression\":case\"IfStatement\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isConditionalExpression=function(e,t){return!!e&&\"ConditionalExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isContinueStatement=function(e,t){return!!e&&\"ContinueStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDebuggerStatement=function(e,t){return!!e&&\"DebuggerStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDecimalLiteral=function(e,t){return!!e&&\"DecimalLiteral\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclaration=function(e,t){if(!e)return!1;switch(e.type){case\"FunctionDeclaration\":case\"VariableDeclaration\":case\"ClassDeclaration\":case\"ExportAllDeclaration\":case\"ExportDefaultDeclaration\":case\"ExportNamedDeclaration\":case\"ImportDeclaration\":case\"DeclareClass\":case\"DeclareFunction\":case\"DeclareInterface\":case\"DeclareModule\":case\"DeclareModuleExports\":case\"DeclareTypeAlias\":case\"DeclareOpaqueType\":case\"DeclareVariable\":case\"DeclareExportDeclaration\":case\"DeclareExportAllDeclaration\":case\"InterfaceDeclaration\":case\"OpaqueType\":case\"TypeAlias\":case\"EnumDeclaration\":case\"TSDeclareFunction\":case\"TSInterfaceDeclaration\":case\"TSTypeAliasDeclaration\":case\"TSEnumDeclaration\":case\"TSModuleDeclaration\":break;case\"Placeholder\":if(\"Declaration\"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isDeclareClass=function(e,t){return!!e&&\"DeclareClass\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareExportAllDeclaration=function(e,t){return!!e&&\"DeclareExportAllDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareExportDeclaration=function(e,t){return!!e&&\"DeclareExportDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareFunction=function(e,t){return!!e&&\"DeclareFunction\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareInterface=function(e,t){return!!e&&\"DeclareInterface\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareModule=function(e,t){return!!e&&\"DeclareModule\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareModuleExports=function(e,t){return!!e&&\"DeclareModuleExports\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareOpaqueType=function(e,t){return!!e&&\"DeclareOpaqueType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareTypeAlias=function(e,t){return!!e&&\"DeclareTypeAlias\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclareVariable=function(e,t){return!!e&&\"DeclareVariable\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDeclaredPredicate=function(e,t){return!!e&&\"DeclaredPredicate\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDecorator=function(e,t){return!!e&&\"Decorator\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDirective=function(e,t){return!!e&&\"Directive\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDirectiveLiteral=function(e,t){return!!e&&\"DirectiveLiteral\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDoExpression=function(e,t){return!!e&&\"DoExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isDoWhileStatement=function(e,t){return!!e&&\"DoWhileStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isEmptyStatement=function(e,t){return!!e&&\"EmptyStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isEmptyTypeAnnotation=function(e,t){return!!e&&\"EmptyTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumBody=function(e,t){if(!e)return!1;switch(e.type){case\"EnumBooleanBody\":case\"EnumNumberBody\":case\"EnumStringBody\":case\"EnumSymbolBody\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isEnumBooleanBody=function(e,t){return!!e&&\"EnumBooleanBody\"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumBooleanMember=function(e,t){return!!e&&\"EnumBooleanMember\"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumDeclaration=function(e,t){return!!e&&\"EnumDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumDefaultedMember=function(e,t){return!!e&&\"EnumDefaultedMember\"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumMember=function(e,t){if(!e)return!1;switch(e.type){case\"EnumBooleanMember\":case\"EnumNumberMember\":case\"EnumStringMember\":case\"EnumDefaultedMember\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isEnumNumberBody=function(e,t){return!!e&&\"EnumNumberBody\"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumNumberMember=function(e,t){return!!e&&\"EnumNumberMember\"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumStringBody=function(e,t){return!!e&&\"EnumStringBody\"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumStringMember=function(e,t){return!!e&&\"EnumStringMember\"===e.type&&(null==t||(0,r.default)(e,t))},t.isEnumSymbolBody=function(e,t){return!!e&&\"EnumSymbolBody\"===e.type&&(null==t||(0,r.default)(e,t))},t.isExistsTypeAnnotation=function(e,t){return!!e&&\"ExistsTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportAllDeclaration=function(e,t){return!!e&&\"ExportAllDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportDeclaration=function(e,t){if(!e)return!1;switch(e.type){case\"ExportAllDeclaration\":case\"ExportDefaultDeclaration\":case\"ExportNamedDeclaration\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isExportDefaultDeclaration=function(e,t){return!!e&&\"ExportDefaultDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportDefaultSpecifier=function(e,t){return!!e&&\"ExportDefaultSpecifier\"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportNamedDeclaration=function(e,t){return!!e&&\"ExportNamedDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportNamespaceSpecifier=function(e,t){return!!e&&\"ExportNamespaceSpecifier\"===e.type&&(null==t||(0,r.default)(e,t))},t.isExportSpecifier=function(e,t){return!!e&&\"ExportSpecifier\"===e.type&&(null==t||(0,r.default)(e,t))},t.isExpression=function(e,t){if(!e)return!1;switch(e.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"StringLiteral\":case\"NumericLiteral\":case\"NullLiteral\":case\"BooleanLiteral\":case\"RegExpLiteral\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ParenthesizedExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":case\"ArrowFunctionExpression\":case\"ClassExpression\":case\"MetaProperty\":case\"Super\":case\"TaggedTemplateExpression\":case\"TemplateLiteral\":case\"YieldExpression\":case\"AwaitExpression\":case\"Import\":case\"BigIntLiteral\":case\"OptionalMemberExpression\":case\"OptionalCallExpression\":case\"TypeCastExpression\":case\"JSXElement\":case\"JSXFragment\":case\"BindExpression\":case\"DoExpression\":case\"RecordExpression\":case\"TupleExpression\":case\"DecimalLiteral\":case\"ModuleExpression\":case\"TopicReference\":case\"PipelineTopicExpression\":case\"PipelineBareFunction\":case\"PipelinePrimaryTopicReference\":case\"TSInstantiationExpression\":case\"TSAsExpression\":case\"TSSatisfiesExpression\":case\"TSTypeAssertion\":case\"TSNonNullExpression\":break;case\"Placeholder\":switch(e.expectedNode){case\"Expression\":case\"Identifier\":case\"StringLiteral\":break;default:return!1}break;default:return!1}return null==t||(0,r.default)(e,t)},t.isExpressionStatement=function(e,t){return!!e&&\"ExpressionStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isExpressionWrapper=function(e,t){if(!e)return!1;switch(e.type){case\"ExpressionStatement\":case\"ParenthesizedExpression\":case\"TypeCastExpression\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFile=function(e,t){return!!e&&\"File\"===e.type&&(null==t||(0,r.default)(e,t))},t.isFlow=function(e,t){if(!e)return!1;switch(e.type){case\"AnyTypeAnnotation\":case\"ArrayTypeAnnotation\":case\"BooleanTypeAnnotation\":case\"BooleanLiteralTypeAnnotation\":case\"NullLiteralTypeAnnotation\":case\"ClassImplements\":case\"DeclareClass\":case\"DeclareFunction\":case\"DeclareInterface\":case\"DeclareModule\":case\"DeclareModuleExports\":case\"DeclareTypeAlias\":case\"DeclareOpaqueType\":case\"DeclareVariable\":case\"DeclareExportDeclaration\":case\"DeclareExportAllDeclaration\":case\"DeclaredPredicate\":case\"ExistsTypeAnnotation\":case\"FunctionTypeAnnotation\":case\"FunctionTypeParam\":case\"GenericTypeAnnotation\":case\"InferredPredicate\":case\"InterfaceExtends\":case\"InterfaceDeclaration\":case\"InterfaceTypeAnnotation\":case\"IntersectionTypeAnnotation\":case\"MixedTypeAnnotation\":case\"EmptyTypeAnnotation\":case\"NullableTypeAnnotation\":case\"NumberLiteralTypeAnnotation\":case\"NumberTypeAnnotation\":case\"ObjectTypeAnnotation\":case\"ObjectTypeInternalSlot\":case\"ObjectTypeCallProperty\":case\"ObjectTypeIndexer\":case\"ObjectTypeProperty\":case\"ObjectTypeSpreadProperty\":case\"OpaqueType\":case\"QualifiedTypeIdentifier\":case\"StringLiteralTypeAnnotation\":case\"StringTypeAnnotation\":case\"SymbolTypeAnnotation\":case\"ThisTypeAnnotation\":case\"TupleTypeAnnotation\":case\"TypeofTypeAnnotation\":case\"TypeAlias\":case\"TypeAnnotation\":case\"TypeCastExpression\":case\"TypeParameter\":case\"TypeParameterDeclaration\":case\"TypeParameterInstantiation\":case\"UnionTypeAnnotation\":case\"Variance\":case\"VoidTypeAnnotation\":case\"EnumDeclaration\":case\"EnumBooleanBody\":case\"EnumNumberBody\":case\"EnumStringBody\":case\"EnumSymbolBody\":case\"EnumBooleanMember\":case\"EnumNumberMember\":case\"EnumStringMember\":case\"EnumDefaultedMember\":case\"IndexedAccessType\":case\"OptionalIndexedAccessType\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFlowBaseAnnotation=function(e,t){if(!e)return!1;switch(e.type){case\"AnyTypeAnnotation\":case\"BooleanTypeAnnotation\":case\"NullLiteralTypeAnnotation\":case\"MixedTypeAnnotation\":case\"EmptyTypeAnnotation\":case\"NumberTypeAnnotation\":case\"StringTypeAnnotation\":case\"SymbolTypeAnnotation\":case\"ThisTypeAnnotation\":case\"VoidTypeAnnotation\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFlowDeclaration=function(e,t){if(!e)return!1;switch(e.type){case\"DeclareClass\":case\"DeclareFunction\":case\"DeclareInterface\":case\"DeclareModule\":case\"DeclareModuleExports\":case\"DeclareTypeAlias\":case\"DeclareOpaqueType\":case\"DeclareVariable\":case\"DeclareExportDeclaration\":case\"DeclareExportAllDeclaration\":case\"InterfaceDeclaration\":case\"OpaqueType\":case\"TypeAlias\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFlowPredicate=function(e,t){if(!e)return!1;switch(e.type){case\"DeclaredPredicate\":case\"InferredPredicate\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFlowType=function(e,t){if(!e)return!1;switch(e.type){case\"AnyTypeAnnotation\":case\"ArrayTypeAnnotation\":case\"BooleanTypeAnnotation\":case\"BooleanLiteralTypeAnnotation\":case\"NullLiteralTypeAnnotation\":case\"ExistsTypeAnnotation\":case\"FunctionTypeAnnotation\":case\"GenericTypeAnnotation\":case\"InterfaceTypeAnnotation\":case\"IntersectionTypeAnnotation\":case\"MixedTypeAnnotation\":case\"EmptyTypeAnnotation\":case\"NullableTypeAnnotation\":case\"NumberLiteralTypeAnnotation\":case\"NumberTypeAnnotation\":case\"ObjectTypeAnnotation\":case\"StringLiteralTypeAnnotation\":case\"StringTypeAnnotation\":case\"SymbolTypeAnnotation\":case\"ThisTypeAnnotation\":case\"TupleTypeAnnotation\":case\"TypeofTypeAnnotation\":case\"UnionTypeAnnotation\":case\"VoidTypeAnnotation\":case\"IndexedAccessType\":case\"OptionalIndexedAccessType\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFor=function(e,t){if(!e)return!1;switch(e.type){case\"ForInStatement\":case\"ForStatement\":case\"ForOfStatement\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isForInStatement=function(e,t){return!!e&&\"ForInStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isForOfStatement=function(e,t){return!!e&&\"ForOfStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isForStatement=function(e,t){return!!e&&\"ForStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isForXStatement=function(e,t){if(!e)return!1;switch(e.type){case\"ForInStatement\":case\"ForOfStatement\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFunction=function(e,t){if(!e)return!1;switch(e.type){case\"FunctionDeclaration\":case\"FunctionExpression\":case\"ObjectMethod\":case\"ArrowFunctionExpression\":case\"ClassMethod\":case\"ClassPrivateMethod\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFunctionDeclaration=function(e,t){return!!e&&\"FunctionDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isFunctionExpression=function(e,t){return!!e&&\"FunctionExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isFunctionParent=function(e,t){if(!e)return!1;switch(e.type){case\"FunctionDeclaration\":case\"FunctionExpression\":case\"ObjectMethod\":case\"ArrowFunctionExpression\":case\"ClassMethod\":case\"ClassPrivateMethod\":case\"StaticBlock\":case\"TSModuleBlock\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isFunctionTypeAnnotation=function(e,t){return!!e&&\"FunctionTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isFunctionTypeParam=function(e,t){return!!e&&\"FunctionTypeParam\"===e.type&&(null==t||(0,r.default)(e,t))},t.isGenericTypeAnnotation=function(e,t){return!!e&&\"GenericTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isIdentifier=function(e,t){return!!e&&\"Identifier\"===e.type&&(null==t||(0,r.default)(e,t))},t.isIfStatement=function(e,t){return!!e&&\"IfStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isImmutable=function(e,t){if(!e)return!1;switch(e.type){case\"StringLiteral\":case\"NumericLiteral\":case\"NullLiteral\":case\"BooleanLiteral\":case\"BigIntLiteral\":case\"JSXAttribute\":case\"JSXClosingElement\":case\"JSXElement\":case\"JSXExpressionContainer\":case\"JSXSpreadChild\":case\"JSXOpeningElement\":case\"JSXText\":case\"JSXFragment\":case\"JSXOpeningFragment\":case\"JSXClosingFragment\":case\"DecimalLiteral\":break;case\"Placeholder\":if(\"StringLiteral\"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isImport=function(e,t){return!!e&&\"Import\"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportAttribute=function(e,t){return!!e&&\"ImportAttribute\"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportDeclaration=function(e,t){return!!e&&\"ImportDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportDefaultSpecifier=function(e,t){return!!e&&\"ImportDefaultSpecifier\"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportNamespaceSpecifier=function(e,t){return!!e&&\"ImportNamespaceSpecifier\"===e.type&&(null==t||(0,r.default)(e,t))},t.isImportOrExportDeclaration=s,t.isImportSpecifier=function(e,t){return!!e&&\"ImportSpecifier\"===e.type&&(null==t||(0,r.default)(e,t))},t.isIndexedAccessType=function(e,t){return!!e&&\"IndexedAccessType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isInferredPredicate=function(e,t){return!!e&&\"InferredPredicate\"===e.type&&(null==t||(0,r.default)(e,t))},t.isInterfaceDeclaration=function(e,t){return!!e&&\"InterfaceDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isInterfaceExtends=function(e,t){return!!e&&\"InterfaceExtends\"===e.type&&(null==t||(0,r.default)(e,t))},t.isInterfaceTypeAnnotation=function(e,t){return!!e&&\"InterfaceTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isInterpreterDirective=function(e,t){return!!e&&\"InterpreterDirective\"===e.type&&(null==t||(0,r.default)(e,t))},t.isIntersectionTypeAnnotation=function(e,t){return!!e&&\"IntersectionTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSX=function(e,t){if(!e)return!1;switch(e.type){case\"JSXAttribute\":case\"JSXClosingElement\":case\"JSXElement\":case\"JSXEmptyExpression\":case\"JSXExpressionContainer\":case\"JSXSpreadChild\":case\"JSXIdentifier\":case\"JSXMemberExpression\":case\"JSXNamespacedName\":case\"JSXOpeningElement\":case\"JSXSpreadAttribute\":case\"JSXText\":case\"JSXFragment\":case\"JSXOpeningFragment\":case\"JSXClosingFragment\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isJSXAttribute=function(e,t){return!!e&&\"JSXAttribute\"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXClosingElement=function(e,t){return!!e&&\"JSXClosingElement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXClosingFragment=function(e,t){return!!e&&\"JSXClosingFragment\"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXElement=function(e,t){return!!e&&\"JSXElement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXEmptyExpression=function(e,t){return!!e&&\"JSXEmptyExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXExpressionContainer=function(e,t){return!!e&&\"JSXExpressionContainer\"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXFragment=function(e,t){return!!e&&\"JSXFragment\"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXIdentifier=function(e,t){return!!e&&\"JSXIdentifier\"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXMemberExpression=function(e,t){return!!e&&\"JSXMemberExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXNamespacedName=function(e,t){return!!e&&\"JSXNamespacedName\"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXOpeningElement=function(e,t){return!!e&&\"JSXOpeningElement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXOpeningFragment=function(e,t){return!!e&&\"JSXOpeningFragment\"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXSpreadAttribute=function(e,t){return!!e&&\"JSXSpreadAttribute\"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXSpreadChild=function(e,t){return!!e&&\"JSXSpreadChild\"===e.type&&(null==t||(0,r.default)(e,t))},t.isJSXText=function(e,t){return!!e&&\"JSXText\"===e.type&&(null==t||(0,r.default)(e,t))},t.isLVal=function(e,t){if(!e)return!1;switch(e.type){case\"Identifier\":case\"MemberExpression\":case\"RestElement\":case\"AssignmentPattern\":case\"ArrayPattern\":case\"ObjectPattern\":case\"TSParameterProperty\":case\"TSAsExpression\":case\"TSSatisfiesExpression\":case\"TSTypeAssertion\":case\"TSNonNullExpression\":break;case\"Placeholder\":switch(e.expectedNode){case\"Pattern\":case\"Identifier\":break;default:return!1}break;default:return!1}return null==t||(0,r.default)(e,t)},t.isLabeledStatement=function(e,t){return!!e&&\"LabeledStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isLiteral=function(e,t){if(!e)return!1;switch(e.type){case\"StringLiteral\":case\"NumericLiteral\":case\"NullLiteral\":case\"BooleanLiteral\":case\"RegExpLiteral\":case\"TemplateLiteral\":case\"BigIntLiteral\":case\"DecimalLiteral\":break;case\"Placeholder\":if(\"StringLiteral\"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isLogicalExpression=function(e,t){return!!e&&\"LogicalExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isLoop=function(e,t){if(!e)return!1;switch(e.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":case\"ForOfStatement\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isMemberExpression=function(e,t){return!!e&&\"MemberExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isMetaProperty=function(e,t){return!!e&&\"MetaProperty\"===e.type&&(null==t||(0,r.default)(e,t))},t.isMethod=function(e,t){if(!e)return!1;switch(e.type){case\"ObjectMethod\":case\"ClassMethod\":case\"ClassPrivateMethod\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isMiscellaneous=function(e,t){if(!e)return!1;switch(e.type){case\"Noop\":case\"Placeholder\":case\"V8IntrinsicIdentifier\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isMixedTypeAnnotation=function(e,t){return!!e&&\"MixedTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isModuleDeclaration=function(e,t){return(0,i.default)(\"isModuleDeclaration\",\"isImportOrExportDeclaration\"),s(e,t)},t.isModuleExpression=function(e,t){return!!e&&\"ModuleExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isModuleSpecifier=function(e,t){if(!e)return!1;switch(e.type){case\"ExportSpecifier\":case\"ImportDefaultSpecifier\":case\"ImportNamespaceSpecifier\":case\"ImportSpecifier\":case\"ExportNamespaceSpecifier\":case\"ExportDefaultSpecifier\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isNewExpression=function(e,t){return!!e&&\"NewExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isNoop=function(e,t){return!!e&&\"Noop\"===e.type&&(null==t||(0,r.default)(e,t))},t.isNullLiteral=function(e,t){return!!e&&\"NullLiteral\"===e.type&&(null==t||(0,r.default)(e,t))},t.isNullLiteralTypeAnnotation=function(e,t){return!!e&&\"NullLiteralTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isNullableTypeAnnotation=function(e,t){return!!e&&\"NullableTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isNumberLiteral=function(e,t){return(0,i.default)(\"isNumberLiteral\",\"isNumericLiteral\"),!!e&&\"NumberLiteral\"===e.type&&(null==t||(0,r.default)(e,t))},t.isNumberLiteralTypeAnnotation=function(e,t){return!!e&&\"NumberLiteralTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isNumberTypeAnnotation=function(e,t){return!!e&&\"NumberTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isNumericLiteral=function(e,t){return!!e&&\"NumericLiteral\"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectExpression=function(e,t){return!!e&&\"ObjectExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectMember=function(e,t){if(!e)return!1;switch(e.type){case\"ObjectMethod\":case\"ObjectProperty\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isObjectMethod=function(e,t){return!!e&&\"ObjectMethod\"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectPattern=function(e,t){return!!e&&\"ObjectPattern\"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectProperty=function(e,t){return!!e&&\"ObjectProperty\"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeAnnotation=function(e,t){return!!e&&\"ObjectTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeCallProperty=function(e,t){return!!e&&\"ObjectTypeCallProperty\"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeIndexer=function(e,t){return!!e&&\"ObjectTypeIndexer\"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeInternalSlot=function(e,t){return!!e&&\"ObjectTypeInternalSlot\"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeProperty=function(e,t){return!!e&&\"ObjectTypeProperty\"===e.type&&(null==t||(0,r.default)(e,t))},t.isObjectTypeSpreadProperty=function(e,t){return!!e&&\"ObjectTypeSpreadProperty\"===e.type&&(null==t||(0,r.default)(e,t))},t.isOpaqueType=function(e,t){return!!e&&\"OpaqueType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isOptionalCallExpression=function(e,t){return!!e&&\"OptionalCallExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isOptionalIndexedAccessType=function(e,t){return!!e&&\"OptionalIndexedAccessType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isOptionalMemberExpression=function(e,t){return!!e&&\"OptionalMemberExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isParenthesizedExpression=function(e,t){return!!e&&\"ParenthesizedExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isPattern=function(e,t){if(!e)return!1;switch(e.type){case\"AssignmentPattern\":case\"ArrayPattern\":case\"ObjectPattern\":break;case\"Placeholder\":if(\"Pattern\"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isPatternLike=function(e,t){if(!e)return!1;switch(e.type){case\"Identifier\":case\"RestElement\":case\"AssignmentPattern\":case\"ArrayPattern\":case\"ObjectPattern\":case\"TSAsExpression\":case\"TSSatisfiesExpression\":case\"TSTypeAssertion\":case\"TSNonNullExpression\":break;case\"Placeholder\":switch(e.expectedNode){case\"Pattern\":case\"Identifier\":break;default:return!1}break;default:return!1}return null==t||(0,r.default)(e,t)},t.isPipelineBareFunction=function(e,t){return!!e&&\"PipelineBareFunction\"===e.type&&(null==t||(0,r.default)(e,t))},t.isPipelinePrimaryTopicReference=function(e,t){return!!e&&\"PipelinePrimaryTopicReference\"===e.type&&(null==t||(0,r.default)(e,t))},t.isPipelineTopicExpression=function(e,t){return!!e&&\"PipelineTopicExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isPlaceholder=function(e,t){return!!e&&\"Placeholder\"===e.type&&(null==t||(0,r.default)(e,t))},t.isPrivate=function(e,t){if(!e)return!1;switch(e.type){case\"ClassPrivateProperty\":case\"ClassPrivateMethod\":case\"PrivateName\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isPrivateName=function(e,t){return!!e&&\"PrivateName\"===e.type&&(null==t||(0,r.default)(e,t))},t.isProgram=function(e,t){return!!e&&\"Program\"===e.type&&(null==t||(0,r.default)(e,t))},t.isProperty=function(e,t){if(!e)return!1;switch(e.type){case\"ObjectProperty\":case\"ClassProperty\":case\"ClassAccessorProperty\":case\"ClassPrivateProperty\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isPureish=function(e,t){if(!e)return!1;switch(e.type){case\"FunctionDeclaration\":case\"FunctionExpression\":case\"StringLiteral\":case\"NumericLiteral\":case\"NullLiteral\":case\"BooleanLiteral\":case\"RegExpLiteral\":case\"ArrowFunctionExpression\":case\"BigIntLiteral\":case\"DecimalLiteral\":break;case\"Placeholder\":if(\"StringLiteral\"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isQualifiedTypeIdentifier=function(e,t){return!!e&&\"QualifiedTypeIdentifier\"===e.type&&(null==t||(0,r.default)(e,t))},t.isRecordExpression=function(e,t){return!!e&&\"RecordExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isRegExpLiteral=function(e,t){return!!e&&\"RegExpLiteral\"===e.type&&(null==t||(0,r.default)(e,t))},t.isRegexLiteral=function(e,t){return(0,i.default)(\"isRegexLiteral\",\"isRegExpLiteral\"),!!e&&\"RegexLiteral\"===e.type&&(null==t||(0,r.default)(e,t))},t.isRestElement=function(e,t){return!!e&&\"RestElement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isRestProperty=function(e,t){return(0,i.default)(\"isRestProperty\",\"isRestElement\"),!!e&&\"RestProperty\"===e.type&&(null==t||(0,r.default)(e,t))},t.isReturnStatement=function(e,t){return!!e&&\"ReturnStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isScopable=function(e,t){if(!e)return!1;switch(e.type){case\"BlockStatement\":case\"CatchClause\":case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"FunctionDeclaration\":case\"FunctionExpression\":case\"Program\":case\"ObjectMethod\":case\"SwitchStatement\":case\"WhileStatement\":case\"ArrowFunctionExpression\":case\"ClassExpression\":case\"ClassDeclaration\":case\"ForOfStatement\":case\"ClassMethod\":case\"ClassPrivateMethod\":case\"StaticBlock\":case\"TSModuleBlock\":break;case\"Placeholder\":if(\"BlockStatement\"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isSequenceExpression=function(e,t){return!!e&&\"SequenceExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isSpreadElement=function(e,t){return!!e&&\"SpreadElement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isSpreadProperty=function(e,t){return(0,i.default)(\"isSpreadProperty\",\"isSpreadElement\"),!!e&&\"SpreadProperty\"===e.type&&(null==t||(0,r.default)(e,t))},t.isStandardized=function(e,t){if(!e)return!1;switch(e.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"InterpreterDirective\":case\"Directive\":case\"DirectiveLiteral\":case\"BlockStatement\":case\"BreakStatement\":case\"CallExpression\":case\"CatchClause\":case\"ConditionalExpression\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"File\":case\"ForInStatement\":case\"ForStatement\":case\"FunctionDeclaration\":case\"FunctionExpression\":case\"Identifier\":case\"IfStatement\":case\"LabeledStatement\":case\"StringLiteral\":case\"NumericLiteral\":case\"NullLiteral\":case\"BooleanLiteral\":case\"RegExpLiteral\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"Program\":case\"ObjectExpression\":case\"ObjectMethod\":case\"ObjectProperty\":case\"RestElement\":case\"ReturnStatement\":case\"SequenceExpression\":case\"ParenthesizedExpression\":case\"SwitchCase\":case\"SwitchStatement\":case\"ThisExpression\":case\"ThrowStatement\":case\"TryStatement\":case\"UnaryExpression\":case\"UpdateExpression\":case\"VariableDeclaration\":case\"VariableDeclarator\":case\"WhileStatement\":case\"WithStatement\":case\"AssignmentPattern\":case\"ArrayPattern\":case\"ArrowFunctionExpression\":case\"ClassBody\":case\"ClassExpression\":case\"ClassDeclaration\":case\"ExportAllDeclaration\":case\"ExportDefaultDeclaration\":case\"ExportNamedDeclaration\":case\"ExportSpecifier\":case\"ForOfStatement\":case\"ImportDeclaration\":case\"ImportDefaultSpecifier\":case\"ImportNamespaceSpecifier\":case\"ImportSpecifier\":case\"MetaProperty\":case\"ClassMethod\":case\"ObjectPattern\":case\"SpreadElement\":case\"Super\":case\"TaggedTemplateExpression\":case\"TemplateElement\":case\"TemplateLiteral\":case\"YieldExpression\":case\"AwaitExpression\":case\"Import\":case\"BigIntLiteral\":case\"ExportNamespaceSpecifier\":case\"OptionalMemberExpression\":case\"OptionalCallExpression\":case\"ClassProperty\":case\"ClassAccessorProperty\":case\"ClassPrivateProperty\":case\"ClassPrivateMethod\":case\"PrivateName\":case\"StaticBlock\":break;case\"Placeholder\":switch(e.expectedNode){case\"Identifier\":case\"StringLiteral\":case\"BlockStatement\":case\"ClassBody\":break;default:return!1}break;default:return!1}return null==t||(0,r.default)(e,t)},t.isStatement=function(e,t){if(!e)return!1;switch(e.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"FunctionDeclaration\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":case\"ClassDeclaration\":case\"ExportAllDeclaration\":case\"ExportDefaultDeclaration\":case\"ExportNamedDeclaration\":case\"ForOfStatement\":case\"ImportDeclaration\":case\"DeclareClass\":case\"DeclareFunction\":case\"DeclareInterface\":case\"DeclareModule\":case\"DeclareModuleExports\":case\"DeclareTypeAlias\":case\"DeclareOpaqueType\":case\"DeclareVariable\":case\"DeclareExportDeclaration\":case\"DeclareExportAllDeclaration\":case\"InterfaceDeclaration\":case\"OpaqueType\":case\"TypeAlias\":case\"EnumDeclaration\":case\"TSDeclareFunction\":case\"TSInterfaceDeclaration\":case\"TSTypeAliasDeclaration\":case\"TSEnumDeclaration\":case\"TSModuleDeclaration\":case\"TSImportEqualsDeclaration\":case\"TSExportAssignment\":case\"TSNamespaceExportDeclaration\":break;case\"Placeholder\":switch(e.expectedNode){case\"Statement\":case\"Declaration\":case\"BlockStatement\":break;default:return!1}break;default:return!1}return null==t||(0,r.default)(e,t)},t.isStaticBlock=function(e,t){return!!e&&\"StaticBlock\"===e.type&&(null==t||(0,r.default)(e,t))},t.isStringLiteral=function(e,t){return!!e&&\"StringLiteral\"===e.type&&(null==t||(0,r.default)(e,t))},t.isStringLiteralTypeAnnotation=function(e,t){return!!e&&\"StringLiteralTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isStringTypeAnnotation=function(e,t){return!!e&&\"StringTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isSuper=function(e,t){return!!e&&\"Super\"===e.type&&(null==t||(0,r.default)(e,t))},t.isSwitchCase=function(e,t){return!!e&&\"SwitchCase\"===e.type&&(null==t||(0,r.default)(e,t))},t.isSwitchStatement=function(e,t){return!!e&&\"SwitchStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isSymbolTypeAnnotation=function(e,t){return!!e&&\"SymbolTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSAnyKeyword=function(e,t){return!!e&&\"TSAnyKeyword\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSArrayType=function(e,t){return!!e&&\"TSArrayType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSAsExpression=function(e,t){return!!e&&\"TSAsExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSBaseType=function(e,t){if(!e)return!1;switch(e.type){case\"TSAnyKeyword\":case\"TSBooleanKeyword\":case\"TSBigIntKeyword\":case\"TSIntrinsicKeyword\":case\"TSNeverKeyword\":case\"TSNullKeyword\":case\"TSNumberKeyword\":case\"TSObjectKeyword\":case\"TSStringKeyword\":case\"TSSymbolKeyword\":case\"TSUndefinedKeyword\":case\"TSUnknownKeyword\":case\"TSVoidKeyword\":case\"TSThisType\":case\"TSLiteralType\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isTSBigIntKeyword=function(e,t){return!!e&&\"TSBigIntKeyword\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSBooleanKeyword=function(e,t){return!!e&&\"TSBooleanKeyword\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSCallSignatureDeclaration=function(e,t){return!!e&&\"TSCallSignatureDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSConditionalType=function(e,t){return!!e&&\"TSConditionalType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSConstructSignatureDeclaration=function(e,t){return!!e&&\"TSConstructSignatureDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSConstructorType=function(e,t){return!!e&&\"TSConstructorType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSDeclareFunction=function(e,t){return!!e&&\"TSDeclareFunction\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSDeclareMethod=function(e,t){return!!e&&\"TSDeclareMethod\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSEntityName=function(e,t){if(!e)return!1;switch(e.type){case\"Identifier\":case\"TSQualifiedName\":break;case\"Placeholder\":if(\"Identifier\"===e.expectedNode)break;default:return!1}return null==t||(0,r.default)(e,t)},t.isTSEnumDeclaration=function(e,t){return!!e&&\"TSEnumDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSEnumMember=function(e,t){return!!e&&\"TSEnumMember\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSExportAssignment=function(e,t){return!!e&&\"TSExportAssignment\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSExpressionWithTypeArguments=function(e,t){return!!e&&\"TSExpressionWithTypeArguments\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSExternalModuleReference=function(e,t){return!!e&&\"TSExternalModuleReference\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSFunctionType=function(e,t){return!!e&&\"TSFunctionType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSImportEqualsDeclaration=function(e,t){return!!e&&\"TSImportEqualsDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSImportType=function(e,t){return!!e&&\"TSImportType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSIndexSignature=function(e,t){return!!e&&\"TSIndexSignature\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSIndexedAccessType=function(e,t){return!!e&&\"TSIndexedAccessType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSInferType=function(e,t){return!!e&&\"TSInferType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSInstantiationExpression=function(e,t){return!!e&&\"TSInstantiationExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSInterfaceBody=function(e,t){return!!e&&\"TSInterfaceBody\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSInterfaceDeclaration=function(e,t){return!!e&&\"TSInterfaceDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSIntersectionType=function(e,t){return!!e&&\"TSIntersectionType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSIntrinsicKeyword=function(e,t){return!!e&&\"TSIntrinsicKeyword\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSLiteralType=function(e,t){return!!e&&\"TSLiteralType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSMappedType=function(e,t){return!!e&&\"TSMappedType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSMethodSignature=function(e,t){return!!e&&\"TSMethodSignature\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSModuleBlock=function(e,t){return!!e&&\"TSModuleBlock\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSModuleDeclaration=function(e,t){return!!e&&\"TSModuleDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNamedTupleMember=function(e,t){return!!e&&\"TSNamedTupleMember\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNamespaceExportDeclaration=function(e,t){return!!e&&\"TSNamespaceExportDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNeverKeyword=function(e,t){return!!e&&\"TSNeverKeyword\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNonNullExpression=function(e,t){return!!e&&\"TSNonNullExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNullKeyword=function(e,t){return!!e&&\"TSNullKeyword\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSNumberKeyword=function(e,t){return!!e&&\"TSNumberKeyword\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSObjectKeyword=function(e,t){return!!e&&\"TSObjectKeyword\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSOptionalType=function(e,t){return!!e&&\"TSOptionalType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSParameterProperty=function(e,t){return!!e&&\"TSParameterProperty\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSParenthesizedType=function(e,t){return!!e&&\"TSParenthesizedType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSPropertySignature=function(e,t){return!!e&&\"TSPropertySignature\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSQualifiedName=function(e,t){return!!e&&\"TSQualifiedName\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSRestType=function(e,t){return!!e&&\"TSRestType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSSatisfiesExpression=function(e,t){return!!e&&\"TSSatisfiesExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSStringKeyword=function(e,t){return!!e&&\"TSStringKeyword\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSSymbolKeyword=function(e,t){return!!e&&\"TSSymbolKeyword\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSThisType=function(e,t){return!!e&&\"TSThisType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTupleType=function(e,t){return!!e&&\"TSTupleType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSType=function(e,t){if(!e)return!1;switch(e.type){case\"TSAnyKeyword\":case\"TSBooleanKeyword\":case\"TSBigIntKeyword\":case\"TSIntrinsicKeyword\":case\"TSNeverKeyword\":case\"TSNullKeyword\":case\"TSNumberKeyword\":case\"TSObjectKeyword\":case\"TSStringKeyword\":case\"TSSymbolKeyword\":case\"TSUndefinedKeyword\":case\"TSUnknownKeyword\":case\"TSVoidKeyword\":case\"TSThisType\":case\"TSFunctionType\":case\"TSConstructorType\":case\"TSTypeReference\":case\"TSTypePredicate\":case\"TSTypeQuery\":case\"TSTypeLiteral\":case\"TSArrayType\":case\"TSTupleType\":case\"TSOptionalType\":case\"TSRestType\":case\"TSUnionType\":case\"TSIntersectionType\":case\"TSConditionalType\":case\"TSInferType\":case\"TSParenthesizedType\":case\"TSTypeOperator\":case\"TSIndexedAccessType\":case\"TSMappedType\":case\"TSLiteralType\":case\"TSExpressionWithTypeArguments\":case\"TSImportType\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isTSTypeAliasDeclaration=function(e,t){return!!e&&\"TSTypeAliasDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeAnnotation=function(e,t){return!!e&&\"TSTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeAssertion=function(e,t){return!!e&&\"TSTypeAssertion\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeElement=function(e,t){if(!e)return!1;switch(e.type){case\"TSCallSignatureDeclaration\":case\"TSConstructSignatureDeclaration\":case\"TSPropertySignature\":case\"TSMethodSignature\":case\"TSIndexSignature\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isTSTypeLiteral=function(e,t){return!!e&&\"TSTypeLiteral\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeOperator=function(e,t){return!!e&&\"TSTypeOperator\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeParameter=function(e,t){return!!e&&\"TSTypeParameter\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeParameterDeclaration=function(e,t){return!!e&&\"TSTypeParameterDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeParameterInstantiation=function(e,t){return!!e&&\"TSTypeParameterInstantiation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypePredicate=function(e,t){return!!e&&\"TSTypePredicate\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeQuery=function(e,t){return!!e&&\"TSTypeQuery\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSTypeReference=function(e,t){return!!e&&\"TSTypeReference\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSUndefinedKeyword=function(e,t){return!!e&&\"TSUndefinedKeyword\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSUnionType=function(e,t){return!!e&&\"TSUnionType\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSUnknownKeyword=function(e,t){return!!e&&\"TSUnknownKeyword\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTSVoidKeyword=function(e,t){return!!e&&\"TSVoidKeyword\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTaggedTemplateExpression=function(e,t){return!!e&&\"TaggedTemplateExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTemplateElement=function(e,t){return!!e&&\"TemplateElement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTemplateLiteral=function(e,t){return!!e&&\"TemplateLiteral\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTerminatorless=function(e,t){if(!e)return!1;switch(e.type){case\"BreakStatement\":case\"ContinueStatement\":case\"ReturnStatement\":case\"ThrowStatement\":case\"YieldExpression\":case\"AwaitExpression\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isThisExpression=function(e,t){return!!e&&\"ThisExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isThisTypeAnnotation=function(e,t){return!!e&&\"ThisTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isThrowStatement=function(e,t){return!!e&&\"ThrowStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTopicReference=function(e,t){return!!e&&\"TopicReference\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTryStatement=function(e,t){return!!e&&\"TryStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTupleExpression=function(e,t){return!!e&&\"TupleExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTupleTypeAnnotation=function(e,t){return!!e&&\"TupleTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeAlias=function(e,t){return!!e&&\"TypeAlias\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeAnnotation=function(e,t){return!!e&&\"TypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeCastExpression=function(e,t){return!!e&&\"TypeCastExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeParameter=function(e,t){return!!e&&\"TypeParameter\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeParameterDeclaration=function(e,t){return!!e&&\"TypeParameterDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeParameterInstantiation=function(e,t){return!!e&&\"TypeParameterInstantiation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isTypeScript=function(e,t){if(!e)return!1;switch(e.type){case\"TSParameterProperty\":case\"TSDeclareFunction\":case\"TSDeclareMethod\":case\"TSQualifiedName\":case\"TSCallSignatureDeclaration\":case\"TSConstructSignatureDeclaration\":case\"TSPropertySignature\":case\"TSMethodSignature\":case\"TSIndexSignature\":case\"TSAnyKeyword\":case\"TSBooleanKeyword\":case\"TSBigIntKeyword\":case\"TSIntrinsicKeyword\":case\"TSNeverKeyword\":case\"TSNullKeyword\":case\"TSNumberKeyword\":case\"TSObjectKeyword\":case\"TSStringKeyword\":case\"TSSymbolKeyword\":case\"TSUndefinedKeyword\":case\"TSUnknownKeyword\":case\"TSVoidKeyword\":case\"TSThisType\":case\"TSFunctionType\":case\"TSConstructorType\":case\"TSTypeReference\":case\"TSTypePredicate\":case\"TSTypeQuery\":case\"TSTypeLiteral\":case\"TSArrayType\":case\"TSTupleType\":case\"TSOptionalType\":case\"TSRestType\":case\"TSNamedTupleMember\":case\"TSUnionType\":case\"TSIntersectionType\":case\"TSConditionalType\":case\"TSInferType\":case\"TSParenthesizedType\":case\"TSTypeOperator\":case\"TSIndexedAccessType\":case\"TSMappedType\":case\"TSLiteralType\":case\"TSExpressionWithTypeArguments\":case\"TSInterfaceDeclaration\":case\"TSInterfaceBody\":case\"TSTypeAliasDeclaration\":case\"TSInstantiationExpression\":case\"TSAsExpression\":case\"TSSatisfiesExpression\":case\"TSTypeAssertion\":case\"TSEnumDeclaration\":case\"TSEnumMember\":case\"TSModuleDeclaration\":case\"TSModuleBlock\":case\"TSImportType\":case\"TSImportEqualsDeclaration\":case\"TSExternalModuleReference\":case\"TSNonNullExpression\":case\"TSExportAssignment\":case\"TSNamespaceExportDeclaration\":case\"TSTypeAnnotation\":case\"TSTypeParameterInstantiation\":case\"TSTypeParameterDeclaration\":case\"TSTypeParameter\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isTypeofTypeAnnotation=function(e,t){return!!e&&\"TypeofTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isUnaryExpression=function(e,t){return!!e&&\"UnaryExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isUnaryLike=function(e,t){if(!e)return!1;switch(e.type){case\"UnaryExpression\":case\"SpreadElement\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isUnionTypeAnnotation=function(e,t){return!!e&&\"UnionTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isUpdateExpression=function(e,t){return!!e&&\"UpdateExpression\"===e.type&&(null==t||(0,r.default)(e,t))},t.isUserWhitespacable=function(e,t){if(!e)return!1;switch(e.type){case\"ObjectMethod\":case\"ObjectProperty\":case\"ObjectTypeInternalSlot\":case\"ObjectTypeCallProperty\":case\"ObjectTypeIndexer\":case\"ObjectTypeProperty\":case\"ObjectTypeSpreadProperty\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isV8IntrinsicIdentifier=function(e,t){return!!e&&\"V8IntrinsicIdentifier\"===e.type&&(null==t||(0,r.default)(e,t))},t.isVariableDeclaration=function(e,t){return!!e&&\"VariableDeclaration\"===e.type&&(null==t||(0,r.default)(e,t))},t.isVariableDeclarator=function(e,t){return!!e&&\"VariableDeclarator\"===e.type&&(null==t||(0,r.default)(e,t))},t.isVariance=function(e,t){return!!e&&\"Variance\"===e.type&&(null==t||(0,r.default)(e,t))},t.isVoidTypeAnnotation=function(e,t){return!!e&&\"VoidTypeAnnotation\"===e.type&&(null==t||(0,r.default)(e,t))},t.isWhile=function(e,t){if(!e)return!1;switch(e.type){case\"DoWhileStatement\":case\"WhileStatement\":break;default:return!1}return null==t||(0,r.default)(e,t)},t.isWhileStatement=function(e,t){return!!e&&\"WhileStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isWithStatement=function(e,t){return!!e&&\"WithStatement\"===e.type&&(null==t||(0,r.default)(e,t))},t.isYieldExpression=function(e,t){return!!e&&\"YieldExpression\"===e.type&&(null==t||(0,r.default)(e,t))};var r=n(9960),i=n(4619);function s(e,t){if(!e)return!1;switch(e.type){case\"ExportAllDeclaration\":case\"ExportDefaultDeclaration\":case\"ExportNamedDeclaration\":case\"ImportDeclaration\":break;default:return!1}return null==t||(0,r.default)(e,t)}},5171:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n){return!!t&&((0,i.default)(t.type,e)?void 0===n||(0,r.default)(t,n):!n&&\"Placeholder\"===t.type&&e in a.FLIPPED_ALIAS_KEYS&&(0,s.default)(t.expectedNode,e))};var r=n(9960),i=n(5179),s=n(8894),a=n(1678)},8443:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n){if(n&&\"Identifier\"===e.type&&\"ObjectProperty\"===t.type&&\"ObjectExpression\"===n.type)return!1;const i=r.default.keys[t.type];if(i)for(let n=0;n<i.length;n++){const r=t[i[n]];if(Array.isArray(r)){if(r.indexOf(e)>=0)return!0}else if(r===e)return!0}return!1};var r=n(984)},964:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return(0,r.isFunctionDeclaration)(e)||(0,r.isClassDeclaration)(e)||(0,i.default)(e)};var r=n(9869),i=n(3066)},1689:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return!!(0,r.default)(e.type,\"Immutable\")||!!(0,i.isIdentifier)(e)&&\"undefined\"===e.name};var r=n(5179),i=n(9869)},3066:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return(0,r.isVariableDeclaration)(e)&&(\"var\"!==e.kind||e[i.BLOCK_SCOPED_SYMBOL])};var r=n(9869),i=n(3725)},4814:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return!(!e||!r.VISITOR_KEYS[e.type])};var r=n(1678)},7997:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function e(t,n){if(\"object\"!=typeof t||\"object\"!=typeof n||null==t||null==n)return t===n;if(t.type!==n.type)return!1;const i=Object.keys(r.NODE_FIELDS[t.type]||t.type),s=r.VISITOR_KEYS[t.type];for(const r of i){const i=t[r],a=n[r];if(typeof i!=typeof a)return!1;if(null!=i||null!=a){if(null==i||null==a)return!1;if(Array.isArray(i)){if(!Array.isArray(a))return!1;if(i.length!==a.length)return!1;for(let t=0;t<i.length;t++)if(!e(i[t],a[t]))return!1}else if(\"object\"!=typeof i||null!=s&&s.includes(r)){if(!e(i,a))return!1}else for(const e of Object.keys(i))if(i[e]!==a[e])return!1}}return!0};var r=n(1678)},8894:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){if(e===t)return!0;const n=r.PLACEHOLDERS_ALIAS[e];if(n)for(const e of n)if(t===e)return!0;return!1};var r=n(1678)},3683:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n){switch(t.type){case\"MemberExpression\":case\"OptionalMemberExpression\":return t.property===e?!!t.computed:t.object===e;case\"JSXMemberExpression\":return t.object===e;case\"VariableDeclarator\":return t.init===e;case\"ArrowFunctionExpression\":return t.body===e;case\"PrivateName\":case\"LabeledStatement\":case\"CatchClause\":case\"RestElement\":case\"BreakStatement\":case\"ContinueStatement\":case\"FunctionDeclaration\":case\"FunctionExpression\":case\"ExportNamespaceSpecifier\":case\"ExportDefaultSpecifier\":case\"ImportDefaultSpecifier\":case\"ImportNamespaceSpecifier\":case\"ImportSpecifier\":case\"ImportAttribute\":case\"JSXAttribute\":case\"ObjectPattern\":case\"ArrayPattern\":case\"MetaProperty\":return!1;case\"ClassMethod\":case\"ClassPrivateMethod\":case\"ObjectMethod\":return t.key===e&&!!t.computed;case\"ObjectProperty\":return t.key===e?!!t.computed:!n||\"ObjectPattern\"!==n.type;case\"ClassProperty\":case\"ClassAccessorProperty\":case\"TSPropertySignature\":return t.key!==e||!!t.computed;case\"ClassPrivateProperty\":case\"ObjectTypeProperty\":return t.key!==e;case\"ClassDeclaration\":case\"ClassExpression\":return t.superClass===e;case\"AssignmentExpression\":case\"AssignmentPattern\":return t.right===e;case\"ExportSpecifier\":return(null==n||!n.source)&&t.local===e;case\"TSEnumMember\":return t.id!==e}return!0}},2126:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){return(!(0,r.isBlockStatement)(e)||!(0,r.isFunction)(t)&&!(0,r.isCatchClause)(t))&&(!(!(0,r.isPattern)(e)||!(0,r.isFunction)(t)&&!(0,r.isCatchClause)(t))||(0,r.isScopable)(e))};var r=n(9869)},8691:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return(0,r.isImportDefaultSpecifier)(e)||(0,r.isIdentifier)(e.imported||e.exported,{name:\"default\"})};var r=n(9869)},5179:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){if(e===t)return!0;if(null==e)return!1;if(r.ALIAS_KEYS[t])return!1;const n=r.FLIPPED_ALIAS_KEYS[t];if(n){if(n[0]===e)return!0;for(const t of n)if(e===t)return!0}return!1};var r=n(1678)},7879:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return(0,r.default)(e)&&!i.has(e)};var r=n(5820);const i=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\"])},5820:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t=!0){return\"string\"==typeof e&&((!t||!(0,r.isKeyword)(e)&&!(0,r.isStrictReservedWord)(e,!0))&&(0,r.isIdentifierName)(e))};var r=n(9649)},3358:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return(0,r.isVariableDeclaration)(e,{kind:\"var\"})&&!e[i.BLOCK_SCOPED_SYMBOL]};var r=n(9869),i=n(3725)},2693:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n){if(!(0,r.isMemberExpression)(e))return!1;const i=Array.isArray(t)?t:t.split(\".\"),s=[];let a;for(a=e;(0,r.isMemberExpression)(a);a=a.object)s.push(a.property);if(s.push(a),s.length<i.length)return!1;if(!n&&s.length>i.length)return!1;for(let e=0,t=s.length-1;e<i.length;e++,t--){const n=s[t];let a;if((0,r.isIdentifier)(n))a=n.name;else if((0,r.isStringLiteral)(n))a=n.value;else{if(!(0,r.isThisExpression)(n))return!1;a=\"this\"}if(i[e]!==a)return!1}return!0};var r=n(9869)},9733:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return!!e&&/^[a-z]/.test(e)}},4229:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var r=(0,n(2051).default)(\"React.Component\");t.default=r},7750:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n){if(!e)return;const a=r.NODE_FIELDS[e.type];if(!a)return;i(e,t,n,a[t]),s(e,t,n)},t.validateChild=s,t.validateField=i;var r=n(1678);function i(e,t,n,r){null!=r&&r.validate&&(r.optional&&null==n||r.validate(e,t,n))}function s(e,t,n){if(null==n)return;const i=r.NODE_PARENT_VALIDATIONS[n.type];i&&i(e,t,n)}},8487:e=>{\"use strict\";e.exports=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}}')}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var s=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(s.exports,s,s.exports,n),s.loaded=!0,s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var r={};return(()=>{\"use strict\";n.r(r),n.d(r,{ABSTRACTION_LEVELS:()=>ae,DEFINED_MODIFIERS:()=>Te,MODIFIED_TYPES:()=>c,MODIFIER_PRESETS:()=>ge,TOKEN_TYPES:()=>i,convertCodeToFlowTree:()=>Or,convertCodeToSvg:()=>wr,convertFlowTreeToSvg:()=>Ir,createFlowTreeBuilder:()=>xr,createFlowTreeModifier:()=>Dr,createPresentationGenerator:()=>Cr,createSVGRender:()=>Ar,createShapesTreeEditor:()=>vr});var e,t=n(5686),i={FUNCTION:\"Function\",FUNCTION_EXPRESSION:\"FunctionExpression\",FUNCTION_DECLARATION:\"FunctionDeclaration\",VARIABLE_DECLARATOR:\"VariableDeclarator\",ASSIGNMENT_EXPRESSION:\"AssignmentExpression\",MEMBER_EXPRESSION:\"MemberExpression\",VARIABLE_DECLARATION:\"VariableDeclaration\",UPDATE_EXPRESSION:\"UpdateExpression\",CALL_EXPRESSION:\"CallExpression\",NEW_EXPRESSION:\"NewExpression\",LOOP:\"Loop\",FOR_IN_STATEMENT:\"ForInStatement\",FOR_STATEMENT:\"ForStatement\",WHILE_STATEMENT:\"WhileStatement\",DO_WHILE_STATEMENT:\"DoWhileStatement\",CONTINUE:\"ContinueStatement\",CONDITIONAL:\"Conditional\",SWITCH_CASE:\"SwitchCase\",SWITCH_STATEMENT:\"SwitchStatement\",PROGRAM:\"Program\",RETURN:\"ReturnStatement\",BREAK:\"BreakStatement\",TRY_STATEMENT:\"TryStatement\",CATCH_CLAUSE:\"CatchClause\",WITH_STATEMENT:\"WithStatement\",THROW_STATEMENT:\"ThrowStatement\",DEBUGGER_STATEMENT:\"DebuggerStatement\",IDENTIFIER:\"Identifier\",ARRAY_EXPRESSION:\"ArrayExpression\",OBJECT_EXPRESSION:\"ObjectExpression\",OBJECT_PROPERTY:\"ObjectProperty\",OBJECT_METHOD:\"ObjectMethod\",BINARY_EXPRESSION:\"BinaryExpression\",EXPRESSION_STATEMENT:\"ExpressionStatement\",UNARY_EXPRESSION:\"UnaryExpression\",CONDITIONAL_EXPRESSION:\"ConditionalExpression\",STRING_LITERAL:\"StringLiteral\",NUMERIC_LITERAL:\"NumericLiteral\",THIS_EXPRESSION:\"ThisExpression\",LOGICAL_EXPRESSION:\"LogicalExpression\",ARROW_FUNCTION_EXPRESSION:\"ArrowFunctionExpression\",IMPORT_DECLARATION:\"ImportDeclaration\",IMPORT_DEFAULT_SPECIFIER:\"ImportDefaultSpecifier\",IMPORT_SPECIFIER:\"ImportSpecifier\",EXPORT_NAMED_DECLARATION:\"ExportNamedDeclaration\",EXPORT_DEFAULT_DECLARATION:\"ExportDefaultDeclaration\",CLASS_DECLARATION:\"ClassDeclaration\",CLASS_METHOD:\"ClassMethod\",FOR_OF_STATEMENT:\"ForOfStatement\",SPREAD_ELEMENT:\"SpreadElement\",SPREAD_PROPERTY:\"SpreadProperty\",REST_PROPERTY:\"RestProperty\",OBJECT_PATTERN:\"ObjectPattern\",ARRAY_PATTERN:\"ArrayPattern\",ASSIGNMENT_PATTERN:\"AssignmentPattern\"},s={BODY:\"body\",PROGRAM:\"program\",CONSEQUENT:\"consequent\",ALTERNATE:\"alternate\",TEST:\"test\"},a=\"RIGHT\",o=\"LEFT\",l=\"DOWN\",c={DESTRUCTED:\"DESTRUCTED\",CUSTOM:\"CUSTOM\"},u=n(7848),p=function(e){return(0,u.default)(e.node).code},h=function(e){var t=e.parent;if(!t||t.type!==i.VARIABLE_DECLARATOR&&t.type!==i.ASSIGNMENT_EXPRESSION&&t.type!==i.OBJECT_PROPERTY)return\"\";if(t.left)return(0,u.default)(t.left).code+\" = \";var n=t.id;return n?n.name+\" = \":\"\"},d=function(e){var t=e.node,n=e.parent&&e.parent.kind||\"\";if(t.init&&(b(t.init)||t.init.type===i.CONDITIONAL_EXPRESSION))return\"\".concat(n,\" \").concat(t.id.name,\" = \");var r;return r=t.id.type===i.OBJECT_PATTERN?\"{...}\":t.id.type===i.ARRAY_PATTERN?\"[...]\":t.id.name,t.init&&[i.CALL_EXPRESSION,i.NEW_EXPRESSION].includes(t.init.type)?\"\".concat(n,\" \").concat(r,\" = \")+y({node:t.init}):t.init&&t.init.type===i.OBJECT_EXPRESSION?\"\".concat(n,\" \").concat(r,\" = \").concat(T()):t.id&&t.id.type===i.OBJECT_PATTERN?\"\".concat(n,\" {...} = \").concat(t.init.name):t.id&&t.id.type===i.ARRAY_PATTERN?\"\".concat(n,\" [...] = \").concat(t.init.name):n+\" \"+(0,u.default)(t).code},f=function(e){return e.name?e.name:(0,u.default)(e).code},y=function(e){var t=e.node,n=\"\";t.arguments&&t.arguments.length&&(n=t.arguments.map(m).join(\", \"));var r=t.callee;return r.type===i.MEMBER_EXPRESSION&&r.object.type===i.CALL_EXPRESSION?{name:\".\".concat(r.property.name,\"(\").concat(n,\")\"),chain:!0}:n?\"\".concat((0,u.default)(t.callee).code,\"(\").concat(n,\")\"):(0,u.default)(t).code},m=function(e){return b(e)?\"*()\":e.type===i.OBJECT_EXPRESSION?T():e.name?e.name:e.value?e.type===i.STRING_LITERAL?\"'\".concat(e.value,\"'\"):e.value:(0,u.default)(e).code},T=function(e){return e?{name:\"{*}\",pathParentType:e.parent.type}:\"{*}\"},g=function(e){return[i.FUNCTION_EXPRESSION,i.FUNCTION,i.ARROW_FUNCTION_EXPRESSION,i.FUNCTION_DECLARATION].includes(e)},b=function(e){var t=[i.ARROW_FUNCTION_EXPRESSION,i.FUNCTION_EXPRESSION];return e&&-1!==t.indexOf(e.type)},E=function(e){var t=e.declaration,n=e.specifiers;return t?\" \"+S(t):n?\"\":(0,u.default)(n).code},S=function(e){return-1!==[i.FUNCTION_DECLARATION,i.ARROW_FUNCTION_EXPRESSION].indexOf(e.type)?e.id?e.id.name:\"function\":e.type===i.VARIABLE_DECLARATION?e.declarations[0].id.name:e.type===i.IDENTIFIER?e.name:e.type===i.ASSIGNMENT_EXPRESSION?e.left.name:void 0};function P(e){return P=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},P(e)}function x(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==P(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==P(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===P(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var D=function(e){var t=e.getStatementParent(),n=e.parent||{};return![s.CONSEQUENT,s.ALTERNATE].includes(e.key)&&([\"params\"].includes(e.listKey)||t.isReturnStatement()&&\"body\"!==e.key||(t.isLoop()||t.isConditional()||n.type===i.CONDITIONAL_EXPRESSION)&&[\"test\",\"left\",\"right\"].includes(e.parentKey)||[i.RETURN,i.CALL_EXPRESSION,i.BINARY_EXPRESSION,i.UPDATE_EXPRESSION,i.ASSIGNMENT_EXPRESSION,i.LOGICAL_EXPRESSION,i.VARIABLE_DECLARATOR,i.MEMBER_EXPRESSION,i.NEW_EXPRESSION,i.FUNCTION_DECLARATION,i.FUNCTION_EXPRESSION,i.ARROW_FUNCTION_EXPRESSION,i.FUNCTION,i.OBJECT_PROPERTY,i.ASSIGNMENT_PATTERN,i.REST_PROPERTY,i.SPREAD_ELEMENT,i.ARRAY_EXPRESSION,i.UNARY_EXPRESSION,i.IMPORT_DEFAULT_SPECIFIER,i.IMPORT_SPECIFIER,i.IMPORT_DECLARATION,i.EXPORT_DEFAULT_DECLARATION,i.EXPORT_NAMED_DECLARATION,i.CLASS_DECLARATION,i.CLASS_METHOD,i.SWITCH_STATEMENT,i.SWITCH_CASE].includes(n.type)&&(!n.body||n.body.type!==e.node.type))},A=(x(e={},i.FUNCTION,{type:i.FUNCTION,getName:function(e){var t,n=e.node,r=(t=n.params,\"(\".concat(t.map((function(e){return e.name?e.name:(0,u.default)(e).code})).join(\", \"),\")\"));return{name:n.id?h(e)+\"function \"+n.id.name+r:n.type===i.ARROW_FUNCTION_EXPRESSION?h(e)+r+\" =>\":n.type===i.CLASS_METHOD||n.type===i.OBJECT_METHOD?\"constructor\"===n.kind?\"constructor\"+r:n.key.name+r:h(e)+\"function\"+r,pathParentType:e.parent.type}},body:!0}),x(e,i.RETURN,{type:i.RETURN,getName:function(e){var t=e.node;return t.argument&&([i.CONDITIONAL_EXPRESSION,i.OBJECT_EXPRESSION].includes(t.argument.type)||g(t.argument.type))?\"return\":e.node.argument?\"return \".concat((0,u.default)(e.node.argument).code):\"return\"},body:!0}),x(e,i.VARIABLE_DECLARATOR,{type:i.VARIABLE_DECLARATOR,body:!0,getName:d,ignore:function(e){var t=e.getStatementParent();return!e.node.init||b(e.node.init)||t.isLoop()}}),x(e,i.ASSIGNMENT_EXPRESSION,{type:i.ASSIGNMENT_EXPRESSION,body:!0,getName:function(e){var t=e.node;return b(t.right)||t.right.type===i.CONDITIONAL_EXPRESSION?\"\".concat(f(t.left),\" \").concat(t.operator,\" \"):t.right.type===i.OBJECT_EXPRESSION?\"\".concat(f(t.left),\" \").concat(t.operator,\" \").concat(T()):[i.CALL_EXPRESSION,i.NEW_EXPRESSION].includes(t.right.type)?\"\".concat(f(t.left),\" \").concat(t.operator,\" \").concat(y({node:t.right})):(0,u.default)(t).code},ignore:function(e){var t=e.getStatementParent();return t.isVariableDeclaration()||e.parent.type===i.LOGICAL_EXPRESSION||t.isConditional()&&e.key===s.TEST||b(e.node.right)}}),x(e,i.CALL_EXPRESSION,{type:i.CALL_EXPRESSION,body:!1,reversed:!0,getName:y,ignore:function(e){var t=e.getStatementParent(),n=e.parent||{};return n.type!==i.ARROW_FUNCTION_EXPRESSION&&(t.isVariableDeclaration()||[i.RETURN,i.CALL_EXPRESSION,i.NEW_EXPRESSION,i.UNARY_EXPRESSION,i.BINARY_EXPRESSION].includes(n.type)||t.isConditional()&&n.test&&n.test.type===i.CALL_EXPRESSION||e.parent.type===i.ASSIGNMENT_EXPRESSION)}}),x(e,i.UPDATE_EXPRESSION,{type:i.UPDATE_EXPRESSION,getName:p,ignore:function(e){return e.getStatementParent().isVariableDeclaration()}}),x(e,i.NEW_EXPRESSION,{type:i.NEW_EXPRESSION,getName:p,ignore:function(e){return e.getStatementParent().isVariableDeclaration()||e.parent.type===i.ASSIGNMENT_EXPRESSION||e.parent.type===i.THROW_STATEMENT}}),x(e,i.LOOP,{type:i.LOOP,getName:function(e){var t=e.node;if(t.test)return(0,u.default)(t.test).code;if(t.left&&t.right){var n=t.type===i.FOR_OF_STATEMENT?\"of\":\"in\",r=t.left.type===i.VARIABLE_DECLARATION?t.left.declarations.map((function(e){return d({node:e})})).join(\", \"):(0,u.default)(t.left).code;return\"\".concat(r,\" \").concat(n,\" \").concat((0,u.default)(t.right).code)}},body:!0}),x(e,i.CONTINUE,{type:i.CONTINUE,getName:function(e){return e.node.label?\"continue \".concat((0,u.default)(e.node.label).code):\"continue\"},body:!0}),x(e,i.CONDITIONAL,{type:i.CONDITIONAL,getName:function(e){return\"(\".concat((0,u.default)(e.node.test).code,\")\")},body:!0}),x(e,i.SWITCH_STATEMENT,{type:i.SWITCH_STATEMENT,getName:function(e){return\"switch (\".concat((0,u.default)(e.node.discriminant).code,\")\")},body:!0}),x(e,i.SWITCH_CASE,{type:i.SWITCH_CASE,getName:function(e){return e.node.test?\"case \".concat((0,u.default)(e.node.test).code,\":\"):\"default:\"},body:!0}),x(e,i.BREAK,{type:i.BREAK,getName:function(e){return e.node.label?\"break \".concat((0,u.default)(e.node.label).code,\":\"):\"break\"},body:!0}),x(e,i.TRY_STATEMENT,{type:i.TRY_STATEMENT,getName:function(e){return\"try\"},body:!0}),x(e,i.CATCH_CLAUSE,{type:i.CATCH_CLAUSE,getName:function(e){return e.node.param?\"catch (\".concat((0,u.default)(e.node.param).code,\")\"):\"*catchConverter*\"},body:!0}),x(e,i.WITH_STATEMENT,{type:i.WITH_STATEMENT,getName:function(e){return\"with (\".concat((0,u.default)(e.node.object).code,\")\")},body:!0}),x(e,i.PROGRAM,{type:i.PROGRAM,getName:function(e){return\"\".concat(e.node.type,\": source \").concat(e.node.sourceType)},body:!0}),x(e,i.THROW_STATEMENT,{type:i.THROW_STATEMENT,getName:function(e){return\"throw \".concat((0,u.default)(e.node.argument).code)},body:!0}),x(e,i.DEBUGGER_STATEMENT,{type:i.DEBUGGER_STATEMENT,getName:function(e){return\"debugger\"},body:!0}),x(e,i.BINARY_EXPRESSION,{type:i.BINARY_EXPRESSION,getName:p,ignore:D}),x(e,i.IDENTIFIER,{type:i.IDENTIFIER,getName:function(e){return e.parent.type===i.SPREAD_PROPERTY?\"...\"+p(e):p(e)},ignore:D}),x(e,i.STRING_LITERAL,{type:i.STRING_LITERAL,getName:p,ignore:D}),x(e,i.NUMERIC_LITERAL,{type:i.NUMERIC_LITERAL,getName:p,ignore:D}),x(e,i.OBJECT_EXPRESSION,{type:i.OBJECT_EXPRESSION,getName:T,ignore:function(e){var t=e.node;return!(!t.properties||t.properties.length)||[i.OBJECT_PROPERTY,i.ASSIGNMENT_EXPRESSION,i.VARIABLE_DECLARATOR].includes(e.parent.type)},body:!0}),x(e,i.OBJECT_PROPERTY,{type:i.OBJECT_PROPERTY,getName:function(e){var t=e.node;return t.value&&g(t.value.type)?t.key.name+\": \":t.value&&t.value.type===i.OBJECT_EXPRESSION?t.key.name+\": \"+T():(0,u.default)(t).code},ignore:function(e){var t=e.parentPath;return[\"params\",\"left\"].includes(t.parentKey)},body:!0}),x(e,i.IMPORT_DECLARATION,{type:i.IMPORT_DECLARATION,getName:function(e){var t=e.node;return\"import from\"+(0,u.default)(t.source).code},body:!0}),x(e,i.IMPORT_DEFAULT_SPECIFIER,{type:i.IMPORT_DEFAULT_SPECIFIER,getName:p}),x(e,i.IMPORT_SPECIFIER,{type:i.IMPORT_SPECIFIER,getName:p}),x(e,i.EXPORT_DEFAULT_DECLARATION,{type:i.EXPORT_DEFAULT_DECLARATION,getName:function(e){var t=e.node;return\"export default \".concat(E(t))},body:!0}),x(e,i.EXPORT_NAMED_DECLARATION,{type:i.EXPORT_NAMED_DECLARATION,getName:function(e){var t=e.node;return\"export\".concat(E(t))},body:!0}),x(e,i.CLASS_DECLARATION,{type:i.CLASS_DECLARATION,getName:function(e){var t=e.node;return\"class \".concat((0,u.default)(t.id).code,\" \").concat(t.superClass?\" extends \".concat((0,u.default)(t.superClass).code):\"\")},body:!0}),x(e,i.OBJECT_PATTERN,{type:i.OBJECT_PATTERN,getName:function(){return\"{...}\"},ignore:function(e){return\"params\"===e.listKey||[i.VARIABLE_DECLARATOR,i.ASSIGNMENT_PATTERN].includes(e.parent.type)},body:!0}),x(e,i.ARRAY_PATTERN,{type:i.ARRAY_PATTERN,getName:function(){return\"[...]\"},ignore:function(e){return\"params\"===e.listKey||[i.VARIABLE_DECLARATOR,i.ASSIGNMENT_PATTERN].includes(e.parent.type)},body:!0}),e),v=Object.keys(A).map((function(e){return A[e]})),C=n(7191),w=n(9996),O=n.n(w);function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var N=function(e,t){return Object.assign.apply(null,[{state:e}].concat(function(e){if(Array.isArray(e))return I(e)}(n=t.map((function(t){return t(e)})))||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(n)||function(e,t){if(e){if(\"string\"==typeof e)return I(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?I(e,t):void 0}}(n)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()));var n},F=function(e,t){return O()(e,t)},k=function(e){return{list:e?[e]:[],getCurrent:function(){if(this.list.length)return this.list[this.list.length-1]},stepIn:function(e){this.list.push(e)},stepOut:function(){this.list.pop()}}},L=function(e){console.error(e)};const _={sourceType:\"module\",plugins:[\"objectRestSpread\",\"jsx\",\"typescript\",\"classProperties\",\"asyncGenerators\",\"dynamicImport\",\"exportDefaultFrom\",\"exportNamespaceFrom\",\"optionalChaining\",\"nullishCoalescingOperator\"]};function M(e){return M=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},M(e)}function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function j(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?B(Object(n),!0).forEach((function(t){var r,i,s;r=e,i=t,s=n[t],(i=function(e){var t=function(e,t){if(\"object\"!==M(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==M(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===M(t)?t:String(t)}(i))in r?Object.defineProperty(r,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[i]=s})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):B(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var R=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[];try{n=C.parse(e,F(_,t))}catch(e){throw L(\"Error at parseCodeToAST: \"+e.message,e.loc,e.stack),e}return n},U=function(e,t){return function(n,r){if(!e.ignore||!e.ignore(n)){var i=j({},q(e,n));r&&r(i)||W(t,i)}}},V=function(e,t){return function(n,r){if(!e.ignore||!e.ignore(n)){var i=K(e,t,n,r);t.stepIn(i)}}},K=function(e,t,n,r){var i=j(j({},q(e,n)),{},{body:[]});return r&&r(i)||W(t,i),i},W=function(e,t){var n=e.getCurrent();t.parent=n,(n.body||n).push(t)},X=function(e){var t=e.find((function(e){return e.parentKey===s.PROGRAM||e.isStatementOrBlock()}))||{};return t.key},Y=function(e,t){return function(n){e.ignore&&e.ignore(n)||t.stepOut()}},q=function(e,t){var n=e.getName(t),r=j(j({},\"string\"==typeof n?{name:n}:n),{},{type:e.type,key:X(t),isBodyEntry:t.key===s.BODY});return r.name||(r.name=\"\"),e.type!==t.node.type&&(r.subType=t.node.type),r};function H(e){return H=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},H(e)}function J(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?J(Object(n),!0).forEach((function(t){var r,i,s;r=e,i=t,s=n[t],(i=function(e){var t=function(e,t){if(\"object\"!==H(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==H(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===H(t)?t:String(t)}(i))in r?Object.defineProperty(r,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[i]=s})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var G=function(){var e=A[i.FUNCTION];return $($({},e),{},{getName:function(t){var n=e.getName(t);return t.parent.type===i.OBJECT_PROPERTY&&t.parent.key&&(n=$($({},n),{},{name:t.parent.key.name+\": \"+n.name})),n},ignore:function(t){return e.ignore&&e.ignore(t)||t.parent.type===i.CALL_EXPRESSION}})};function z(e){return z=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},z(e)}function Q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Z(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Q(Object(n),!0).forEach((function(t){var r,i,s;r=e,i=t,s=n[t],(i=function(e){var t=function(e,t){if(\"object\"!==z(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==z(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===z(t)?t:String(t)}(i))in r?Object.defineProperty(r,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[i]=s})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Q(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ee=function(e){return e&&e.type===i.CALL_EXPRESSION};function te(e){return te=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},te(e)}function ne(e){return function(e){if(Array.isArray(e))return re(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(e){if(\"string\"==typeof e)return re(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?re(e,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function re(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ie,se,ae={FUNCTION:{defined:[],custom:[G()]},FUNCTION_DEPENDENCIES:{defined:[i.CALL_EXPRESSION],custom:[G(),(se=A[i.ASSIGNMENT_EXPRESSION],Z(Z({},se),{},{getName:function(e){var t=e.node;return y({node:t.right})},ignore:function(e){return se.ignore(e)||!ee(e.node.right)}})),(ie=A[i.VARIABLE_DECLARATOR],Z(Z({},ie),{},{getName:function(e){var t=e.node;return y({node:t.init})},ignore:function(e){return ie.ignore(e)||!ee(e.node.init)}}))]},CLASS:[i.CLASS_DECLARATION],IMPORT:[i.IMPORT_DECLARATION,i.IMPORT_SPECIFIER,i.IMPORT_DEFAULT_SPECIFIER],EXPORT:[i.EXPORT_NAMED_DECLARATION,i.EXPORT_DEFAULT_DECLARATION]};function oe(e){return function(e){if(Array.isArray(e))return le(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(e){if(\"string\"==typeof e)return le(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?le(e,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function le(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ce=function e(t,n,r,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=s.getBody||function(e){return e.body};n(t),a(t).forEach((function(t){r(t),a(t)&&e(t,n,r,i,s)})),i(t)},ue=function(e,t){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(e){return e.body},r=[].concat(e);r.length;){var i=r.shift();t(i);var s=n(i);s&&(r=[].concat(oe(r),oe(s)))}},pe=function(e,t){return\"function\"==typeof e?e(t):e},he={name:function(e,t){e.name=pe(t,e)},prefixName:function(e,t){e.prefixName=pe(t,e)},type:function(e,t){e.type=pe(t,e)},body:function(e,t){e.body=pe(t,e)},parent:function(e,t){e.parent=pe(t,e)}};function de(e){return function(e){if(Array.isArray(e))return fe(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(e){if(\"string\"==typeof e)return fe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?fe(e,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function fe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ye=function(e,t){var n=e.name.split(\".\".concat(t,\"(\"))[0];return n.includes(\"=\")?n.split(\"=\"):[n]},me=function(e,t){return e.name.includes(\".\".concat(t,\"(\"))},Te={forEach:{test:function(e){return me(e,\"forEach\")},updates:{name:function(e){return\"each in  \".concat(ye(e,\"forEach\")[0])},type:i.LOOP,body:function(e){return de(e.body[0].body)}}},filter:{test:function(e){return me(e,\"filter\")},updates:{name:function(e){return\"in \".concat(ye(e,\"filter\")[1],\" to \").concat(ye(e,\"filter\")[0])},prefixName:\"filter\",type:i.LOOP}},map:{test:function(e){return me(e,\"map\")},updates:{name:function(e){return\"from \".concat(ye(e,\"map\")[1],\" to \").concat(ye(e,\"map\")[0])},prefixName:\"map\",type:i.LOOP}}},ge={es5ArrayIterators:[Te.forEach,Te.filter,Te.map]};function be(e){return be=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},be(e)}function Ee(e){return function(e){if(Array.isArray(e))return Se(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(e){if(\"string\"==typeof e)return Se(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Se(e,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Se(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Pe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pe(Object(n),!0).forEach((function(t){var r,i,s;r=e,i=t,s=n[t],(i=function(e){var t=function(e,t){if(\"object\"!==be(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==be(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===be(t)?t:String(t)}(i))in r?Object.defineProperty(r,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[i]=s})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var De=function(){var e,t=(e=[],{addModifier:function(t){[].concat(t).forEach((function(t){return e.push(t)}))},create:function(e,t){this.addModifier({test:e,updates:t})},runModifier:function(e,t){!function(e,t){var n=function(e,t){var n=[];return ue(e,(function(e){t(e)&&n.push(e)})),n}(e,t.test);if(n.length){var r=Object.keys(t.updates||{});r.filter((function(e){return\"subTreeUpdate\"!==e})).forEach((function(e){n.forEach((function(n){he[e](n,t.updates[e])}))})),r.includes(\"subTreeUpdate\")&&t.updates.subTreeUpdate(n,e)}}(e,t)},applyTo:function(t){var n=this;e.forEach((function(e){return n.runModifier(t,e)}))}});return{setModifier:function(e){t.addModifier(e)},registerNewModifier:function(e,n){t.create(e,n)},destructNodeTree:function(e,t){this.setModifier(function(e,t){return{test:e,updates:{name:t,body:[],type:c.DESTRUCTED}}}(e,t))},applyToFlowTree:function(e){return t.applyTo(e),e}}};const Ae=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.astParser,r=void 0===n?{}:n,s=e.astVisitor,a=void 0===s?{}:s,o=xe({},r),l=xe({definitionsMap:Ee(v),globalIgnore:null},a),c=De();return c.setModifier({test:function(e){return e.pathParentType===i.CALL_EXPRESSION},updates:{subTreeUpdate:function(e){e.forEach((function(e){for(var t=e.parent.body,n=t.indexOf(e)+1;n<t.length;n++){var r=t[n];if(r&&r.type===i.CALL_EXPRESSION)return e.parent.body=t.filter((function(t){return t!==e})),void(r.body=[].concat(de(r.body||[]),[e]))}}))}}}),c.setModifier({test:function(e){return e.isBodyEntry&&e.parent&&e.parent.subType===i.ARROW_FUNCTION_EXPRESSION},updates:{name:function(e){return\"return \"+e.name},type:i.RETURN}}),{setAbstractionLevel:function(e){l.definitionsMap=function(e){var t=[i.PROGRAM],n=[];return[].concat(e).forEach((function(e){return\"string\"==typeof e?t.push(e):Array.isArray(e)?t=t.concat(ne(e)):void(\"object\"===te(e)&&(t=t.concat(ne(e.defined||[])),n=n.concat(ne(e.custom||[]))))})),v.filter((function(e){return-1!==t.indexOf(e.type)})).concat(n)}(e)},resetAbstractionLevelToNormal:function(){l.definitionsMap=Ee(v)},setIgnoreFilter:function(e){l.globalIgnore=e},build:function(e){var t=this.buildAst(e);return this.buildFlowTreeFromAst(t)},buildAst:function(e){return R(e,o)},buildFlowTreeFromAst:function(e){var n=[];try{n=function(e,n){var r,s,a,o,l,c,u=[];(0,t.default)(e,(s=u,a=(r=n).definitionsMap,o=r.globalIgnore,l=k(s),c=function(e){return function(t){return e(t,o)}},a.reduce((function(e,t){return t.body?e[t.type]={enter:c(V(t,l)),exit:c(Y(t,l))}:e[t.type]=t.reversed?{exit:c(U(t,l))}:c(U(t,l)),e}),{})));var p=u.length&&u[0]||{};return p.type===i.PROGRAM?p:{name:\"Root\",type:i.PROGRAM,body:u}}(e,l),c.applyToFlowTree(n)}catch(e){throw L(\"Error at buildFlowTreeFromAst\"+e.message,e.stack),e}return n}}};function ve(e){return ve=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},ve(e)}function Ce(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function we(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ce(Object(n),!0).forEach((function(t){var r,i,s;r=e,i=t,s=n[t],(i=function(e){var t=function(e,t){if(\"object\"!==ve(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==ve(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===ve(t)?t:String(t)}(i))in r?Object.defineProperty(r,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[i]=s})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ce(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Oe={strokeColor:\"#444\",defaultFillColor:\"#fff\",textColor:\"#222\",arrowFillColor:\"#333\",rectangleFillColor:\"#90caf9\",rectangleDotFillColor:\"#ede7f6\",functionFillColor:\"#a5d6a7\",rootCircleFillColor:\"#fff59d\",loopFillColor:\"#b39ddb\",conditionFillColor:\"#ce93d8\",destructedNodeFillColor:\"#ffcc80\",classFillColor:\"#80cbc4\",debuggerFillColor:\"#EF5350\",exportFillColor:\"#81d4fa\",throwFillColor:\"#ef9a9a\",tryFillColor:\"#FFE082\",objectFillColor:\"#9fa8da\",callFillColor:\"#C5E1A5\",debugModeFillColor:\"#666\"},Ie=function(e){var t=we({strokeColor:e.strokeColor,strokeWidth:1,fillColor:e.defaultFillColor,textColor:e.textColor,fontFamily:\"monospace\",fontSize:13,lineHeight:5,symbolHeight:10,symbolWidth:7.8,horizontalPadding:15,verticalPadding:10,childOffset:37,margin:10,roundBorder:2,complexTypeExtraSpace:15,debugFontSize:8,debugTextColor:e.debugModeFillColor},e);return{BaseShape:t,ConnectionArrow:{arrow:{size:{x:8,y:6},fillColor:e.arrowFillColor},line:{strokeColor:e.strokeColor,strokeWidth:1,curveTurnRadius:4},lineTurnOffset:20},Shape:we({},t),Rectangle:we(we({},t),{},{fillColor:e.rectangleFillColor,dot:we(we({},t),{},{offset:4,radius:2,fillColor:e.rectangleDotFillColor}),roundBorder:3}),VerticalEdgedRectangle:we(we({},t),{},{fillColor:e.functionFillColor,edgeOffset:10}),RootCircle:we(we({},t),{},{radius:15,padding:3,fillColor:e.rootCircleFillColor}),LoopRhombus:we(we({},t),{},{fillColor:e.loopFillColor,thinPartOffset:15,rhombusSize:50,roundBorder:3,doubleLayerOffsetA:4,doubleLayerOffsetB:8,childOffset:20,positionTopShift:20}),ConditionRhombus:we(we({},t),{},{fillColor:e.conditionFillColor,thinPartOffset:15,roundBorder:3,childOffset:20,alternateBranchOffset:40,markOffset:{x:15,y:5},margin:20}),RootStartPoint:{center:{x:25,y:25},childOffset:{x:25,y:65}},ReturnStatement:we(we({},t),{},{roundBorder:3,fillColor:e.rectangleFillColor,arrow:we(we({},t),{},{handlerLength:5,sizeX:16,sizeY:22,fillColor:e.functionFillColor})}),DestructedNode:we(we({},t),{},{fillColor:e.destructedNodeFillColor,roundBorder:2,suffix:we(we({},t),{},{roundBorder:2,fillColor:e.destructedNodeFillColor,width:8,space:4})}),ClassDeclaration:we(we({},t),{},{fillColor:e.classFillColor,edgeOffset:10}),DebuggerStatement:we(we({},t),{},{fillColor:e.debuggerFillColor,roundBorder:2}),ExportDeclaration:we(we({},t),{},{roundBorder:3,fillColor:e.exportFillColor,arrow:we(we({},t),{},{handlerLength:5,sizeX:20,sizeY:28,fillColor:e.defaultFillColor})}),ImportDeclaration:we(we({},t),{},{fillColor:e.defaultFillColor,edgeOffset:5}),ImportSpecifier:we(we({},t),{},{fillColor:e.exportFillColor}),ThrowStatement:we(we({},t),{},{fillColor:e.throwFillColor}),TryStatement:we(we({},t),{},{fillColor:e.tryFillColor}),CatchClause:we(we({},t),{},{fillColor:e.throwFillColor,arrow:we(we({},t),{},{handlerLength:2,sizeX:16,sizeY:28,fillColor:e.throwFillColor})}),SwitchStatement:we(we({},t),{},{fillColor:e.conditionFillColor,thinPartOffset:15,roundBorder:3,childOffset:20,alternateBranchOffset:40,markOffset:{x:15,y:5},margin:20}),BreakStatement:we(we({},t),{},{fillColor:e.rectangleFillColor,arrow:we(we({},t),{},{handlerLength:5,sizeX:16,sizeY:28,fillColor:e.conditionFillColor})}),SwitchCase:we(we({},t),{},{fillColor:e.conditionFillColor}),ContinueStatement:we(we({},t),{},{fillColor:e.rectangleFillColor,arrow:we(we({},t),{},{handlerLength:5,sizeX:16,sizeY:28,fillColor:e.loopFillColor})}),ObjectProperty:we(we({},t),{},{fillColor:e.rectangleFillColor}),CallExpression:we(we({},t),{},{dot:we(we({},t),{},{offset:6,radius:4,fillColor:e.rectangleDotFillColor}),fillColor:e.callFillColor})}};const Ne=Ie(Oe);function Fe(e){return Fe=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Fe(e)}function ke(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Le(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ke(Object(n),!0).forEach((function(t){var r,i,s;r=e,i=t,s=n[t],(i=function(e){var t=function(e,t){if(\"object\"!==Fe(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==Fe(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===Fe(t)?t:String(t)}(i))in r?Object.defineProperty(r,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[i]=s})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ke(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var _e,Me=Le(Le({},(\"#A6A6A6\",_e=we({},Oe),Object.keys(_e).forEach((function(e){_e[e]=\"#A6A6A6\"})),_e)),{},{strokeColor:\"#333\",defaultFillColor:\"#A6A6A6\",textColor:\"#333\",arrowFillColor:\"#333\"});const Be=Ie(Me),je=Ie({strokeColor:\"#ccc\",defaultFillColor:\"#fff\",textColor:\"#ccc\",arrowFillColor:\"#ccc\",rectangleFillColor:\"#ede7f6\",rectangleDotFillColor:\"#ede7f6\",functionFillColor:\"#f1f8e9\",rootCircleFillColor:\"#fffde7\",loopFillColor:\"#e3f2fd\",conditionFillColor:\"#f3e5f5\",destructedNodeFillColor:\"#fff8e1\",classFillColor:\"#e0f2f1\",debuggerFillColor:\"#ffebee\",exportFillColor:\"#e1f5fe\",throwFillColor:\"#fce4ec\",tryFillColor:\"#fff8e1\",objectFillColor:\"#f9fbe7\",callFillColor:\"#f9fbe7\",debugModeFillColor:\"#666\"}),Re=Ie({strokeColor:\"#555\",defaultFillColor:\"#fff\",textColor:\"#333\",arrowFillColor:\"#444\",rectangleFillColor:\"#bbdefb\",rectangleDotFillColor:\"#ede7f6\",functionFillColor:\"#c8e6c9\",rootCircleFillColor:\"#fff9c4\",loopFillColor:\"#d1c4e9\",conditionFillColor:\"#e1bee7\",destructedNodeFillColor:\"#ffecb3\",classFillColor:\"#b2dfdb\",debuggerFillColor:\"#ffcdd2\",exportFillColor:\"#b3e5fc\",throwFillColor:\"#ffccbc\",tryFillColor:\"#FFE082\",objectFillColor:\"#d1c4e9\",callFillColor:\"#dcedc8\",debugModeFillColor:\"#666\"});var Ue,Ve=[\"common\"];function Ke(e){return Ke=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Ke(e)}function We(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?We(Object(n),!0).forEach((function(t){Ye(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):We(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ye(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==Ke(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==Ke(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===Ke(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var qe=\"DEFAULT\",He=\"BLACK_AND_WHITE\",Je=\"BLURRED\",$e=\"LIGHT\",Ge=(Ye(Ue={},qe,Ne),Ye(Ue,He,Be),Ye(Ue,Je,je),Ye(Ue,$e,Re),Ue),ze=function(e){return!Ge[e]===e===qe?Ge.DEFAULT:et(Ne,Ge[e])},Qe=function(){return ze(qe)},Ze=function(){return ze(Je)},et=function(e,t){var n=t.common,r=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(t,Ve),i=F(e,r);return n?Object.keys(i).reduce((function(e,t){return Xe(Xe({},e),{},Ye({},t,Xe(Xe({},i[t]),n)))}),{}):i},tt=function(e,t,n,r,i,s){var a=k(),o=t;ce(e,(function(e){a.stepIn(o),n(e,a.getCurrent())}),(function(e){o=r(e,a.getCurrent())}),(function(e){a.getCurrent()&&i(e,a.getCurrent()),a.stepOut()}),s)},nt=function(e){if(!e||!e.length)throw new Error(\"List is not specified.\");var t=e[0],n=t.min.x,r=t.max.x,i=t.min.y,s=t.max.y;return e.forEach((function(e){var t=e.min,a=e.max;t.x<n&&(n=t.x),t.y<i&&(i=t.y),a.x>r&&(r=a.x),a.y>s&&(s=a.y)})),{min:{x:n,y:i},max:{x:r,y:s}}},rt=function(e,t){return[].concat(e).map((function(e){return{x:e.x+t.x,y:e.y+t.y}}))},it=[{from:\"fillColor\",to:\"fill\"},{from:\"strokeColor\",to:\"stroke\"},{from:\"strokeWidth\",to:\"stroke-width\"},{from:\"fillOpacity\",to:\"fill-opacity\"},{from:\"strokeOpacity\",to:\"stroke-opacity\"}],st=function(e){return it.map((function(t){return e[t.from]?\"\".concat(t.to,\":\").concat(e[t.from]):null})).filter((function(e){return e})).join(\"; \")},at=function(e,t,n,r,i){return'<polygon points=\"'.concat(e,\",\").concat(t+r/2,\" \").concat(e+n/2,\",\").concat(t,\" \").concat(e+n,\",\").concat(t+r/2,\" \").concat(e+n/2,\",\").concat(t+r,'\"\\n            style=\"').concat(st(i),'\" />')},ot=function(e,t,n,r,i){return'<rect x=\"'.concat(e,'\" y=\"').concat(t,'\"\\n            width=\"').concat(n,'\" height=\"').concat(r,'\"\\n            rx=\"').concat(i.roundBorder,'\" ry=\"').concat(i.roundBorder,'\"\\n            style=\"').concat(st(i),'\" />')},lt=function(e,t,n,r,i){return'<rect x=\"'.concat(e,'\" y=\"').concat(t,'\"\\n            width=\"').concat(n,'\" height=\"').concat(r,'\"\\n            style=\"').concat(st(i),'\" />')},ct=function(e,t,n,r,i){return'<line x1=\"'.concat(e,'\" y1=\"').concat(t,'\" x2=\"').concat(n,'\" y2=\"').concat(r,'\"\\n                style=\"').concat(st(i),'\" />')},ut=function(e,t,n,r){return'<circle cx=\"'.concat(e,'\" cy=\"').concat(t,'\" r=\"').concat(n,'\"\\n        style=\"').concat(st(r),'\" />')},pt=function(e,t,n,r){return'<text x=\"'.concat(e,'\" y=\"').concat(t,'\"\\n        font-family=\"').concat(n.fontFamily,'\" font-size=\"').concat(n.fontSize,'\" fill=\"').concat(n.textColor,'\">').concat(r,\"</text>\")},ht=function(e,t){var n=e.map((function(e,t){return t?\"L\".concat(e.x,\", \").concat(e.y):\"M\".concat(e.x,\", \").concat(e.y)})).join(\" \");return'<path d=\"'.concat(n,' Z\" \\n        ').concat(function(e){return it.map((function(t){return e[t.from]?\"\".concat(t.to,'=\"').concat(e[t.from],'\"'):null})).filter((function(e){return e})).join(\" \")}(t),\" />\")},dt=function(e,t,n){return e.x===t.x?\"L\".concat(e.x,\" \").concat(ft(e.y,t.y,n)):e.y===t.y?\"L\".concat(ft(e.x,t.x,n),\" \").concat(e.y,\" \"):void 0},ft=function(e,t,n){return e>t?e-n:e+n},yt=function(e,t,n){return e>t?t+n:t-n},mt=n(737),Tt=n.n(mt);const gt=function({onlyFirst:e=!1}={}){const t=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(t,e?void 0:\"g\")}();var bt=n(4021);var Et=function(e){for(var t=[e],n=\"node-id:|\".concat(e.name,\"|\");t.length;){var r=t.shift();r&&(n+=r.name?r.name[0]:\"-\",r.parent&&t.push(r.parent))}return n.replace(/\\s/g,\"\").toUpperCase()},St=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e.body},r=[];return[].concat(t).forEach((function(t){var i=n(t);i&&i.length?r=r.concat(t,e(i,n)):r.push(t)})),r};function Pt(e){return Pt=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Pt(e)}function xt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Dt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xt(Object(n),!0).forEach((function(t){var r,i,s;r=e,i=t,s=n[t],(i=function(e){var t=function(e,t){if(\"object\"!==Pt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==Pt(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===Pt(t)?t:String(t)}(i))in r?Object.defineProperty(r,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[i]=s})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var At=function(e,t){function n(n,r,i){return e(vt(n,r,i,t))}return n.getThemeFieldName=function(){return t},n},vt=function(e,t,n,r){var i,s,a=t.x,o=t.y,l=(i=e.name,s=n.maxNameLength||50,i.length<=s?[i]:[i.slice(0,s)+\"...\"]),c=l.length,u=l.reduce((function(e,t){var n=function(e,t){if(\"string\"!=typeof e||0===e.length)return 0;if((t={ambiguousIsNarrow:!0,countAnsiEscapeCodes:!1,...t}).countAnsiEscapeCodes||(e=function(e){if(\"string\"!=typeof e)throw new TypeError(`Expected a \\`string\\`, got \\`${typeof e}\\``);return e.replace(gt,\"\")}(e)),0===e.length)return 0;const n=t.ambiguousIsNarrow?1:2;let r=0;for(const{segment:t}of(new Intl.Segmenter).segment(e)){const e=t.codePointAt(0);if(!(e<=31||e>=127&&e<=159||e>=768&&e<=879))if(/[#*0-9]\\uFE0F?\\u20E3|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26AA\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C8\\u26CF\\u26D1\\u26D3\\u26E9\\u26F0-\\u26F5\\u26F7\\u26F8\\u26FA\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B55\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|[\\u261D\\u270C\\u270D](?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u2693\\u26A1\\u26AB\\u26C5\\u26CE\\u26D4\\u26EA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2795-\\u2797\\u27B0\\u27BF\\u2B50]|\\u26F9(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\u2764\\uFE0F?(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?|\\uD83C(?:[\\uDC04\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]\\uFE0F?|[\\uDF85\\uDFC2\\uDFC7](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC3\\uDFC4\\uDFCA](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDFCB\\uDFCC](?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDFF3\\uFE0F?(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?)|\\uD83D(?:[\\uDC08\\uDC26](?:\\u200D\\u2B1B)?|[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3]\\uFE0F?|[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD74\\uDD90](?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC25\\uDC27-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEDC-\\uDEDF\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB\\uDFF0]|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|\\uDC41\\uFE0F?(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?))|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC6F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDD75(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?)|\\uD83E(?:[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5\\uDEC3-\\uDEC5\\uDEF0\\uDEF2-\\uDEF8](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCC\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE7C\\uDE80-\\uDE88\\uDE90-\\uDEBD\\uDEBF-\\uDEC2\\uDECE-\\uDEDB\\uDEE0-\\uDEE8]|\\uDD3C(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF])?|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83E\\uDDD1))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?))?|\\uDEF1(?:\\uD83C(?:\\uDFFB(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFC-\\uDFFF])?|\\uDFFC(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])?|\\uDFFD(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])?|\\uDFFE(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])?|\\uDFFF(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFE])?))?)/g.test(t))r+=2;else switch(bt.eastAsianWidth(t)){case\"F\":case\"W\":r+=2;break;case\"A\":r+=n;break;default:r+=1}}return r}(t);return n>=e?n:e}),0);return{id:\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return(\"x\"===e?t:3&t|8).toString(16)})),nodePathId:Et(e),type:r,body:[],theme:n,originalTheme:n,node:e,name:e.name,prefixName:e.prefixName,nameParts:l,totalNamePartsNumber:c,maxNamePartLength:u,initialPosition:{x:a,y:o}}},Ct=function(e){return{fromPoint:Mt(e),toPoint:Bt(e),backPoint:jt(e),childOffsetPoint:Rt(e),boundaries:Ut(e)}},wt=function(e){return Dt(Dt({},e),{},{position:_t(e),dimensions:Lt(e)})},Ot=function(e){return{getBody:function(){return e.body},getBoundaries:function(){return e.boundaries},getBackPoint:function(){return e.backPoint},getAssignedConnectionArrow:function(){return e.connectionArrow},getChildOffsetPoint:function(){return e.childOffsetPoint},getDimensions:function(){return e.dimensions},getId:function(){return e.id},getFromPoint:function(){return e.fromPoint},getMargin:function(){return e.theme.margin},getName:function(){return e.name},getNode:function(){return e.node},getNodeType:function(){return e.node.type},getNodePathId:function(){return e.nodePathId},getNodeKey:function(){return e.node.key},getParent:function(){return e.parent},getPosition:function(){return e.position},getToPoint:function(){return e.toPoint},getShapeType:function(){return e.type}}},It=function(e){return Object.assign({},function(e){return{printName:function(t){var n=e.position,r=e.theme,i=e.nameParts,s=t||n,a=s.x,o=s.y,l=i.map((function(e,t){return'<tspan x=\"'.concat(a+r.horizontalPadding,'\" y=\"').concat(o+2*r.verticalPadding*(t+1),'\">').concat(Tt()(e),\"</tspan>\")})).join(\"\");return\"\".concat(i[0].length<=e.name.length+3?\"<title>\".concat(Tt()(e.name),\"</title>\"):\"\",'\\n            <text x=\"').concat(a+r.horizontalPadding,'\" y=\"').concat(o+2*r.verticalPadding,'\"\\n                font-family=\"').concat(r.fontFamily,'\" font-size=\"').concat(r.fontSize,'\" fill=\"').concat(r.textColor,'\">\\n                ').concat(l,\"\\n            </text>\")},printDebugInfo:function(){if(!(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).debug)return\"\";var t=e.position,n=e.dimensions,r=e.theme,i=e.nodePathId;return'<text x=\"'.concat(t.x+3*r.horizontalPadding,'\" y=\"').concat(t.y+n.h+r.verticalPadding,'\"\\n                font-family=\"').concat(r.fontFamily,'\" font-size=\"').concat(r.debugFontSize,'\" fill=\"').concat(r.debugTextColor,'\">\\n                ').concat(i,\"\\n            </text>\")}}}(e),function(e){return{getChildBoundaries:function(t){var n=e.body,r=e.boundaries;if(!n.length)return r;var i=St({getBody:function(){return t?n.filter(t):n},getBoundaries:function(){return r}},(function(e){return e.getBody()}));return nt(i.map((function(e){return e.getBoundaries()})))}}}(e),function(e){return{addChild:function(t){e.body.push(t)},setParent:function(t){e.parent=t},connectChild:function(e){this.addChild(e),e.setParent(this)},updateTheme:function(t){e.theme=F(e.theme,t)},assignConnectionArrow:function(t){e.connectionArrow=t}}}(e))},Nt=function(e){return e.maxNamePartLength*e.theme.symbolWidth},Ft=function(e){return 2*e.theme.horizontalPadding+Nt(e)},kt=function(e){return 2*e.theme.verticalPadding+(n=(t=e).totalNamePartsNumber,r=t.theme,n*r.symbolHeight+(n-1)*r.lineHeight);var t,n,r},Lt=function(e){return{w:Ft(e),h:kt(e)}},_t=function(e){return Dt({},e.initialPosition)},Mt=function(e){var t=e.position,n=e.dimensions,r=e.theme;return{x:t.x+r.childOffset/2,y:t.y+n.h}},Bt=function(e){var t=e.position,n=e.dimensions;return{x:t.x,y:t.y+n.h/2}},jt=function(e){var t=e.position,n=e.dimensions;return{x:t.x+n.w,y:t.y+n.h/2}},Rt=function(e){var t=e.theme,n=e.dimensions;return{x:t.childOffset,y:n.h+t.childOffset/2}},Ut=function(e){var t=e.position,n=e.dimensions;return{min:{x:t.x,y:t.y},max:{x:t.x+n.w,y:t.y+n.h}}};function Vt(e){return Vt=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Vt(e)}function Kt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Wt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Kt(Object(n),!0).forEach((function(t){var r,i,s;r=e,i=t,s=n[t],(i=function(e){var t=function(e,t){if(\"object\"!==Vt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==Vt(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===Vt(t)?t:String(t)}(i))in r?Object.defineProperty(r,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[i]=s})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Kt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Xt=function(e){return{print:function(t){var n=e.theme,r=e.position,i=r.x,s=r.y,a=e.dimensions,o=a.w,l=a.h,c={x:i+n.edgeOffset,y:s};return\"\\n            <g>\\n                \".concat(lt(i,s,o,l,n),\"\\n                    \\n                \").concat(ct(i+n.edgeOffset,s,i+n.edgeOffset,s+l,n),\"\\n                \").concat(ct(i+o-n.edgeOffset,s,i+o-n.edgeOffset,s+l,n),\"\\n             \\n                \").concat(this.printName(c),\"\\n                \").concat(this.printDebugInfo(t),\"\\n            </g>\")}}},Yt=function(e){return 2*(e.theme.horizontalPadding+e.theme.edgeOffset)+Nt(e)},qt=function(e){return{w:Yt(e),h:kt(e)}},Ht=function(e){var t=function(e){return Wt(Wt({},e),{},{position:_t(e),dimensions:qt(e)})}(e);return t=Wt(Wt({},t),Ct(t)),N(t,[Ot,It,Xt])};const Jt=At(Ht,\"VerticalEdgedRectangle\");var $t=function(e){return{print:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.theme,r=n.dot,i=e.position,s=i.x,a=i.y,o=e.dimensions,l=o.w,c=o.h,u=e.node;return\"\\n                <g>\\n                   \".concat(ot(s,a,l,c,n),\"\\n                   \").concat(this.printName(),\"\\n                   \").concat(u.chain?ut(s+r.offset,a+c-r.offset,r.radius,r):\"\",\"\\n                   \").concat(this.printDebugInfo(t),\"\\n                </g>\")}}},Gt=function(e){var t=function(e){var t=wt(e);return Dt(Dt({},t),Ct(t))}(e);return N(t,[Ot,It,$t])};const zt=At(Gt,\"Rectangle\");var Qt=function(e){return{w:Zt(e),h:en(e)}},Zt=function(e){return en(e)+Ft(e)},en=function(e){return 2*e.theme.thinPartOffset+kt(e)},tn=function(e){var t=e.position,n=e.dimensions;return{x:t.x+n.h/2,y:t.y+n.h}},nn=function(e){var t=e.dimensions,n=e.theme;return{x:t.h/2+n.childOffset,y:t.h+n.childOffset/2}};function rn(e){return rn=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},rn(e)}function sn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function an(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?sn(Object(n),!0).forEach((function(t){var r,i,s;r=e,i=t,s=n[t],(i=function(e){var t=function(e,t){if(\"object\"!==rn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==rn(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===rn(t)?t:String(t)}(i))in r?Object.defineProperty(r,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[i]=s})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):sn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var on=function(e){var t=e.position,n=e.dimensions;return{x:t.x+n.w,y:t.y+n.h/2}},ln=function(e){return{getAlternateFromPoint:function(){return e.alternateFromPoint}}},cn=function(e){return{getConsequentBranchChildBoundary:function(){return this.getChildBoundaries((function(e){return e.state.node.key===s.CONSEQUENT}))},getAlternativeBranchChildOffsetPoint:function(){var t=e.theme,n={};n.y=e.position.y+e.childOffsetPoint.y,n.x=this.getConsequentBranchChildBoundary().max.x,n.x+=t.alternateBranchOffset;var r=e.position.x+e.dimensions.w+t.childOffset;return n.x<=r&&(n.x=r),n},checkIfChildExist:function(t){return e.body.filter((function(e){return e.getNodeKey()===t})).length},printConditionMarks:function(){var t=e.theme,n=e.position,r=n.x,a=n.y,o=e.dimensions.h,l=e.dimensions.w,c=e.node.subType===i.CONDITIONAL_EXPRESSION?\"?\":\"if\";return\"\".concat(pt(r+o/2-c.length*t.symbolWidth/2,a+o/2+t.symbolHeight/2,t,c),\" \").concat(pt(r+o/2+t.symbolWidth,a+o+t.symbolWidth/4,t,\"+\"),\" \").concat(this.checkIfChildExist(s.ALTERNATE)?pt(r+l+t.symbolWidth/2,a+o/2-t.symbolWidth/4,t,\"-\"):\"\")},print:function(t){var n=e.theme,r=e.position,i=r.x,s=r.y,a=e.dimensions,o=a.w,l=a.h,c=l,u=l-2*n.thinPartOffset,p={x:i+c,y:s+u/2};return\"<g>\\n            \".concat(ot(i+l/2,s+l/4,o-c/2,u,n),\"                \\n            \").concat(at(i,s,c,c,n),\"\\n            \").concat(this.printName(p),\"\\n            \").concat(this.printDebugInfo(t),\"\\n            \").concat(this.printConditionMarks(),\"\\n        </g>\")}}},un=function(e){var t=function(e){return an(an({},e),{},{position:_t(e),dimensions:Qt(e)})}(e);return t=an(an({},t),function(e){return{fromPoint:tn(e),childOffsetPoint:nn(e),toPoint:(t=e,n=t.position,r=t.dimensions,{x:n.x,y:n.y+r.h/2}),backPoint:jt(e),boundaries:Ut(e),alternateFromPoint:on(e)};var t,n,r}(t)),N(t,[Ot,ln,It,cn])};const pn=At(un,\"ConditionRhombus\");var hn;function dn(e){return dn=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},dn(e)}function fn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function yn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?fn(Object(n),!0).forEach((function(t){mn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function mn(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==dn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==dn(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===dn(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Tn=(mn(hn={},i.FOR_OF_STATEMENT,\"for\"),mn(hn,i.FOR_IN_STATEMENT,\"for\"),mn(hn,i.FOR_STATEMENT,\"for\"),mn(hn,i.WHILE_STATEMENT,\"while\"),mn(hn,i.DO_WHILE_STATEMENT,\"while\"),hn),gn=function(e){return{getMidPoint:function(){return e.midPoint},getLoopedConnectionArrow:function(){return e.loopedConnectionArrow}}},bn=function(e){return{assignLoopedConnectionArrow:function(t){e.loopedConnectionArrow=t},printConditionMarks:function(){var t=e.theme,n=e.position,r=n.x,i=n.y,s=e.dimensions.h,a=e.prefixName||Tn[e.node.subType]||\"for\";return pt(r+s/2-a.length*t.symbolWidth/2,i+s/2+t.symbolHeight/2,t,a)},print:function(t){var n=e.theme,r=e.position,i=r.x,s=r.y,a=e.dimensions,o=a.w,l=a.h,c=l,u=l-2*n.thinPartOffset,p={x:i+c,y:s+u/2};return\"<g>\\n\\n            \".concat(ot(i+l/2,s+l/4,o-c/2,u,n),\"\\n            \").concat(at(i,s,c,c,n),\"\\n                \\n            \").concat(this.printName(p),\"\\n            \").concat(this.printDebugInfo(t),\"\\n            \").concat(this.printConditionMarks(),\"\\n        </g>\")}}};const En=At((function(e){var t=function(e){return yn(yn({},e),{},{position:(t=e,n=t.initialPosition,r=t.theme,{x:n.x,y:n.y+r.positionTopShift}),dimensions:Qt(e)});var t,n,r}(e);return t=yn(yn({},t),function(e){return{fromPoint:tn(e),childOffsetPoint:nn(e),toPoint:Bt(e),backPoint:jt(e),boundaries:Ut(e),midPoint:(t=e,n=t.position,r=t.dimensions,{x:n.x+r.h/2,y:n.y})};var t,n,r}(t)),N(t,[Ot,gn,It,bn])}),\"LoopRhombus\");function Sn(e){return Sn=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Sn(e)}function Pn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pn(Object(n),!0).forEach((function(t){var r,i,s;r=e,i=t,s=n[t],(i=function(e){var t=function(e,t){if(\"object\"!==Sn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==Sn(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===Sn(t)?t:String(t)}(i))in r?Object.defineProperty(r,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[i]=s})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Dn=function(e){return{print:function(){var t=e.theme,n=e.position,r=n.x,i=n.y,s=e.dimensions,a=s.w,o=s.h,l=t.radius,c={x:r+l,y:i-l};return\"\\n            <g>\\n               \".concat(lt(r,i-l+l/4,a+l,o-2*t.padding,t),\"\\n               \").concat(ut(r,i,l,t),\"\\n               \").concat(this.printName(c),\"\\n            </g>\")},setChildOffsetPoint:function(t){e.childOffsetPoint=t}}};const An=At((function(e){var t=wt(e);return t=xn(xn({},t),function(e){return{fromPoint:(t=e,n=t.position,r=t.theme.radius,{x:n.x,y:n.y+r}),boundaries:Ut(e)};var t,n,r}(t)),N(t,[Ot,It,Dn])}),\"RootCircle\");function vn(e){return vn=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},vn(e)}function Cn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function wn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Cn(Object(n),!0).forEach((function(t){var r,i,s;r=e,i=t,s=n[t],(i=function(e){var t=function(e,t){if(\"object\"!==vn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==vn(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===vn(t)?t:String(t)}(i))in r?Object.defineProperty(r,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[i]=s})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Cn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var On=function(e){return{print:function(t){var n=e.theme,r=n.arrow,i=e.position,s=i.x,a=i.y,o=e.dimensions.h,l=e.dimensions.w-r.handlerLength-r.sizeX,c={x:s,y:a},u={x:r.sizeX,y:r.sizeY},p=ht(rt([{x:0,y:0},{x:u.x,y:u.y/2},{x:0,y:u.y}],{x:s+l+r.handlerLength,y:a+o/2-u.y/2}),r);return\"\\n            <g>\\n                \".concat(ot(s,a,l,o,n),\"\\n                \\n                \").concat(ct(s+l,a+o/2-r.handlerLength,s+l+r.handlerLength,a+o/2-r.handlerLength,r),\"\\n                \\n                \").concat(ct(s+l,a+o/2+r.handlerLength,s+l+r.handlerLength,a+o/2+r.handlerLength,r),\"\\n\\n                \").concat(p,\"\\n                             \\n                \").concat(this.printName(c),\"\\n                \").concat(this.printDebugInfo(t),\"\\n            </g>\")}}},In=function(e){var t=e.theme,n=t.arrow;return 2*t.horizontalPadding+n.handlerLength+n.sizeX+Nt(e)},Nn=function(e){return{w:In(e),h:kt(e)}},Fn=function(e){var t=function(e){return wn(wn({},e),{},{position:_t(e),dimensions:Nn(e)})}(e);return t=wn(wn({},t),Ct(t)),N(t,[Ot,It,On])};const kn=At(Fn,\"ReturnStatement\");function Ln(e){return Ln=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Ln(e)}function _n(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Mn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_n(Object(n),!0).forEach((function(t){var r,i,s;r=e,i=t,s=n[t],(i=function(e){var t=function(e,t){if(\"object\"!==Ln(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==Ln(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===Ln(t)?t:String(t)}(i))in r?Object.defineProperty(r,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[i]=s})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_n(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Bn=function(e){return{print:function(t){var n=e.theme,r=n.suffix,i=e.position,s=i.x,a=i.y,o=e.dimensions.h,l=e.dimensions.w-2*(r.width+r.space),c={x:s,y:a},u=ot(s+l+r.space,a,r.width,o,r),p=ot(s+l+2*r.space+r.width,a,r.width,o,r);return\"\\n            <g>\\n                \".concat(ot(s,a,l,o,n),\"\\n                \\n                \").concat(u,\"\\n                \").concat(p,\"\\n                             \\n                \").concat(this.printName(c),\"\\n                \").concat(this.printDebugInfo(t),\"\\n            </g>\")}}},jn=function(e){var t=e.theme,n=t.suffix;return 2*t.horizontalPadding+2*(n.width+ +n.space)+Nt(e)},Rn=function(e){return{w:jn(e),h:kt(e)}};const Un=At((function(e){var t=function(e){return Mn(Mn({},e),{},{position:_t(e),dimensions:Rn(e)})}(e);return t=Mn(Mn({},t),Ct(t)),N(t,[Ot,It,Bn])}),\"DestructedNode\"),Vn=At(Ht,\"ClassDeclaration\"),Kn=At(Gt,\"DebuggerStatement\"),Wn=At(Fn,\"ExportDeclaration\"),Xn=At(Ht,\"ImportDeclaration\"),Yn=At(Gt,\"ImportSpecifier\"),qn=At(Gt,\"ThrowStatement\"),Hn=At(Gt,\"TryStatement\"),Jn=At(Fn,\"CatchClause\"),$n=At(un,\"SwitchStatement\"),Gn=At(Fn,\"BreakStatement\"),zn=At(Gt,\"SwitchCase\"),Qn=At(Fn,\"ContinueStatement\"),Zn=At(Gt,\"CallExpression\"),er=At(Gt,\"ObjectProperty\");var tr=function(e){switch(e.type){case i.FUNCTION:return Jt;case i.LOOP:return En;case i.CONDITIONAL:return pn;case i.RETURN:return kn;case c.DESTRUCTED:return Un;case i.CLASS_DECLARATION:return Vn;case i.DEBUGGER_STATEMENT:return Kn;case i.EXPORT_DEFAULT_DECLARATION:case i.EXPORT_NAMED_DECLARATION:return Wn;case i.IMPORT_DECLARATION:return Xn;case i.IMPORT_DEFAULT_SPECIFIER:case i.IMPORT_SPECIFIER:return Yn;case i.THROW_STATEMENT:return qn;case i.PROGRAM:return An;case i.TRY_STATEMENT:return Hn;case i.CATCH_CLAUSE:return Jn;case i.SWITCH_STATEMENT:return $n;case i.BREAK:return Gn;case i.SWITCH_CASE:return zn;case i.CONTINUE:return Qn;case i.OBJECT_PROPERTY:return er;case i.CALL_EXPRESSION:return Zn;default:return zt}},nr=function(){return\"ConnectionArrow\"},rr=function(e){return{getFieldName:nr}},ir=function(e){return{updateTheme:function(t){e.theme=F(e.theme,t)}}},sr=function(e){return{printLine:function(t){return function(e,t){var n=e.map((function(n,r){if(!r)return\"M\".concat(n.x,\", \").concat(n.y);var i=e[r-1];return r<=1?dt(n,i,t.curveTurnRadius):\"Q\".concat(i.x,\" \").concat(i.y,\"\\n                \").concat(function(e,t,n){return e.x===t.x?\"\".concat(t.x,\" \").concat(yt(e.y,t.y,n)):e.y===t.y?\"\".concat(yt(e.x,t.x,n),\" \").concat(t.y):void 0}(n,i,t.curveTurnRadius),\"\\n                \").concat(dt(n,i,2*t.curveTurnRadius))})).join(\" \");return'<path d=\"'.concat(n,'\"\\n        style=\"fill:none; ').concat(st(t),'\" />')}(t,e.theme.line)},printArrow:function(t,n){return ht(rt(n,t),e.theme.arrow)},printArrowByType:function(t,n){var r,i=n.x,s=n.y,c=e.theme.arrow.size;switch(t){case a:return r={x:i-c.x,y:s-c.y/2},this.printArrow(r,[{x:0,y:0},{x:c.x,y:c.y/2},{x:0,y:c.y}]);case o:return r={x:i,y:s-c.y/2},this.printArrow(r,[{x:0,y:c.y/2},{x:c.x,y:0},{x:c.x,y:c.y}]);case l:return r={x:i-c.y/2,y:s-c.x},this.printArrow(r,[{x:0,y:0},{x:c.y/2,y:c.x},{x:c.y,y:0}]);default:return\"\"}},print:function(){var t=e.config,n=t.linePoints,r=t.arrowPoint,i=t.arrowType,s=t.noArrow;return s&&(n[n.length-1].x+=e.theme.arrow.size.x),\"\\n            <g>\\n               \".concat(this.printLine(n),\"\\n               \").concat(!s&&this.printArrowByType(i,r),\"\\n            </g>\")}}};function ar(e){return ar=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},ar(e)}function or(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function lr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?or(Object(n),!0).forEach((function(t){var r,i,s;r=e,i=t,s=n[t],(i=function(e){var t=function(e,t){if(\"object\"!==ar(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==ar(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===ar(t)?t:String(t)}(i))in r?Object.defineProperty(r,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[i]=s})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):or(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function cr(e){return cr=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},cr(e)}function ur(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var pr=function(e,t){var n,r=function(e,t){var n=tr(e),r=t[n.getThemeFieldName()],i=lr({},t.RootStartPoint),s=i.center,a=i.childOffset,o=n(e,s,r);return o.setChildOffsetPoint(a),o}(e,t),a=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ur(Object(n),!0).forEach((function(t){var r,i,s;r=e,i=t,s=n[t],(i=function(e){var t=function(e,t){if(\"object\"!==cr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!==cr(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===cr(t)?t:String(t)}(i))in r?Object.defineProperty(r,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[i]=s})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ur(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},r.getChildOffsetPoint()),o=[];return tt(e,r,(function(e,t){a.x+=t.getChildOffsetPoint().x}),(function(e,r){if(a.y+=hr(t,e,n),r.getNodeType()===i.CONDITIONAL&&e.key===s.ALTERNATE&&!r.checkIfChildExist(s.ALTERNATE)){var l=r.getAlternativeBranchChildOffsetPoint();a.x=l.x+r.getMargin(),a.y=l.y}var c=function(e,t,n){var r=tr(e),i=n[r.getThemeFieldName()];return r(e,t,i)}(e,{x:a.x,y:a.y},t);return a.x=c.getPosition().x,a.y=c.getPosition().y,o.push(c),r.connectChild(c),a.y+=c.getChildOffsetPoint().y,n=e,c}),(function(e,t){e.type===i.CONDITIONAL&&(a.y=t.getChildBoundaries().max.y+t.getMargin()),a.x=t.getPosition().x})),{list:o,root:r}},hr=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=[i.FUNCTION,i.FUNCTION_DECLARATION,i.FUNCTION_EXPRESSION,i.ARROW_FUNCTION_EXPRESSION,i.CLASS_DECLARATION,i.IMPORT_DECLARATION,i.EXPORT_NAMED_DECLARATION,i.EXPORT_DEFAULT_DECLARATION];return r.includes(t.type)&&!r.includes(n.type)&&t.pathParentType!==i.CALL_EXPRESSION?e.BaseShape.complexTypeExtraSpace:0},dr=function(e,t){var n=[],r=function(e){var r=function(e,t){var n=t.ConnectionArrow,r=function(e,t){var n=e.startPoint,r=e.endPoint,i=e.boundaryPoint,s=e.arrowType,c={linePoints:[],arrowPoint:{x:r.x,y:r.y}};switch(s){case a:c.linePoints=[{x:n.x,y:n.y}],c.linePoints=i?c.linePoints.concat([{x:i.x,y:n.y},{x:i.x,y:r.y},{x:r.x,y:r.y}]):c.linePoints.concat([{x:n.x,y:r.y},{x:r.x,y:r.y}]);break;case o:c.linePoints=[{x:n.x,y:n.y},{x:i.x+t.lineTurnOffset,y:n.y},{x:i.x+t.lineTurnOffset,y:r.y},{x:r.x-t.lineTurnOffset,y:r.y}];break;case l:c.linePoints=[{x:n.x,y:n.y},{x:i.x+t.lineTurnOffset,y:n.y},{x:i.x+t.lineTurnOffset,y:r.y-t.lineTurnOffset},{x:r.x,y:r.y-t.lineTurnOffset},{x:r.x,y:r.y}]}return c}(e,n);return function(e,t){return N({config:e,theme:t,originalTheme:t},[ir,sr,rr])}(lr(lr({},e),r),n)}(e,t);return n.push(r),r},s=null;return tt(e,e,(function(e){}),(function(e,t){s=e;var n=yr(e,t),i=r(n);return e.assignConnectionArrow(i),e}),(function(e){if(e.getNodeType()===i.LOOP){var t=e.getChildBoundaries().max;e.assignLoopedConnectionArrow(r({startPoint:s.getBackPoint(),endPoint:e.getMidPoint(),boundaryPoint:{x:t.x},arrowType:l}))}}),{getBody:function(e){return e.getBody()}}),n},fr=function(e,t){return!![i.IMPORT_SPECIFIER,i.IMPORT_DEFAULT_SPECIFIER,i.OBJECT_PROPERTY].includes(e.getNodeType())||!(![i.FUNCTION_DECLARATION,i.FUNCTION_EXPRESSION,i.FUNCTION,i.ARROW_FUNCTION_EXPRESSION].includes(e.getNodeType())||![i.CALL_EXPRESSION,i.VARIABLE_DECLARATOR,i.ASSIGNMENT_EXPRESSION,i.NEW_EXPRESSION].includes(t.getNodeType()))||void 0},yr=function(e,t){var n={endPoint:e.getToPoint(),arrowType:a,noArrow:fr(e,t)};if(e.getNodeKey()===s.ALTERNATE&&t.getAlternativeBranchChildOffsetPoint){var r=t.getAlternativeBranchChildOffsetPoint();n.startPoint=t.getAlternateFromPoint(),n.boundaryPoint={x:r.x}}else n.startPoint=t.getFromPoint();return n};const mr=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=et(Qe(),e);return{buildShapesTree:function(e){var n=[];try{n=function(e,t){var n,r=(n={shapes:[],arrowConnections:[]},{getShapes:function(){return n.shapes},addShapes:function(e){return n.shapes=n.shapes.concat(e),this},addArrowConnections:function(e){return n.arrowConnections=n.arrowConnections.concat(e),this},printChildren:function(e){var t=\"\";return[].concat(n.shapes,n.arrowConnections).forEach((function(n){t+=n.print(e)})),t},calculateDimensions:function(){var e=nt(n.shapes.map((function(e){return e.getBoundaries()})));return{w:Math.ceil(e.max.x)+25,h:Math.ceil(e.max.y)+25}},print:function(e){var t=this.calculateDimensions(),n=t.w,r=t.h;return'<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\\n                <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" \\n                width=\"'.concat(n,'\" height=\"').concat(r,'\" shape-rendering=\"optimizeSpeed\">\\n                ').concat(this.printChildren(e),\"\\n            </svg>\")}}),i=pr(e,t),s=dr(i.root,t);return r.addShapes(i.list).addShapes(i.root),r.addArrowConnections(s),r}(e,t)}catch(e){throw L(\"Error at buildShapesTree\"+e.message,e.stack),e}return n},applyTheme:function(e){t=et(t,e)},applyDefaultTheme:function(){this.applyTheme(Qe())},applyBlackAndWhiteTheme:function(){this.applyTheme(ze(He))},applyBlurredTheme:function(){this.applyTheme(Ze())},applyLightTheme:function(){this.applyTheme(ze($e))},applyColorBasedTheme:function(e){this.applyTheme(function(e){return Ie(e)}(e))}}};var Tr=function(e){var t=Ae();return t.setAbstractionLevel(e),function(e){return t.buildFlowTreeFromAst(e)}},gr=Tr(ae.EXPORT),br=Tr([ae.EXPORT,ae.IMPORT]),Er=Tr([ae.EXPORT,ae.IMPORT,ae.CLASS,ae.FUNCTION]),Sr=Tr([ae.EXPORT,ae.IMPORT,ae.CLASS,ae.FUNCTION,ae.FUNCTION_DEPENDENCIES]),Pr=function(e){return Ae().buildFlowTreeFromAst(e)},xr=Ae,Dr=De,Ar=mr,vr=function(e){var t=function(e,t,n){t&&e.updateTheme(t),n&&(e.getAssignedConnectionArrow().updateTheme(n),e.getLoopedConnectionArrow&&e.getLoopedConnectionArrow().updateTheme(n))};return{findShape:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.getShapes().filter((function(e,r){return r>=n&&t(e)}))},applyShapeStyles:function(e,n,r){this.findShape(e).forEach((function(e){t(e,n,r)}))},blur:function(e){var n=Ze();this.findShape(e).forEach((function(e){var r=e.getAssignedConnectionArrow();t(e,n[e.getShapeType()],r?n[r.getFieldName()]:null)}))},focus:function(e){this.blur((function(t){return!e(t)}))},blurShapeBranch:function(e){var n=Ze();this.findShape(e).forEach((function(e){return ue(e,(function(e){var r=e.getAssignedConnectionArrow();t(e,n[e.getShapeType()],r?n[r.getFieldName()]:null)}),(function(e){return e.state.body}))}))},focusShapeBranch:function(n){var r=this,i=Ze();[].concat(n).forEach((function(n,s){r.findShape(n).forEach((function(n){var a=St(n,(function(e){return e.state.body})),o=e.getShapes().indexOf(n);r.findShape((function(e){return!a.includes(e)}),s>0?o:0).forEach((function(e){var n=e.getAssignedConnectionArrow();t(e,i[e.getShapeType()],n?i[n.getFieldName()]:null)}))}))}))},print:function(t){return e&&e.print(t)}}},Cr=function(e){return{buildSlides:function(){var t=mr(),n=R(e);return[gr(n),br(n),Er(n),Sr(n),Pr(n)].filter((function(e){return e.body.length})).map(t.buildShapesTree).map((function(e){return e.print()}))}}},wr=function(e,t){return Ir(Or(e),t)},Or=function(e){return xr().build(e)},Ir=function(e,t){return Ar().buildShapesTree(e).print(t)}})(),r})()));\n//# sourceMappingURL=js2flowchart.js.map"
  },
  {
    "path": "dist/js2flowchart.js.LICENSE.txt",
    "content": "/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <https://feross.org>\n * @license  MIT\n */\n\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n"
  },
  {
    "path": "docs/_config.yml",
    "content": "theme: jekyll-theme-cayman"
  },
  {
    "path": "docs/examples/blur-shape-branch/code-sample.js",
    "content": "const code = `\n    const doStuff = (stuff) => {\n        if (stuff) {\n            if (devFlag) {\n                log('perf start');\n                doRecursion();\n                log('perf end');\n\n                return;\n            }\n\n            doRecursion();\n            end();\n        } else {\n            throw new Error('No stuff!');\n        }\n\n        return null;\n    };\n`;\n"
  },
  {
    "path": "docs/examples/blur-shape-branch/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Title</title>\n</head>\n<body>\n    <iframe style=\"position: fixed; right: 0\" src=\"https://ghbtns.com/github-btn.html?user=Bogdan-Lyashenko&repo=js-code-to-svg-flowchart&type=star&count=true\" frameborder=\"0\" scrolling=\"0\" width=\"110px\" height=\"20px\"></iframe>\n    <div>\n        <p id=\"svgImage\"></p>\n    </div>\n\n    <script src=\"../../../dist/js2flowchart.js\"></script>\n    <script src=\"code-sample.js\"></script>\n    <script src=\"index.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/examples/blur-shape-branch/index.js",
    "content": "const {\n    convertCodeToFlowTree,\n    createSVGRender,\n    createShapesTreeEditor\n} = window.js2flowchart;\n\nconst flowTree = convertCodeToFlowTree(code),\n    svgRender = createSVGRender();\nshapesTree = svgRender.buildShapesTree(flowTree);\n\nconst shapesTreeEditor = createShapesTreeEditor(shapesTree);\n\nshapesTreeEditor.blurShapeBranch(\n    (shape) => shape.getName() === '(devFlag)'\n);\n\nconst svg = shapesTreeEditor.print();\n\ndocument.getElementById('svgImage').innerHTML = svg;\n"
  },
  {
    "path": "docs/examples/custom-modifier/code-sample.js",
    "content": "const code = `\n    const list = [1, 2, 3, 4];\n\n    function print(list) {\n        newList.forEach(i => {\n            if (i > 2) return;\n            console.log(i);\n        });\n    }\n\n    print(list);\n`;\n"
  },
  {
    "path": "docs/examples/custom-modifier/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Title</title>\n</head>\n<body>\n    <iframe style=\"position: fixed; right: 0\" src=\"https://ghbtns.com/github-btn.html?user=Bogdan-Lyashenko&repo=js-code-to-svg-flowchart&type=star&count=true\" frameborder=\"0\" scrolling=\"0\" width=\"110px\" height=\"20px\"></iframe>\n    <div>\n        <p id=\"svgImage\"></p>\n    </div>\n\n    <script src=\"../../../dist/js2flowchart.js\"></script>\n    <script src=\"code-sample.js\"></script>\n    <script src=\"index.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/examples/custom-modifier/index.js",
    "content": "const JS2FlowChart = window['js2flowchart'];\n\nconst flowTreeBuilder = JS2FlowChart.createFlowTreeBuilder();\nconst flowTree = flowTreeBuilder.build(code);\nconst flowTreeModifier = JS2FlowChart.createFlowTreeModifier();\n\nflowTreeModifier.registerNewModifier((node)=> node.name.includes('(i) =>'), {\n    body: [{\n        name: '...only log i when it is bigger than 2..',\n        type: JS2FlowChart.MODIFIED_TYPES.CUSTOM\n    }]\n});\nflowTreeModifier.applyToFlowTree(flowTree);\n\nconst svgRender = JS2FlowChart.createSVGRender();\nconst shapesTree = svgRender.buildShapesTree(flowTree);\n\ndocument.getElementById('svgImage').innerHTML = shapesTree.print();\n"
  },
  {
    "path": "docs/examples/debug-rendering/code-sample.js",
    "content": "const code = `\n    class Man {\n        constructor(n) {\n            this.name = n;\n        }\n\n        sayName() {\n            return this.name\n        }\n    }\n`;\n"
  },
  {
    "path": "docs/examples/debug-rendering/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Title</title>\n</head>\n<body>\n<iframe style=\"position: fixed; right: 0\" src=\"https://ghbtns.com/github-btn.html?user=Bogdan-Lyashenko&repo=js-code-to-svg-flowchart&type=star&count=true\" frameborder=\"0\" scrolling=\"0\" width=\"110px\" height=\"20px\"></iframe>\n<div>\n    <p id=\"svgImage\"></p>\n</div>\n\n<script src=\"../../../dist/js2flowchart.js\"></script>\n<script src=\"code-sample.js\"></script>\n<script src=\"index.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/examples/debug-rendering/index.js",
    "content": "const {convertCodeToFlowTree, createSVGRender, createShapesTreeEditor} = window.js2flowchart;\n\nconst svgRender = createSVGRender();\n\nconst shapesTree = svgRender.buildShapesTree(convertCodeToFlowTree(code));\nconst shapesTreeEditor = createShapesTreeEditor(shapesTree);\n\nshapesTreeEditor.applyShapeStyles(\n    shape => shape.getNodePathId() === 'NODE-ID:|THIS.NAME=N|TCCP-', {\n        fillColor: '#90caf9'\n    });\n\nconst svg = shapesTreeEditor.print({debug: true});\n\ndocument.getElementById('svgImage').innerHTML = svg;\n"
  },
  {
    "path": "docs/examples/default/code-sample.js",
    "content": "const code = `\n    class A { b = 1; }\n\n    function indexSearch(list, element) {\n        let currentIndex,\n            currentElement,\n            minIndex = 0,\n            maxIndex = list.length - 1;\n\n        while (minIndex <= maxIndex) {\n            currentIndex = Math.floor((maxIndex + maxIndex) / 2);\n            currentElement = list[currentIndex];\n\n            if (currentElement === element) {\n                return currentIndex;\n            }\n\n            if (currentElement < element) {\n                minIndex = currentIndex + 1;\n            }\n\n            if (currentElement > element) {\n                maxIndex = currentIndex - 1;\n            }\n        }\n\n        return -1;\n    }\n`;\n"
  },
  {
    "path": "docs/examples/default/index.html",
    "content": "<!doctype html>\n<html class=\"no-js\" lang=\"\">\n    <head>\n        <meta charset=\"utf-8\">\n        <title>Default example</title>\n        <meta name=\"description\" content=\"\">\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    </head>\n    <body>\n        <iframe style=\"position: fixed; right: 0\" src=\"https://ghbtns.com/github-btn.html?user=Bogdan-Lyashenko&repo=js-code-to-svg-flowchart&type=star&count=true\" frameborder=\"0\" scrolling=\"0\" width=\"110px\" height=\"20px\"></iframe>\n\n        <div>\n            <p id=\"svgImage\"></p>\n        </div>\n\n        <script src=\"../../../dist/js2flowchart.js\"></script>\n        <script src=\"code-sample.js\"></script>\n        <script src=\"index.js\"></script>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/examples/default/index.js",
    "content": "const {\n    convertCodeToSvg\n} = window['js2flowchart'];\n\ndocument.getElementById('svgImage').innerHTML = convertCodeToSvg(code);\n"
  },
  {
    "path": "docs/examples/defined-abstraction-level/code-sample.js",
    "content": "const code = `\n    import {format, trim} from 'formattier';\n    import {log} from 'logger';\n\n    const data = [];\n\n    export default print = (list) => {\n        list.forEach(i => {\n            console.log(i);\n        });\n    }\n\n    export const formatString = (str) => formatter(str);\n    export const MAX_STR_LENGTH = 15;\n`;\n"
  },
  {
    "path": "docs/examples/defined-abstraction-level/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Defined abstraction level</title>\n</head>\n<body>\n    <iframe style=\"position: fixed; right: 0\" src=\"https://ghbtns.com/github-btn.html?user=Bogdan-Lyashenko&repo=js-code-to-svg-flowchart&type=star&count=true\" frameborder=\"0\" scrolling=\"0\" width=\"110px\" height=\"20px\"></iframe>\n\n    <div>\n        <p id=\"svgImage\"></p>\n    </div>\n\n    <script src=\"../../../dist/js2flowchart.js\"></script>\n    <script src=\"code-sample.js\"></script>\n    <script src=\"index.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/examples/defined-abstraction-level/index.js",
    "content": "const {\n    ABSTRACTION_LEVELS,\n    createFlowTreeBuilder,\n    convertFlowTreeToSvg\n} = window.js2flowchart;\n\nconst flowTreeBuilder = createFlowTreeBuilder();\n\n//you can pass one level or multiple levels in [] as well\nflowTreeBuilder.setAbstractionLevel([\n    ABSTRACTION_LEVELS.IMPORT,\n    ABSTRACTION_LEVELS.EXPORT\n]);\n\nconst flowTree = flowTreeBuilder.build(code),\n    svg = convertFlowTreeToSvg(flowTree);\n\ndocument.getElementById('svgImage').innerHTML = svg;\n"
  },
  {
    "path": "docs/examples/defined-color-theme/code-sample.js",
    "content": "const code = `\n    function switchSampleFromMDN() {\n        const foo = 0;\n\n        switch (foo) {\n          case -1:\n            console.log('negative 1');\n            break;\n          case 0:\n            console.log(0);\n          case 1:\n            console.log(1);\n            return 1;\n          default:\n            console.log('default');\n        }\n    }\n`;\n"
  },
  {
    "path": "docs/examples/defined-color-theme/index.html",
    "content": "<!doctype html>\n<html class=\"no-js\" lang=\"\">\n    <head>\n        <meta charset=\"utf-8\">\n        <meta http-equiv=\"x-ua-compatible\" content=\"ie=edge\">\n        <title></title>\n        <meta name=\"description\" content=\"\">\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    </head>\n    <body>\n        <iframe style=\"position: fixed; right: 0\" src=\"https://ghbtns.com/github-btn.html?user=Bogdan-Lyashenko&repo=js-code-to-svg-flowchart&type=star&count=true\" frameborder=\"0\" scrolling=\"0\" width=\"110px\" height=\"20px\"></iframe>\n        <div>\n            <p id=\"svgImage\"></p>\n        </div>\n\n        <script src=\"../../../dist/js2flowchart.js\"></script>\n        <script src=\"code-sample.js\"></script>\n        <script src=\"index.js\"></script>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/examples/defined-color-theme/index.js",
    "content": "const {createSVGRender, convertCodeToFlowTree} = window.js2flowchart;\n\nconst flowTree = convertCodeToFlowTree(code),\n    svgRender = createSVGRender();\n\n//applying another theme for render\nsvgRender.applyLightTheme();\n\nconst svg = svgRender.buildShapesTree(flowTree).print();\n\ndocument.getElementById('svgImage').innerHTML = svg;\n"
  },
  {
    "path": "docs/examples/defined-modifier/code-sample.js",
    "content": "const code = `\n    function print(list) {\n        const newList = list.map(i => {\n            return i + 1;\n        });\n\n        newList.forEach(i => {\n            console.debug('iteration start');\n            console.log(i);\n            console.debug('iteration end');\n        });\n    }\n`;\n"
  },
  {
    "path": "docs/examples/defined-modifier/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Title</title>\n</head>\n<body>\n    <iframe style=\"position: fixed; right: 0\" src=\"https://ghbtns.com/github-btn.html?user=Bogdan-Lyashenko&repo=js-code-to-svg-flowchart&type=star&count=true\" frameborder=\"0\" scrolling=\"0\" width=\"110px\" height=\"20px\"></iframe>\n<div>\n    <p id=\"svgImage\"></p>\n</div>\n\n<script src=\"../../../dist/js2flowchart.js\"></script>\n<script src=\"code-sample.js\"></script>\n<script src=\"index.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/examples/defined-modifier/index.js",
    "content": "const {\n    createFlowTreeBuilder,\n    createFlowTreeModifier,\n    convertFlowTreeToSvg,\n    MODIFIER_PRESETS\n} = window.js2flowchart;\n\nconst flowTreeBuilder = createFlowTreeBuilder(),\n    flowTree = flowTreeBuilder.build(code);\n\nconst flowTreeModifier = createFlowTreeModifier();\n\nflowTreeModifier.setModifier(MODIFIER_PRESETS.es5ArrayIterators);\nflowTreeModifier.applyToFlowTree(flowTree);\n\nconst svg = convertFlowTreeToSvg(flowTree);\n\ndocument.getElementById('svgImage').innerHTML = svg;\n"
  },
  {
    "path": "docs/examples/dev/code-sample.js",
    "content": "const code = `\nimport { complexTraversal } from 'shared/utils/traversalWithTreeLevelsPointer';\nimport { SVGBase } from './SVGBase';\nimport { createShapeForNode, createRootCircle, createConnectionArrow } from './shapesFactory';\nimport { TOKEN_TYPES, TOKEN_KEYS, ARROW_TYPE } from 'shared/constants';\n\nexport const buildSVGObjectsTree = (flowTree, styleTheme) => {\n    const svg = SVGBase();\n\n    const shapeStructures = buildShapeStructures(flowTree, styleTheme);\n    const connections = buildConnections(shapeStructures.root, styleTheme);\n\n    svg.addShapes(shapeStructures.list).addShapes(shapeStructures.root);\n    svg.addArrowConnections(connections);\n\n    return svg;\n};\n\nexport const buildShapeStructures = (flowTree, styleTheme) => {\n    const root = createRootCircle(flowTree, styleTheme),\n        position = { ...root.getChildOffsetPoint() },\n        shapesList = [];\n\n    let latestNode;\n\n    complexTraversal(\n        flowTree,\n        root,\n        (parentNode, parentShape) => {\n            position.x += parentShape.getChildOffsetPoint().x;\n        },\n        (node, parentShape) => {\n            position.y += addExtraSpacingBeforeShape(styleTheme, node, latestNode);\n\n            //TODO: refactor, move cases out of func, it will to many of them soon\n            if (\n                parentShape.getNodeType() === TOKEN_TYPES.CONDITIONAL &&\n                node.key === TOKEN_KEYS.ALTERNATE &&\n                !parentShape.checkIfChildExist(TOKEN_KEYS.ALTERNATE)\n            ) {\n                const alternatePoint = parentShape.getAlternativeBranchChildOffsetPoint();\n                position.x = alternatePoint.x + parentShape.getMargin();\n                position.y = alternatePoint.y;\n            }\n\n            const shape = createShapeForNode(node, { x: position.x, y: position.y }, styleTheme);\n\n            position.x = shape.getPosition().x;\n            position.y = shape.getPosition().y;\n\n            shapesList.push(shape);\n            parentShape.connectChild(shape);\n            position.y += shape.getChildOffsetPoint().y;\n\n            latestNode = node;\n            return shape;\n        },\n        (parentNode, parentShape) => {\n            if (parentNode.type === TOKEN_TYPES.CONDITIONAL) {\n                position.y = parentShape.getChildBoundaries().max.y + parentShape.getMargin();\n            }\n\n            position.x = parentShape.getPosition().x;\n        }\n    );\n\n    return {\n        list: shapesList,\n        root: root\n    };\n};\n\nconst addExtraSpacingBeforeShape = (theme, node, latestNode = {}) => {\n    const complexNodeTypes = [\n        TOKEN_TYPES.FUNCTION,\n        TOKEN_TYPES.FUNCTION_DECLARATION,\n        TOKEN_TYPES.FUNCTION_EXPRESSION,\n        TOKEN_TYPES.ARROW_FUNCTION_EXPRESSION,\n        TOKEN_TYPES.CLASS_DECLARATION,\n        TOKEN_TYPES.IMPORT_DECLARATION,\n        TOKEN_TYPES.EXPORT_NAMED_DECLARATION,\n        TOKEN_TYPES.EXPORT_DEFAULT_DECLARATION\n    ];\n\n    if (\n        complexNodeTypes.includes(node.type) &&\n        !complexNodeTypes.includes(latestNode.type) &&\n        node.pathParentType !== TOKEN_TYPES.CALL_EXPRESSION\n    ) {\n        return theme.BaseShape.complexTypeExtraSpace;\n    }\n\n    return 0;\n};\n\nexport const buildConnections = (shapesTree, styleTheme) => {\n    const connections = [],\n        pushArrow = config => {\n            const connection = createConnectionArrow(config, styleTheme);\n            connections.push(connection);\n\n            return connection;\n        };\n\n    let latestShape = null,\n        latestParentShape = null;\n\n    complexTraversal(\n        shapesTree,\n        shapesTree,\n        parentShape => {},\n        (shape, parentShape) => {\n            latestShape = shape;\n\n            const config = buildConnectionConfig(shape, parentShape),\n                arrow = pushArrow(config);\n\n            shape.assignConnectionArrow(arrow);\n\n            return shape;\n        },\n        parentShape => {\n            latestParentShape = parentShape;\n            if (parentShape.getNodeType() !== TOKEN_TYPES.LOOP) return;\n\n            const { max } = parentShape.getChildBoundaries();\n\n            parentShape.assignLoopedConnectionArrow(\n                pushArrow({\n                    startPoint: latestShape.getBackPoint(),\n                    endPoint: parentShape.getMidPoint(),\n                    boundaryPoint: { x: max.x },\n                    arrowType: ARROW_TYPE.DOWN\n                })\n            );\n        },\n        {\n            getBody: node => node.getBody()\n        }\n    );\n\n    return connections;\n};\n\nconst isNoArrow = (toShape, fromShape) => {\n    if (\n        [\n            TOKEN_TYPES.IMPORT_SPECIFIER,\n            TOKEN_TYPES.IMPORT_DEFAULT_SPECIFIER,\n            TOKEN_TYPES.OBJECT_PROPERTY\n        ].includes(toShape.getNodeType())\n    ) {\n        return true;\n    }\n\n    if (\n        [\n            TOKEN_TYPES.FUNCTION_DECLARATION,\n            TOKEN_TYPES.FUNCTION_EXPRESSION,\n            TOKEN_TYPES.FUNCTION,\n            TOKEN_TYPES.ARROW_FUNCTION_EXPRESSION\n        ].includes(toShape.getNodeType()) &&\n        [\n            TOKEN_TYPES.CALL_EXPRESSION,\n            TOKEN_TYPES.VARIABLE_DECLARATOR,\n            TOKEN_TYPES.ASSIGNMENT_EXPRESSION,\n            TOKEN_TYPES.NEW_EXPRESSION\n        ].includes(fromShape.getNodeType())\n    ) {\n        return true;\n    }\n};\n\nconst buildConnectionConfig = (toShape, fromShape) => {\n    const config = {\n        endPoint: toShape.getToPoint(),\n        arrowType: ARROW_TYPE.RIGHT,\n        noArrow: isNoArrow(toShape, fromShape)\n    };\n\n    if (\n        toShape.getNodeKey() === TOKEN_KEYS.ALTERNATE &&\n        toShape.getNodeType() !== TOKEN_TYPES.OBJECT_PROPERTY\n    ) {\n        const boundaryPoint = fromShape.getAlternativeBranchChildOffsetPoint();\n\n        config.startPoint = fromShape.getAlternateFromPoint();\n        config.boundaryPoint = { x: boundaryPoint.x };\n    } else {\n        config.startPoint = fromShape.getFromPoint();\n    }\n\n    return config;\n};\n\n    `;\n\nconst tsCode = `\n\nexport interface Image {\n    imageUri: string;\n    link: string;\n    board: string;\n    comments: {text: string; user: string;}[];\n}\n\nexport function getUser(id: string, callback: (user: User) => void) {\n    db.collection('users', function(error, users) {\n        if(error) { console.error(error); return; }\n        users.find({_id: id}).batchSize(10).nextObject(function(error, user) {\n            callback(user);\n        });\n    });\n}\n`;\n"
  },
  {
    "path": "docs/examples/dev/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Title</title>\n</head>\n<body>\n\n<div>\n    <p id=\"svgImage\"></p>\n</div>\n\n<script src=\"../../../dist/js2flowchart.js\"></script>\n<script src=\"code-sample.js\"></script>\n<script src=\"index.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/examples/dev/index.js",
    "content": "const { createSVGRender, convertCodeToFlowTree } = window.js2flowchart;\n\nconst flowTree = convertCodeToFlowTree(`const longNamelongNamelongNamelongNamelongName = 1`),\n    svgRender = createSVGRender();\n\n//applying another theme for render\nsvgRender.applyTheme({\n    common: {\n        maxNameLength: 10\n    }\n});\n\nconst svg = svgRender.buildShapesTree(flowTree).print();\n\ndocument.getElementById('svgImage').innerHTML = svg\n"
  },
  {
    "path": "docs/examples/node-destruction/code-sample.js",
    "content": "const code = `\n        const list = [1, 2, 3, 4];\n\n        function filterAndPrint(list) {\n            list = list.filter((i, b) => a);\n\n            list.forEach(i => console.log(i));\n\n            return false;\n        }\n\n        filterAndPrint(list);\n`;\n"
  },
  {
    "path": "docs/examples/node-destruction/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Title</title>\n</head>\n<body>\n    <iframe style=\"position: fixed; right: 0\" src=\"https://ghbtns.com/github-btn.html?user=Bogdan-Lyashenko&repo=js-code-to-svg-flowchart&type=star&count=true\" frameborder=\"0\" scrolling=\"0\" width=\"110px\" height=\"20px\"></iframe>\n    <div>\n        <p id=\"svgImage\"></p>\n    </div>\n\n    <script src=\"../../../dist/js2flowchart.js\"></script>\n    <script src=\"code-sample.js\"></script>\n    <script src=\"index.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/examples/node-destruction/index.js",
    "content": "const {\n    createFlowTreeBuilder,\n    createFlowTreeModifier,\n    convertFlowTreeToSvg\n} = window.js2flowchart;\n\nconst flowTreeBuilder = createFlowTreeBuilder();\nconst flowTree = flowTreeBuilder.build(code);\nconst flowTreeModifier = createFlowTreeModifier();\n\nflowTreeModifier.destructNodeTree((node) => node.name.indexOf('.forEach') !== -1, 'and print list...');\nflowTreeModifier.applyToFlowTree(flowTree);\n\ndocument.getElementById('svgImage').innerHTML = convertFlowTreeToSvg(flowTree);\n"
  },
  {
    "path": "docs/examples/one-module-presentation/code-sample.js",
    "content": "const code = `\n    import {format} from './util/string';\n\n    function formatName(name) {\n        if (!name) return 'no-name';\n\n        return format(name);\n    }\n\n    class Animal {\n        constructor(breed) {\n            this.breed = breed;\n        }\n\n        getBreed() {\n            return this.breed;\n        }\n\n        setName(name) {\n            if (this.nameExist()) {\n                return;\n            }\n\n            this.name = name;\n        }\n    }\n\n    class Man extends Animal {\n       sayName() {\n            console.log('name', this.name);\n       }\n    }\n\n    export default Man;\n`;\n"
  },
  {
    "path": "docs/examples/one-module-presentation/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Presentation</title>\n    <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.2.4/tiny-slider.css\">\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.2.4/min/tiny-slider.js\"></script>\n    <style>\n        body {\n            padding: 20px 50px;\n            font-family: monospace;\n            font-size: 11pt;\n            color: #555;\n        }\n\n        p {\n            padding-bottom: 10px;\n            border-bottom: 1px solid #cccccc;\n        }\n    </style>\n</head>\n<body>\n\n    <iframe style=\"position: fixed; right: 0\" src=\"https://ghbtns.com/github-btn.html?user=Bogdan-Lyashenko&repo=js-code-to-svg-flowchart&type=star&count=true\" frameborder=\"0\" scrolling=\"0\" width=\"110px\" height=\"20px\"></iframe>\n\n    <div id=\"container\"> </div>\n\n    <script src=\"../../../dist/js2flowchart.js\"></script>\n    <script src=\"code-sample.js\"></script>\n    <script src=\"index.js\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "docs/examples/one-module-presentation/index.js",
    "content": "const {createPresentationGenerator} = window.js2flowchart;\n\nconst presentationGenerator = createPresentationGenerator(code);\nconst slides = presentationGenerator.buildSlides();\n\nconst slideNames = [\n    'See exports: what module provides?',\n    '..and imports: what it depends on?',\n    'Classes and functions',\n    '...and dependencies between functions',\n    'See all details'\n];\n\ndocument.getElementById('container').appendChild(\n\n    slides.reduce((fragment, svg, i) => {\n        const span = document.createElement('span');\n        span.innerHTML = `\n                    <p>${slideNames[i]}</p>\n                    <div>${svg}</div>\n                `;\n\n        fragment.appendChild(span);\n        return fragment;\n    }, document.createDocumentFragment())\n\n);\n\nwindow['tns']({\n    container: '#container',\n    mouseDrag: true,\n    arrowKeys: true,\n    loop: false,\n    speed: 700,\n    mode: 'gallery'\n});\n"
  },
  {
    "path": "docs/live-editor/index.html",
    "content": "<!doctype html>\n<html class=\"no-js\" lang=\"\">\n    <head>\n        <meta charset=\"utf-8\">\n        <title>Live code editor</title>\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\n        <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.31.0/codemirror.min.css\">\n        <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.31.0/theme/elegant.css\">\n\n        <script src=\"https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.31.0/codemirror.min.js\"></script>\n        <script src=\"https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.31.0/mode/javascript/javascript.js\"></script>\n        <script src=\"https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js\"></script>\n        <script src=\"https://cdn.rawgit.com/eligrey/FileSaver.js/e9d941381475b5df8b7d7691013401e171014e89/FileSaver.min.js\"></script>\n\n\n        <style>\n\n            .container {\n                display: flex;\n                flex-direction: row;\n            }\n\n            .column {\n                flex: 1;\n                border-left: 1px solid #ccc;\n            }\n\n            #svgImage {\n                background: white;\n                margin: 0;\n                overflow: auto;\n            }\n\n            #downloadFile {\n                position: fixed;\n                right: 20px;\n                top: 15px;\n                padding: 5px 10px;\n                background: white;\n                border: 1px solid #2288ff;\n                outline: none;\n                font-weight: bold;\n                color: #2288ff;\n                font-family: sans-serif;\n                cursor: pointer;\n                z-index: 10;\n            }\n            #downloadFile:hover {\n                background: #d8efff;\n            }\n\n            .CodeMirror {\n                height: 100%;\n                line-height: 1.5;\n            }\n\n            @media all and (max-width: 500px) {\n                .container {\n                    flex-direction: column;\n                }\n            }\n\n        </style>\n    </head>\n    <body>\n\n    <iframe style=\"position: fixed; right: 0; top: 50px; z-index: 10\" src=\"https://ghbtns.com/github-btn.html?user=Bogdan-Lyashenko&repo=js-code-to-svg-flowchart&type=star&count=true\" frameborder=\"0\" scrolling=\"0\" width=\"110px\" height=\"20px\"></iframe>\n\n    <div class=\"container\">\n        <div class=\"column\">\n            <textarea id=\"codeEditor\">\n /**\n * Binary search\n * @param {Array} list\n * @param {Number} element\n * @returns {number}\n */\nfunction indexSearch(list, element) {\n    let currentIndex,\n        currentElement,\n        minIndex = 0,\n        maxIndex = list.length - 1;\n\n    while (minIndex <= maxIndex) {\n        currentIndex = Math.floor((maxIndex + maxIndex) / 2);\n        currentElement = list[currentIndex];\n\n        if (currentElement === element) {\n            return currentIndex;\n        }\n\n        if (currentElement < element) {\n            minIndex = currentIndex + 1;\n        }\n\n        if (currentElement > element) {\n            maxIndex = currentIndex - 1;\n        }\n    }\n\n    return -1;\n}</textarea>\n        </div>\n        <button id=\"downloadFile\">DOWNLOAD SVG FILE</button>\n        <div class=\"column\">\n            <p id=\"svgImage\"></p>\n        </div>\n    </div>\n\n    <script src=\"index.js\"></script>\n\n    </body>\n</html>\n"
  },
  {
    "path": "docs/live-editor/index.js",
    "content": "(function () {\n    const worker = new Worker('./worker.js'),\n        svgImage = document.getElementById('svgImage'),\n        downloadFile = document.getElementById('downloadFile'),\n        codeEditor = CodeMirror.fromTextArea(document.getElementById('codeEditor'), {\n            lineNumbers: true,\n            mode:  'javascript',\n            theme: 'elegant'\n        });\n\n    codeEditor.on('change', _.debounce(() => {\n        worker.postMessage({ code: codeEditor.getValue() });\n    }), 500);\n\n    downloadFile.addEventListener('click', ()=> {\n        const fileName = `flowchart_${(new Date().toString()).replace(/ /g,'_')}.svg`,\n            file = new File([svgImage.innerHTML], fileName, {type: 'image/svg+xml;charset=utf-8'});\n\n        window.saveAs(file, fileName);\n    });\n\n    worker.onmessage = function(message) {\n        svgImage.innerHTML = message.data.svg;\n    };\n\n    worker.postMessage({ code: codeEditor.getValue() });\n})();\n"
  },
  {
    "path": "docs/live-editor/worker.js",
    "content": "importScripts('../../dist/js2flowchart.js');\n\nself.onmessage = function(message) {\n    const code = message.data.code;\n    let svg = '',\n        shouldUpdate = true;\n    try {\n        shouldUpdate = true;\n        svg = js2flowchart.convertCodeToSvg(code);\n    } catch (e) {\n        shouldUpdate = false;\n        console.log(e);\n    } finally {\n        shouldUpdate && self.postMessage({\n            svg\n        });\n    }\n\n};\n\n\n"
  },
  {
    "path": "index.js",
    "content": "import FlowTreeBuilder, {\n    createFlowTreeModifier as createFlowTreeModifierFromBuilder,\n\n    ABSTRACTION_LEVELS,\n    MODIFIER_PRESETS,\n    DEFINED_MODIFIERS\n} from 'builder/FlowTreeBuilder';\nimport SVGRender, { ShapesTreeEditor } from 'render/svg/SVGRender';\nimport PresentationGenerator from 'presentation-generator/PresentationGenerator';\nimport { TOKEN_TYPES, MODIFIED_TYPES } from 'shared/constants';\n\nexport const createFlowTreeBuilder = FlowTreeBuilder;\nexport const createFlowTreeModifier = createFlowTreeModifierFromBuilder;\n\nexport const createSVGRender = SVGRender;\nexport const createShapesTreeEditor = ShapesTreeEditor;\n\nexport const createPresentationGenerator = PresentationGenerator;\n\nexport { ABSTRACTION_LEVELS, DEFINED_MODIFIERS, MODIFIER_PRESETS, TOKEN_TYPES, MODIFIED_TYPES };\n\nexport const convertCodeToSvg = (code, printConfig) => convertFlowTreeToSvg(convertCodeToFlowTree(code), printConfig);\n\nexport const convertCodeToFlowTree = (code) => {\n    const flowTreeBuilder = createFlowTreeBuilder();\n\n    return flowTreeBuilder.build(code);\n};\n\nexport const convertFlowTreeToSvg = (flowTree, printConfig) => {\n    const svgRender = createSVGRender();\n\n    const shapesTree = svgRender.buildShapesTree(flowTree);\n\n    return shapesTree.print(printConfig);\n};\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"js2flowchart\",\n  \"version\": \"1.3.5\",\n  \"author\": \"Bohdan Liashenko\",\n  \"license\": \"MIT\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/Bogdan-Lyashenko/js-code-to-svg-flowchart.git\"\n  },\n  \"main\": \"dist/js2flowchart.js\",\n  \"scripts\": {\n    \"dev\": \"webpack --progress --colors --watch --env dev\",\n    \"build\": \"NODE_ENV=production webpack --progress\",\n    \"babel-compile\": \"babel src -d build --copy-files\",\n    \"pretty\": \"prettier  --write \\\"./src/**/*.js\\\" \\\"./cli/*.js\\\"\"\n  },\n  \"bin\": {\n    \"js2flowchart\": \"./cli/index.cli.js\"\n  },\n  \"devDependencies\": {\n    \"@babel/cli\": \"^7.22.10\",\n    \"@babel/core\": \"^7.22.10\",\n    \"@babel/preset-env\": \"^7.22.10\",\n    \"babel-loader\": \"^9.1.3\",\n    \"buffer\": \"^6.0.3\",\n    \"prettier\": \"3.0.2\",\n    \"webpack\": \"^5.88.2\",\n    \"webpack-cli\": \"^5.1.4\"\n  },\n  \"keywords\": [\n    \"svg\",\n    \"code analyzeing\",\n    \"webpack\",\n    \"es6\",\n    \"library\",\n    \"universal\",\n    \"umd\",\n    \"commonjs\"\n  ],\n  \"dependencies\": {\n    \"@babel/generator\": \"^7.22.10\",\n    \"@babel/parser\": \"^7.22.10\",\n    \"@babel/traverse\": \"^7.22.10\",\n    \"commander\": \"^11.0.0\",\n    \"deepmerge\": \"^4.3.1\",\n    \"global\": \"^4.4.0\",\n    \"string-width\": \"^6.1.0\",\n    \"xml-escape\": \"^1.1.0\"\n  }\n}\n"
  },
  {
    "path": "samples/blurShapeBranch.js",
    "content": "const doStuff = (stuff) => {\n    if (stuff) {\n        if (devFlag) {\n            log('perf start');\n            doRecursion();\n            log('perf end');\n            return;\n        }\n        doRecursion();\n        end();\n    } else {\n        throw new Error('No stuff!');\n    }\n    return null;\n};"
  },
  {
    "path": "samples/customModifier.js",
    "content": "const list = [1, 2, 3, 4];\nfunction print(list) {\n    newList.forEach(i => {\n        if (i > 2) return;\n        console.log(i);\n    });\n}\nprint(list);"
  },
  {
    "path": "samples/debugRendering.js",
    "content": "class Man {\n    constructor(n) {\n        this.name = n;\n    }\n    sayName() {\n        return this.name\n    }\n}"
  },
  {
    "path": "samples/default.js",
    "content": "function indexSearch(list, element) {\n    let currentIndex,\n        currentElement,\n        minIndex = 0,\n        maxIndex = list.length - 1;\n    while (minIndex <= maxIndex) {\n        currentIndex = Math.floor((maxIndex + maxIndex) / 2);\n        currentElement = list[currentIndex];\n        if (currentElement === element) {\n            return currentIndex;\n        }\n        if (currentElement < element) {\n            minIndex = currentIndex + 1;\n        }\n        if (currentElement > element) {\n            maxIndex = currentIndex - 1;\n        }\n    }\n    return -1;\n}"
  },
  {
    "path": "samples/definedAbstractionLevel.js",
    "content": "import {format, trim} from 'formattier';\nimport {log} from 'logger';\nconst data = [];\nexport default print = (list) => {\n    list.forEach(i => {\n        console.log(i);\n    });\n}\nexport const formatString = (str) => formatter(str);\nexport const MAX_STR_LENGTH = 15;"
  },
  {
    "path": "samples/definedColorTheme.js",
    "content": "function switchSampleFromMDN() {\n    const foo = 0;\n    switch (foo) {\n        case -1:\n            console.log('negative 1');\n            break;\n        case 0:\n            console.log(0);\n        case 1:\n            console.log(1);\n            return 1;\n        default:\n            console.log('default');\n    }\n}"
  },
  {
    "path": "samples/definedModifier.js",
    "content": "function print(list) {\n    const newList = list.map(i => {\n        return i + 1;\n    });\n    newList.forEach(i => {\n        console.debug('iteration start');\n        console.log(i);\n        console.debug('iteration end');\n    });\n}"
  },
  {
    "path": "samples/dev.js",
    "content": "import { complexTraversal } from 'shared/utils/traversalWithTreeLevelsPointer';\nimport { SVGBase } from './SVGBase';\nimport { createShapeForNode, createRootCircle, createConnectionArrow } from './shapesFactory';\nimport { TOKEN_TYPES, TOKEN_KEYS, ARROW_TYPE } from 'shared/constants';\nexport const buildSVGObjectsTree = (flowTree, styleTheme) => {\n    const svg = SVGBase();\n    const shapeStructures = buildShapeStructures(flowTree, styleTheme);\n    const connections = buildConnections(shapeStructures.root, styleTheme);\n    svg.addShapes(shapeStructures.list).addShapes(shapeStructures.root);\n    svg.addArrowConnections(connections);\n    return svg;\n};\nexport const buildShapeStructures = (flowTree, styleTheme) => {\n    const root = createRootCircle(flowTree, styleTheme),\n        position = { ...root.getChildOffsetPoint() },\n        shapesList = [];\n    let latestNode;\n    complexTraversal(\n        flowTree,\n        root,\n        (parentNode, parentShape) => {\n            position.x += parentShape.getChildOffsetPoint().x;\n        },\n        (node, parentShape) => {\n            position.y += addExtraSpacingBeforeShape(styleTheme, node, latestNode);\n            //TODO: refactor, move cases out of func, it will to many of them soon\n            if (\n                parentShape.getNodeType() === TOKEN_TYPES.CONDITIONAL &&\n                node.key === TOKEN_KEYS.ALTERNATE &&\n                !parentShape.checkIfChildExist(TOKEN_KEYS.ALTERNATE)\n            ) {\n                const alternatePoint = parentShape.getAlternativeBranchChildOffsetPoint();\n                position.x = alternatePoint.x + parentShape.getMargin();\n                position.y = alternatePoint.y;\n            }\n            const shape = createShapeForNode(node, { x: position.x, y: position.y }, styleTheme);\n            position.x = shape.getPosition().x;\n            position.y = shape.getPosition().y;\n            shapesList.push(shape);\n            parentShape.connectChild(shape);\n            position.y += shape.getChildOffsetPoint().y;\n            latestNode = node;\n            return shape;\n        },\n        (parentNode, parentShape) => {\n            if (parentNode.type === TOKEN_TYPES.CONDITIONAL) {\n                position.y = parentShape.getChildBoundaries().max.y + parentShape.getMargin();\n            }\n            position.x = parentShape.getPosition().x;\n        }\n    );\n    return {\n        list: shapesList,\n        root: root\n    };\n};\nconst addExtraSpacingBeforeShape = (theme, node, latestNode = {}) => {\n    const complexNodeTypes = [\n        TOKEN_TYPES.FUNCTION,\n        TOKEN_TYPES.FUNCTION_DECLARATION,\n        TOKEN_TYPES.FUNCTION_EXPRESSION,\n        TOKEN_TYPES.ARROW_FUNCTION_EXPRESSION,\n        TOKEN_TYPES.CLASS_DECLARATION,\n        TOKEN_TYPES.IMPORT_DECLARATION,\n        TOKEN_TYPES.EXPORT_NAMED_DECLARATION,\n        TOKEN_TYPES.EXPORT_DEFAULT_DECLARATION\n    ];\n    if (\n        complexNodeTypes.includes(node.type) &&\n        !complexNodeTypes.includes(latestNode.type) &&\n        node.pathParentType !== TOKEN_TYPES.CALL_EXPRESSION\n    ) {\n        return theme.BaseShape.complexTypeExtraSpace;\n    }\n    return 0;\n};\nexport const buildConnections = (shapesTree, styleTheme) => {\n    const connections = [],\n        pushArrow = config => {\n            const connection = createConnectionArrow(config, styleTheme);\n            connections.push(connection);\n            return connection;\n        };\n    let latestShape = null,\n        latestParentShape = null;\n    complexTraversal(\n        shapesTree,\n        shapesTree,\n        parentShape => {},\n        (shape, parentShape) => {\n            latestShape = shape;\n            const config = buildConnectionConfig(shape, parentShape),\n                arrow = pushArrow(config);\n            shape.assignConnectionArrow(arrow);\n            return shape;\n        },\n        parentShape => {\n            latestParentShape = parentShape;\n            if (parentShape.getNodeType() !== TOKEN_TYPES.LOOP) return;\n            const { max } = parentShape.getChildBoundaries();\n            parentShape.assignLoopedConnectionArrow(\n                pushArrow({\n                    startPoint: latestShape.getBackPoint(),\n                    endPoint: parentShape.getMidPoint(),\n                    boundaryPoint: { x: max.x },\n                    arrowType: ARROW_TYPE.DOWN\n                })\n            );\n        },\n        {\n            getBody: node => node.getBody()\n        }\n    );\n    return connections;\n};\nconst isNoArrow = (toShape, fromShape) => {\n    if (\n        [\n            TOKEN_TYPES.IMPORT_SPECIFIER,\n            TOKEN_TYPES.IMPORT_DEFAULT_SPECIFIER,\n            TOKEN_TYPES.OBJECT_PROPERTY\n        ].includes(toShape.getNodeType())\n    ) {\n        return true;\n    }\n    if (\n        [\n            TOKEN_TYPES.FUNCTION_DECLARATION,\n            TOKEN_TYPES.FUNCTION_EXPRESSION,\n            TOKEN_TYPES.FUNCTION,\n            TOKEN_TYPES.ARROW_FUNCTION_EXPRESSION\n        ].includes(toShape.getNodeType()) &&\n        [\n            TOKEN_TYPES.CALL_EXPRESSION,\n            TOKEN_TYPES.VARIABLE_DECLARATOR,\n            TOKEN_TYPES.ASSIGNMENT_EXPRESSION,\n            TOKEN_TYPES.NEW_EXPRESSION\n        ].includes(fromShape.getNodeType())\n    ) {\n        return true;\n    }\n};\nconst buildConnectionConfig = (toShape, fromShape) => {\n    const config = {\n        endPoint: toShape.getToPoint(),\n        arrowType: ARROW_TYPE.RIGHT,\n        noArrow: isNoArrow(toShape, fromShape)\n    };\n    if (\n        toShape.getNodeKey() === TOKEN_KEYS.ALTERNATE &&\n        toShape.getNodeType() !== TOKEN_TYPES.OBJECT_PROPERTY\n    ) {\n        const boundaryPoint = fromShape.getAlternativeBranchChildOffsetPoint();\n        config.startPoint = fromShape.getAlternateFromPoint();\n        config.boundaryPoint = { x: boundaryPoint.x };\n    } else {\n        config.startPoint = fromShape.getFromPoint();\n    }\n    return config;\n};"
  },
  {
    "path": "samples/nodeDestruction.js",
    "content": "const list = [1, 2, 3, 4];\nfunction filterAndPrint(list) {\n    list = list.filter((i, b) => a);\n    list.forEach(i => console.log(i));\n    return false;\n}\nfilterAndPrint(list);"
  },
  {
    "path": "samples/oneModulePresentation.js",
    "content": "import {format} from './util/string';\nfunction formatName(name) {\n    if (!name) return 'no-name';\n    return format(name);\n}\nclass Animal {\n    constructor(breed) {\n        this.breed = breed;\n    }\n    getBreed() {\n        return this.breed;\n    }\n    setName(name) {\n        if (this.nameExist()) {\n            return;\n        }\n        this.name = name;\n    }\n}\nclass Man extends Animal {\n    sayName() {\n        console.log('name', this.name);\n    }\n}"
  },
  {
    "path": "src/builder/FlowTreeBuilder.js",
    "content": "import traverse from '@babel/traverse';\n\nimport { DefinitionsList } from './entryDefinitionsMap';\nimport { parseCodeToAST, buildVisitor } from './astBuilder';\nimport {\n    ABSTRACTION_LEVELS,\n    rebuildConfigForAbstractionLevel\n} from './abstractionLevelsConfigurator';\nimport FlowTreeModifier from './FlowTreeModifier';\nimport {\n    DEFINED_MODIFIERS,\n    MODIFIER_PRESETS,\n    destructionModifier,\n    expressionCallbacksModifier,\n    arrowFunctionReturnModifier\n} from './modifiers/modifiersFactory';\nimport { TOKEN_TYPES } from 'shared/constants';\nimport { logError } from 'shared/utils/logger';\n\nconst buildFlowTree = (astTree, astVisitorConfig) => {\n    const treeNodes = [];\n\n    traverse(astTree, buildVisitor(astVisitorConfig, treeNodes));\n\n    const root = (treeNodes.length && treeNodes[0]) || {};\n    return root.type === TOKEN_TYPES.PROGRAM\n        ? root\n        : { name: 'Root', type: TOKEN_TYPES.PROGRAM, body: treeNodes };\n};\n\n//TODO: seems redundant abstraction, refactor\nexport const createFlowTreeModifier = () => {\n    const modifiers = FlowTreeModifier();\n\n    return {\n        setModifier(modifier) {\n            modifiers.addModifier(modifier);\n        },\n\n        registerNewModifier(test, updates) {\n            modifiers.create(test, updates);\n        },\n\n        destructNodeTree(test, newNameFn) {\n            this.setModifier(destructionModifier(test, newNameFn));\n        },\n\n        applyToFlowTree(flowTree) {\n            modifiers.applyTo(flowTree);\n            return flowTree;\n        }\n    };\n};\n\nexport default ({ astParser = {}, astVisitor = {} } = {}) => {\n    const astParserConfig = {\n        ...astParser\n    };\n\n    const astVisitorConfig = {\n        definitionsMap: [...DefinitionsList],\n        globalIgnore: null,\n        ...astVisitor\n    };\n\n    const defaultModifier = createFlowTreeModifier();\n    defaultModifier.setModifier(expressionCallbacksModifier());\n    defaultModifier.setModifier(arrowFunctionReturnModifier());\n\n    return {\n        setAbstractionLevel(level) {\n            astVisitorConfig.definitionsMap = rebuildConfigForAbstractionLevel(level);\n        },\n\n        resetAbstractionLevelToNormal() {\n            astVisitorConfig.definitionsMap = [...DefinitionsList];\n        },\n\n        setIgnoreFilter(fn) {\n            astVisitorConfig.globalIgnore = fn;\n        },\n\n        build(code) {\n            const ast = this.buildAst(code);\n            return this.buildFlowTreeFromAst(ast);\n        },\n\n        buildAst(code) {\n            return parseCodeToAST(code, astParserConfig);\n        },\n\n        buildFlowTreeFromAst(ast) {\n            let flowTree = [];\n\n            try {\n                flowTree = buildFlowTree(ast, astVisitorConfig);\n                defaultModifier.applyToFlowTree(flowTree);\n            } catch (e) {\n                logError('Error at buildFlowTreeFromAst' + e.message, e.stack);\n                throw e;\n            }\n\n            return flowTree;\n        }\n    };\n};\n\nexport { DEFINED_MODIFIERS, MODIFIER_PRESETS, ABSTRACTION_LEVELS };\n"
  },
  {
    "path": "src/builder/FlowTreeModifier.js",
    "content": "import { traversalSearch } from 'shared/utils/traversal';\n\nconst executeApplyFn = (apply, node) => (typeof apply === 'function' ? apply(node) : apply);\n\nconst UpdatesMap = {\n    name(node, apply) {\n        node.name = executeApplyFn(apply, node);\n    },\n\n    prefixName(node, apply) {\n        node.prefixName = executeApplyFn(apply, node);\n    },\n\n    type(node, apply) {\n        node.type = executeApplyFn(apply, node);\n    },\n\n    body(node, apply) {\n        node.body = executeApplyFn(apply, node);\n    },\n\n    parent(node, apply) {\n        node.parent = executeApplyFn(apply, node);\n    }\n};\n\nconst applyModifierUpdates = (tree, modifier) => {\n    const nodes = traversalSearch(tree, modifier.test);\n\n    if (!nodes.length) return;\n\n    const updates = Object.keys(modifier.updates || {});\n\n    updates.filter(i => i !== 'subTreeUpdate').forEach(updateName => {\n        nodes.forEach(node => {\n            UpdatesMap[updateName](node, modifier.updates[updateName]);\n        });\n    });\n\n    if (updates.includes('subTreeUpdate')) {\n        modifier.updates.subTreeUpdate(nodes, tree);\n    }\n};\n\nexport default () => {\n    const modifiersList = [];\n\n    return {\n        addModifier(modifier) {\n            [].concat(modifier).forEach(item => modifiersList.push(item));\n        },\n\n        create(test, updates) {\n            this.addModifier({ test, updates });\n        },\n\n        runModifier(tree, modifier) {\n            applyModifierUpdates(tree, modifier);\n        },\n\n        applyTo(tree) {\n            modifiersList.forEach(modifier => this.runModifier(tree, modifier));\n        }\n    };\n};\n"
  },
  {
    "path": "src/builder/abstraction-levels/functionDependencies.js",
    "content": "import { TOKEN_TYPES } from 'shared/constants';\nimport { callExpressionConverter } from 'builder/converters/core';\nimport { DefinitionsMap } from 'builder/entryDefinitionsMap';\nimport { getCustomFunctionDeclaration } from 'builder/abstraction-levels/functions';\n\nconst isNodeContainsFunctionCall = node => {\n    return node && node.type === TOKEN_TYPES.CALL_EXPRESSION;\n};\n\nconst getCustomAssignmentExpression = () => {\n    const assignmentExpression = DefinitionsMap[TOKEN_TYPES.ASSIGNMENT_EXPRESSION];\n\n    return {\n        ...assignmentExpression,\n        getName: ({ node }) => callExpressionConverter({ node: node.right }),\n        ignore: path =>\n            assignmentExpression.ignore(path) || !isNodeContainsFunctionCall(path.node.right)\n    };\n};\n\nconst getCustomVariableDeclarator = () => {\n    const variableDeclarator = DefinitionsMap[TOKEN_TYPES.VARIABLE_DECLARATOR];\n\n    return {\n        ...variableDeclarator,\n        getName: ({ node }) => callExpressionConverter({ node: node.init }),\n        ignore: path =>\n            variableDeclarator.ignore(path) || !isNodeContainsFunctionCall(path.node.init)\n    };\n};\n\nexport const getFunctionDependenciesLevel = () => ({\n    defined: [TOKEN_TYPES.CALL_EXPRESSION],\n    custom: [\n        getCustomFunctionDeclaration(),\n        getCustomAssignmentExpression(),\n        getCustomVariableDeclarator()\n    ]\n});\n"
  },
  {
    "path": "src/builder/abstraction-levels/functions.js",
    "content": "import { TOKEN_TYPES } from 'shared/constants';\nimport { DefinitionsMap } from 'builder/entryDefinitionsMap';\n\nexport const getCustomFunctionDeclaration = () => {\n    const functionDeclaration = DefinitionsMap[TOKEN_TYPES.FUNCTION];\n\n    return {\n        ...functionDeclaration,\n        getName: path => {\n            let nameConfig = functionDeclaration.getName(path);\n\n            if (path.parent.type === TOKEN_TYPES.OBJECT_PROPERTY && path.parent.key) {\n                nameConfig = {\n                    ...nameConfig,\n                    name: path.parent.key.name + ': ' + nameConfig.name\n                };\n            }\n\n            return nameConfig;\n        },\n        ignore: path =>\n            (functionDeclaration.ignore && functionDeclaration.ignore(path)) ||\n            path.parent.type === TOKEN_TYPES.CALL_EXPRESSION\n    };\n};\n\nexport const getFunctionsLevel = () => {\n    return {\n        defined: [],\n        custom: [getCustomFunctionDeclaration()]\n    };\n};\n"
  },
  {
    "path": "src/builder/abstractionLevelsConfigurator.js",
    "content": "import { TOKEN_TYPES } from 'shared/constants';\nimport { DefinitionsList } from './entryDefinitionsMap';\nimport { getFunctionDependenciesLevel } from './abstraction-levels/functionDependencies';\nimport { getFunctionsLevel } from './abstraction-levels/functions';\n\nexport const ABSTRACTION_LEVELS = {\n    FUNCTION: getFunctionsLevel(),\n    FUNCTION_DEPENDENCIES: getFunctionDependenciesLevel(),\n    CLASS: [TOKEN_TYPES.CLASS_DECLARATION],\n    IMPORT: [\n        TOKEN_TYPES.IMPORT_DECLARATION,\n        TOKEN_TYPES.IMPORT_SPECIFIER,\n        TOKEN_TYPES.IMPORT_DEFAULT_SPECIFIER\n    ],\n    EXPORT: [TOKEN_TYPES.EXPORT_NAMED_DECLARATION, TOKEN_TYPES.EXPORT_DEFAULT_DECLARATION]\n};\n\nexport const rebuildConfigForAbstractionLevel = level => {\n    let definedLevels = [TOKEN_TYPES.PROGRAM],\n        customLevels = [];\n\n    [].concat(level).forEach(item => {\n        if (typeof item === 'string') {\n            return definedLevels.push(item);\n        }\n\n        if (Array.isArray(item)) {\n            return (definedLevels = definedLevels.concat([...item]));\n        }\n\n        if (typeof item === 'object') {\n            definedLevels = definedLevels.concat([...(item.defined || [])]);\n            customLevels = customLevels.concat([...(item.custom || [])]);\n        }\n    });\n\n    return DefinitionsList.filter(item => definedLevels.indexOf(item.type) !== -1).concat(\n        customLevels\n    );\n};\n"
  },
  {
    "path": "src/builder/astBuilder.js",
    "content": "import * as babelParser from '@babel/parser';\nimport { mergeObjectStructures } from 'shared/utils/composition';\n\nimport { TOKEN_KEYS } from 'shared/constants';\nimport { setupPointer } from 'shared/utils/treeLevelsPointer';\nimport { logError } from 'shared/utils/logger';\nimport defaultAstConfig from './astParserConfig';\n\nexport const parseCodeToAST = (code, config = {}) => {\n    let ast = [];\n\n    try {\n        ast = babelParser.parse(code, mergeObjectStructures(defaultAstConfig, config));\n    } catch (e) {\n        logError('Error at parseCodeToAST: ' + e.message, e.loc, e.stack);\n        throw e;\n    }\n\n    return ast;\n};\n\nexport const buildVisitor = ({ definitionsMap, globalIgnore }, treeNodesDestination) => {\n    const pointer = setupPointer(treeNodesDestination),\n        wrapByGlobalIgnore = visit => path => visit(path, globalIgnore);\n\n    return definitionsMap.reduce((acc, item) => {\n        if (!item.body) {\n            acc[item.type] = item.reversed\n                ? { exit: wrapByGlobalIgnore(visitSimpleEntry(item, pointer)) }\n                : wrapByGlobalIgnore(visitSimpleEntry(item, pointer));\n        } else {\n            acc[item.type] = {\n                enter: wrapByGlobalIgnore(enterComplexEntry(item, pointer)),\n                exit: wrapByGlobalIgnore(exitComplexEntry(item, pointer))\n            };\n        }\n\n        return acc;\n    }, {});\n};\n\n//TODO: refactor, looks a bit duplicated\nconst visitSimpleEntry = (item, pointer) => (path, globalIgnore) => {\n    if (item.ignore && item.ignore(path)) return;\n\n    const entryConfig = {\n        ...getBasicEntryConfig(item, path)\n    };\n\n    if (globalIgnore && globalIgnore(entryConfig)) return;\n\n    pushEntry(pointer, entryConfig);\n};\n\nconst enterComplexEntry = (item, pointer) => (path, globalIgnore) => {\n    if (item.ignore && item.ignore(path)) return;\n\n    const entryConfig = pushComplexEntry(item, pointer, path, globalIgnore);\n\n    pointer.stepIn(entryConfig);\n};\n\nconst pushComplexEntry = (item, pointer, path, globalIgnore) => {\n    const entryConfig = {\n        ...getBasicEntryConfig(item, path),\n        body: []\n    };\n\n    if (!(globalIgnore && globalIgnore(entryConfig))) {\n        pushEntry(pointer, entryConfig);\n    }\n\n    return entryConfig;\n};\n\nconst pushEntry = (pointer, entry) => {\n    const parent = pointer.getCurrent();\n    entry.parent = parent;\n\n    (parent.body || parent).push(entry);\n};\n\nconst getStatementParentKey = path => {\n    const statementParent =\n        path.find(path => path.parentKey === TOKEN_KEYS.PROGRAM || path.isStatementOrBlock()) || {};\n    return statementParent.key;\n};\n\nconst exitComplexEntry = (item, pointer) => path => {\n    if (item.ignore && item.ignore(path)) return;\n\n    pointer.stepOut();\n};\n\nconst getBasicEntryConfig = (item, path) => {\n    const name = item.getName(path),\n        nameOptions = typeof name === 'string' ? { name } : name;\n\n    const config = {\n        ...nameOptions,\n        type: item.type,\n        key: getStatementParentKey(path),\n        isBodyEntry: path.key === TOKEN_KEYS.BODY\n    };\n\n    if (!config.name) {\n        config.name = '';\n    }\n\n    if (item.type !== path.node.type) {\n        config.subType = path.node.type;\n    }\n\n    return config;\n};\n"
  },
  {
    "path": "src/builder/astParserConfig.js",
    "content": "export default {\n    sourceType: 'module',\n    plugins: [\n        'objectRestSpread',\n        'jsx',\n        'typescript',\n        'classProperties',\n        'asyncGenerators',\n        'dynamicImport',\n        'exportDefaultFrom',\n        'exportNamespaceFrom',\n        'optionalChaining',\n        'nullishCoalescingOperator'\n    ]\n};\n"
  },
  {
    "path": "src/builder/converters/Harmony.js",
    "content": "import generate from '@babel/generator';\nimport { TOKEN_TYPES } from 'shared/constants';\n\nexport const importDeclarationConverter = ({ node }) => 'import from' + generate(node.source).code;\n\nexport const exportNamedDeclarationConverter = ({ node }) => `export${getExportedTokenName(node)}`;\n\nexport const exportDefaultDeclarationConverter = ({ node }) =>\n    `export default ${getExportedTokenName(node)}`;\n\nconst getExportedTokenName = path => {\n    const { declaration, specifiers } = path;\n\n    if (declaration) {\n        return ' ' + getExportDeclarations(declaration);\n    }\n\n    if (specifiers) {\n        return '';\n    }\n\n    return generate(specifiers).code;\n};\n\nconst getExportDeclarations = declaration => {\n    if (\n        [TOKEN_TYPES.FUNCTION_DECLARATION, TOKEN_TYPES.ARROW_FUNCTION_EXPRESSION].indexOf(\n            declaration.type\n        ) !== -1\n    ) {\n        return declaration.id ? declaration.id.name : 'function';\n    }\n\n    if (declaration.type === TOKEN_TYPES.VARIABLE_DECLARATION) {\n        return declaration.declarations[0].id.name;\n    }\n\n    if (declaration.type === TOKEN_TYPES.IDENTIFIER) {\n        return declaration.name;\n    }\n\n    if (declaration.type === TOKEN_TYPES.ASSIGNMENT_EXPRESSION) {\n        return declaration.left.name;\n    }\n};\n\nexport const classDeclarationConverter = ({ node }) => {\n    return `class ${generate(node.id).code} ${\n        node.superClass ? ` extends ${generate(node.superClass).code}` : ''\n    }`;\n};\n\nexport const objectPatternConverter = () => '{...}';\n\nexport const arrayPatternConverter = () => '[...]';\n"
  },
  {
    "path": "src/builder/converters/core.js",
    "content": "import generate from '@babel/generator';\nimport { TOKEN_TYPES, CLASS_FUNCTION_KINDS } from 'shared/constants';\n\nexport const idleConverter = path => {\n    return generate(path.node).code;\n};\n\nexport const identifierConverter = path => {\n    if (path.parent.type === TOKEN_TYPES.SPREAD_PROPERTY) {\n        return '...' + idleConverter(path);\n    }\n\n    return idleConverter(path);\n};\n\n/* function */\nexport const functionConverter = path => {\n    const node = path.node,\n        paramsCode = getFunctionParametersCode(node.params);\n\n    let name = '';\n\n    if (node.id) {\n        name = getAnonymousFunctionName(path) + 'function ' + node.id.name + paramsCode;\n    } else if (node.type === TOKEN_TYPES.ARROW_FUNCTION_EXPRESSION) {\n        name = getAnonymousFunctionName(path) + paramsCode + ' =>';\n    } else if (node.type === TOKEN_TYPES.CLASS_METHOD || node.type === TOKEN_TYPES.OBJECT_METHOD) {\n        name =\n            node.kind === CLASS_FUNCTION_KINDS.CONSTRUCTOR\n                ? 'constructor' + paramsCode\n                : node.key.name + paramsCode;\n    } else {\n        name = getAnonymousFunctionName(path) + 'function' + paramsCode;\n    }\n\n    return { name, pathParentType: path.parent.type };\n};\n\nexport const getAnonymousFunctionName = path => {\n    const parent = path.parent;\n\n    if (\n        !parent ||\n        (parent.type !== TOKEN_TYPES.VARIABLE_DECLARATOR &&\n            parent.type !== TOKEN_TYPES.ASSIGNMENT_EXPRESSION &&\n            parent.type !== TOKEN_TYPES.OBJECT_PROPERTY)\n    ) {\n        return '';\n    }\n\n    if (parent.left) {\n        return generate(parent.left).code + ' = ';\n    }\n\n    const parentId = parent.id;\n    return parentId ? parentId.name + ' = ' : '';\n};\n\nexport const getFunctionParametersCode = params => {\n    return `(${params\n        .map(p => {\n            if (p.name) {\n                return p.name;\n            }\n\n            return generate(p).code;\n        })\n        .join(', ')})`;\n};\n\nexport const returnConverter = path => {\n    const node = path.node;\n    if (\n        node.argument &&\n        ([TOKEN_TYPES.CONDITIONAL_EXPRESSION, TOKEN_TYPES.OBJECT_EXPRESSION].includes(\n            node.argument.type\n        ) ||\n            isFunctionType(node.argument.type))\n    ) {\n        return 'return';\n    }\n\n    return path.node.argument ? `return ${generate(path.node.argument).code}` : 'return';\n};\n/* end function */\n\n/* loop */\nexport const loopConverter = ({ node }) => {\n    if (node.test) {\n        return generate(node.test).code;\n    }\n\n    if (node.left && node.right) {\n        const innerPart = node.type === TOKEN_TYPES.FOR_OF_STATEMENT ? 'of' : 'in';\n        const leftPart =\n            node.left.type === TOKEN_TYPES.VARIABLE_DECLARATION\n                ? getVariableDeclarations(node.left.declarations)\n                : generate(node.left).code;\n\n        return `${leftPart} ${innerPart} ${generate(node.right).code}`;\n    }\n};\n\nexport const continueConverter = path => {\n    return path.node.label ? `continue ${generate(path.node.label).code}` : 'continue';\n};\n/* end loop */\n\nexport const conditionalConverter = path => {\n    return `(${generate(path.node.test).code})`;\n};\n\n/* try-catch */\nexport const tryConverter = path => {\n    return `try`;\n};\n\nexport const catchConverter = path => {\n    return path.node.param ? `catch (${generate(path.node.param).code})` : '*catchConverter*';\n};\n\nexport const finallyConverter = path => {\n    //TODO: fix `finally`, not implemented yet because it presents only as a part of parent,\n    //there is no `finally` visitor as it exist for `catch`\n    //seems like to do that each try-catch block should be handled in a different way\n\n    return '*finallyConverter*';\n};\n/* end try-catch */\n\n/* switch-case */\nexport const switchStatementConverter = path => {\n    return `switch (${generate(path.node.discriminant).code})`;\n};\n\nexport const caseConverter = path => {\n    return path.node.test ? `case ${generate(path.node.test).code}:` : 'default:';\n};\n\nexport const breakConverter = path => {\n    return path.node.label ? `break ${generate(path.node.label).code}:` : 'break';\n};\n/* end switch - case */\n\nexport const withStatementConverter = path => {\n    return `with (${generate(path.node.object).code})`;\n};\n\nexport const programConverter = path => {\n    return `${path.node.type}: source ${path.node.sourceType}`;\n};\n\nexport const throwStatementConverter = path => {\n    return `throw ${generate(path.node.argument).code}`;\n};\n\nexport const debuggerConverter = path => {\n    return `debugger`;\n};\n\nexport const getVariableDeclarations = variables =>\n    variables.map(v => variableDeclaratorConverter({ node: v })).join(', ');\n\nexport const variableDeclaratorConverter = path => {\n    const node = path.node,\n        parentKind = (path.parent && path.parent.kind) || '';\n\n    if (\n        node.init &&\n        (isNodeContainsFunc(node.init) || node.init.type === TOKEN_TYPES.CONDITIONAL_EXPRESSION)\n    ) {\n        return `${parentKind} ${node.id.name} = `;\n    }\n\n    let variableName = '';\n    if (node.id.type === TOKEN_TYPES.OBJECT_PATTERN) {\n        variableName = '{...}';\n    } else if (node.id.type === TOKEN_TYPES.ARRAY_PATTERN) {\n        variableName = '[...]';\n    } else {\n        variableName = node.id.name;\n    }\n\n    if (\n        node.init &&\n        [TOKEN_TYPES.CALL_EXPRESSION, TOKEN_TYPES.NEW_EXPRESSION].includes(node.init.type)\n    ) {\n        return `${parentKind} ${variableName} = ` + callExpressionConverter({ node: node.init });\n    }\n\n    if (node.init && node.init.type === TOKEN_TYPES.OBJECT_EXPRESSION) {\n        return `${parentKind} ${variableName} = ${objectExpressionConverter()}`;\n    }\n\n    if (node.id && node.id.type === TOKEN_TYPES.OBJECT_PATTERN) {\n        return `${parentKind} {...} = ${node.init.name}`;\n    }\n\n    if (node.id && node.id.type === TOKEN_TYPES.ARRAY_PATTERN) {\n        return `${parentKind} [...] = ${node.init.name}`;\n    }\n\n    return parentKind + ' ' + generate(node).code;\n};\n\nexport const assignmentExpressionConverter = ({ node }) => {\n    if (isNodeContainsFunc(node.right) || node.right.type === TOKEN_TYPES.CONDITIONAL_EXPRESSION) {\n        return `${getLeftAssignmentName(node.left)} ${node.operator} `;\n    }\n\n    if (node.right.type === TOKEN_TYPES.OBJECT_EXPRESSION) {\n        return `${getLeftAssignmentName(node.left)} ${\n            node.operator\n        } ${objectExpressionConverter()}`;\n    }\n\n    if ([TOKEN_TYPES.CALL_EXPRESSION, TOKEN_TYPES.NEW_EXPRESSION].includes(node.right.type)) {\n        return `${getLeftAssignmentName(node.left)} ${node.operator} ${callExpressionConverter({\n            node: node.right\n        })}`;\n    }\n\n    return generate(node).code;\n};\n\nconst getLeftAssignmentName = node => {\n    if (node.name) {\n        return node.name;\n    }\n\n    return generate(node).code;\n};\n\nexport const callExpressionConverter = ({ node }) => {\n    let argumentsCode = '';\n\n    if (node.arguments && node.arguments.length) {\n        argumentsCode = node.arguments.map(getArgumentName).join(', ');\n    }\n\n    const callee = node.callee;\n    if (\n        callee.type === TOKEN_TYPES.MEMBER_EXPRESSION &&\n        callee.object.type === TOKEN_TYPES.CALL_EXPRESSION\n    ) {\n        return { name: `.${callee.property.name}(${argumentsCode})`, chain: true };\n    } else if (argumentsCode) {\n        return `${generate(node.callee).code}(${argumentsCode})`;\n    }\n\n    return generate(node).code;\n};\n\nconst getArgumentName = argument => {\n    if (isNodeContainsFunc(argument)) return '*()';\n    if (argument.type === TOKEN_TYPES.OBJECT_EXPRESSION) return objectExpressionConverter();\n\n    if (argument.name) return argument.name;\n    if (argument.value)\n        return argument.type === TOKEN_TYPES.STRING_LITERAL\n            ? `'${argument.value}'`\n            : argument.value;\n\n    return generate(argument).code;\n};\n\nexport const objectExpressionConverter = path => {\n    const name = '{*}';\n    if (path) return { name, pathParentType: path.parent.type };\n\n    return name;\n};\n\nexport const objectPropertyConverter = path => {\n    const node = path.node;\n\n    if (node.value && isFunctionType(node.value.type)) {\n        return node.key.name + ': ';\n    }\n\n    if (node.value && node.value.type === TOKEN_TYPES.OBJECT_EXPRESSION) {\n        return node.key.name + ': ' + objectExpressionConverter();\n    }\n\n    return generate(node).code;\n};\n\nconst getFirstCallee = callee => {\n    if (!callee) return callee;\n    if (\n        callee.type === TOKEN_TYPES.MEMBER_EXPRESSION &&\n        callee.object.type === TOKEN_TYPES.CALL_EXPRESSION\n    ) {\n        return getFirstCallee(callee.object);\n    }\n\n    return callee;\n};\n\nexport const isFunctionType = type => {\n    return [\n        TOKEN_TYPES.FUNCTION_EXPRESSION,\n        TOKEN_TYPES.FUNCTION,\n        TOKEN_TYPES.ARROW_FUNCTION_EXPRESSION,\n        TOKEN_TYPES.FUNCTION_DECLARATION\n    ].includes(type);\n};\n\nexport const isNodeContainsFunc = node => {\n    const functions = [TOKEN_TYPES.ARROW_FUNCTION_EXPRESSION, TOKEN_TYPES.FUNCTION_EXPRESSION];\n\n    return node && functions.indexOf(node.type) !== -1;\n};\n"
  },
  {
    "path": "src/builder/entryDefinitionsMap.js",
    "content": "import { TOKEN_TYPES, TOKEN_KEYS } from 'shared/constants';\nimport {\n    idleConverter,\n    identifierConverter,\n    functionConverter,\n    isNodeContainsFunc,\n    returnConverter,\n    variableDeclaratorConverter,\n    assignmentExpressionConverter,\n    callExpressionConverter,\n    loopConverter,\n    continueConverter,\n    conditionalConverter,\n    catchConverter,\n    tryConverter,\n    switchStatementConverter,\n    caseConverter,\n    breakConverter,\n    withStatementConverter,\n    programConverter,\n    throwStatementConverter,\n    debuggerConverter,\n    objectExpressionConverter,\n    objectPropertyConverter\n} from './converters/core';\n\nimport {\n    importDeclarationConverter,\n    exportNamedDeclarationConverter,\n    exportDefaultDeclarationConverter,\n    classDeclarationConverter,\n    objectPatternConverter,\n    arrayPatternConverter\n} from './converters/Harmony';\n\nconst singleTypeFilter = path => {\n    const statementParent = path.getStatementParent(),\n        parent = path.parent || {};\n\n    if ([TOKEN_KEYS.CONSEQUENT, TOKEN_KEYS.ALTERNATE].includes(path.key)) {\n        return false;\n    }\n\n    return (\n        ['params'].includes(path.listKey) ||\n        (statementParent.isReturnStatement() && path.key !== 'body') ||\n        ((statementParent.isLoop() ||\n            statementParent.isConditional() ||\n            parent.type === TOKEN_TYPES.CONDITIONAL_EXPRESSION) &&\n            ['test', 'left', 'right'].includes(path.parentKey)) ||\n        ([\n            TOKEN_TYPES.RETURN,\n            TOKEN_TYPES.CALL_EXPRESSION,\n            TOKEN_TYPES.BINARY_EXPRESSION,\n            TOKEN_TYPES.UPDATE_EXPRESSION,\n            TOKEN_TYPES.ASSIGNMENT_EXPRESSION,\n            TOKEN_TYPES.LOGICAL_EXPRESSION,\n            TOKEN_TYPES.VARIABLE_DECLARATOR,\n            TOKEN_TYPES.MEMBER_EXPRESSION,\n            TOKEN_TYPES.NEW_EXPRESSION,\n            TOKEN_TYPES.FUNCTION_DECLARATION,\n            TOKEN_TYPES.FUNCTION_EXPRESSION,\n            TOKEN_TYPES.ARROW_FUNCTION_EXPRESSION,\n            TOKEN_TYPES.FUNCTION,\n            TOKEN_TYPES.OBJECT_PROPERTY,\n            TOKEN_TYPES.ASSIGNMENT_PATTERN,\n            TOKEN_TYPES.REST_PROPERTY,\n            TOKEN_TYPES.SPREAD_ELEMENT,\n            TOKEN_TYPES.ARRAY_EXPRESSION,\n            TOKEN_TYPES.UNARY_EXPRESSION,\n            TOKEN_TYPES.IMPORT_DEFAULT_SPECIFIER,\n            TOKEN_TYPES.IMPORT_SPECIFIER,\n            TOKEN_TYPES.IMPORT_DECLARATION,\n            TOKEN_TYPES.EXPORT_DEFAULT_DECLARATION,\n            TOKEN_TYPES.EXPORT_NAMED_DECLARATION,\n            TOKEN_TYPES.CLASS_DECLARATION,\n            TOKEN_TYPES.CLASS_METHOD,\n            TOKEN_TYPES.SWITCH_STATEMENT,\n            TOKEN_TYPES.SWITCH_CASE\n        ].includes(parent.type) &&\n            (!parent.body || parent.body.type !== path.node.type))\n    );\n};\n\nexport const DefinitionsMap = {\n    [TOKEN_TYPES.FUNCTION]: {\n        type: TOKEN_TYPES.FUNCTION,\n        getName: functionConverter,\n        body: true\n    },\n    [TOKEN_TYPES.RETURN]: {\n        type: TOKEN_TYPES.RETURN,\n        getName: returnConverter,\n\n        body: true\n    },\n    [TOKEN_TYPES.VARIABLE_DECLARATOR]: {\n        type: TOKEN_TYPES.VARIABLE_DECLARATOR,\n        body: true,\n        getName: variableDeclaratorConverter,\n        ignore: path => {\n            const statementParent = path.getStatementParent();\n            return (\n                !path.node.init || isNodeContainsFunc(path.node.init) || statementParent.isLoop()\n            );\n        }\n    },\n    [TOKEN_TYPES.ASSIGNMENT_EXPRESSION]: {\n        type: TOKEN_TYPES.ASSIGNMENT_EXPRESSION,\n        body: true,\n        getName: assignmentExpressionConverter,\n        ignore: path => {\n            const statementParent = path.getStatementParent();\n\n            return (\n                statementParent.isVariableDeclaration() ||\n                path.parent.type === TOKEN_TYPES.LOGICAL_EXPRESSION ||\n                (statementParent.isConditional() && path.key === TOKEN_KEYS.TEST) ||\n                isNodeContainsFunc(path.node.right)\n            );\n        }\n    },\n    [TOKEN_TYPES.CALL_EXPRESSION]: {\n        type: TOKEN_TYPES.CALL_EXPRESSION,\n        body: false,\n        reversed: true,\n        getName: callExpressionConverter,\n        ignore: path => {\n            const statementParent = path.getStatementParent(),\n                parent = path.parent || {};\n\n            if (parent.type === TOKEN_TYPES.ARROW_FUNCTION_EXPRESSION) return false;\n\n            return (\n                statementParent.isVariableDeclaration() ||\n                [\n                    TOKEN_TYPES.RETURN,\n                    TOKEN_TYPES.CALL_EXPRESSION,\n                    TOKEN_TYPES.NEW_EXPRESSION,\n                    TOKEN_TYPES.UNARY_EXPRESSION,\n                    TOKEN_TYPES.BINARY_EXPRESSION\n                ].includes(parent.type) ||\n                (statementParent.isConditional() &&\n                    parent.test &&\n                    parent.test.type === TOKEN_TYPES.CALL_EXPRESSION) ||\n                path.parent.type === TOKEN_TYPES.ASSIGNMENT_EXPRESSION //TODO: BUG, fix line: list = list.filter(i => i % 2)\n            );\n        }\n    },\n    [TOKEN_TYPES.UPDATE_EXPRESSION]: {\n        type: TOKEN_TYPES.UPDATE_EXPRESSION,\n        getName: idleConverter,\n        ignore: path => path.getStatementParent().isVariableDeclaration()\n    },\n    [TOKEN_TYPES.NEW_EXPRESSION]: {\n        type: TOKEN_TYPES.NEW_EXPRESSION,\n        getName: idleConverter,\n        ignore: path =>\n            path.getStatementParent().isVariableDeclaration() ||\n            path.parent.type === TOKEN_TYPES.ASSIGNMENT_EXPRESSION ||\n            path.parent.type === TOKEN_TYPES.THROW_STATEMENT\n    },\n    [TOKEN_TYPES.LOOP]: {\n        type: TOKEN_TYPES.LOOP,\n        getName: loopConverter,\n        body: true\n    },\n    [TOKEN_TYPES.CONTINUE]: {\n        type: TOKEN_TYPES.CONTINUE,\n        getName: continueConverter,\n        body: true\n    },\n    [TOKEN_TYPES.CONDITIONAL]: {\n        type: TOKEN_TYPES.CONDITIONAL,\n        getName: conditionalConverter,\n        body: true\n    },\n    [TOKEN_TYPES.SWITCH_STATEMENT]: {\n        type: TOKEN_TYPES.SWITCH_STATEMENT,\n        getName: switchStatementConverter,\n        body: true\n    },\n    [TOKEN_TYPES.SWITCH_CASE]: {\n        type: TOKEN_TYPES.SWITCH_CASE,\n        getName: caseConverter,\n        body: true\n    },\n    [TOKEN_TYPES.BREAK]: {\n        type: TOKEN_TYPES.BREAK,\n        getName: breakConverter,\n        body: true\n    },\n    [TOKEN_TYPES.TRY_STATEMENT]: {\n        type: TOKEN_TYPES.TRY_STATEMENT,\n        getName: tryConverter,\n        body: true\n    },\n    [TOKEN_TYPES.CATCH_CLAUSE]: {\n        type: TOKEN_TYPES.CATCH_CLAUSE,\n        getName: catchConverter,\n        body: true\n    },\n    [TOKEN_TYPES.WITH_STATEMENT]: {\n        type: TOKEN_TYPES.WITH_STATEMENT, //TODO: visual\n        getName: withStatementConverter,\n        body: true\n    },\n    [TOKEN_TYPES.PROGRAM]: {\n        type: TOKEN_TYPES.PROGRAM, //TODO: visual\n        getName: programConverter,\n        body: true\n    },\n    [TOKEN_TYPES.THROW_STATEMENT]: {\n        type: TOKEN_TYPES.THROW_STATEMENT,\n        getName: throwStatementConverter,\n        body: true\n    },\n    [TOKEN_TYPES.DEBUGGER_STATEMENT]: {\n        type: TOKEN_TYPES.DEBUGGER_STATEMENT,\n        getName: debuggerConverter,\n        body: true\n    },\n    [TOKEN_TYPES.BINARY_EXPRESSION]: {\n        type: TOKEN_TYPES.BINARY_EXPRESSION,\n        getName: idleConverter,\n        ignore: singleTypeFilter\n    },\n    [TOKEN_TYPES.IDENTIFIER]: {\n        type: TOKEN_TYPES.IDENTIFIER,\n        getName: identifierConverter,\n        ignore: singleTypeFilter\n    },\n    [TOKEN_TYPES.STRING_LITERAL]: {\n        type: TOKEN_TYPES.STRING_LITERAL,\n        getName: idleConverter,\n        ignore: singleTypeFilter\n    },\n    [TOKEN_TYPES.NUMERIC_LITERAL]: {\n        type: TOKEN_TYPES.NUMERIC_LITERAL,\n        getName: idleConverter,\n        ignore: singleTypeFilter\n    },\n    [TOKEN_TYPES.OBJECT_EXPRESSION]: {\n        type: TOKEN_TYPES.OBJECT_EXPRESSION,\n        getName: objectExpressionConverter,\n        ignore: path => {\n            const node = path.node;\n            if (node.properties && !node.properties.length) {\n                return true;\n            }\n\n            return [\n                TOKEN_TYPES.OBJECT_PROPERTY,\n                TOKEN_TYPES.ASSIGNMENT_EXPRESSION,\n                TOKEN_TYPES.VARIABLE_DECLARATOR\n            ].includes(path.parent.type);\n        },\n        body: true\n    },\n    [TOKEN_TYPES.OBJECT_PROPERTY]: {\n        type: TOKEN_TYPES.OBJECT_PROPERTY,\n        getName: objectPropertyConverter,\n        ignore: path => {\n            const parentPath = path.parentPath;\n            return ['params', 'left'].includes(parentPath.parentKey);\n        },\n        body: true\n    },\n\n    //ES Harmony features\n    [TOKEN_TYPES.IMPORT_DECLARATION]: {\n        type: TOKEN_TYPES.IMPORT_DECLARATION,\n        getName: importDeclarationConverter,\n        body: true\n    },\n    [TOKEN_TYPES.IMPORT_DEFAULT_SPECIFIER]: {\n        type: TOKEN_TYPES.IMPORT_DEFAULT_SPECIFIER,\n        getName: idleConverter\n    },\n    [TOKEN_TYPES.IMPORT_SPECIFIER]: {\n        type: TOKEN_TYPES.IMPORT_SPECIFIER,\n        getName: idleConverter\n    },\n    [TOKEN_TYPES.EXPORT_DEFAULT_DECLARATION]: {\n        type: TOKEN_TYPES.EXPORT_DEFAULT_DECLARATION,\n        getName: exportDefaultDeclarationConverter,\n        body: true\n    },\n    [TOKEN_TYPES.EXPORT_NAMED_DECLARATION]: {\n        type: TOKEN_TYPES.EXPORT_NAMED_DECLARATION,\n        getName: exportNamedDeclarationConverter,\n        body: true\n    },\n    [TOKEN_TYPES.CLASS_DECLARATION]: {\n        type: TOKEN_TYPES.CLASS_DECLARATION,\n        getName: classDeclarationConverter,\n        body: true\n    },\n    [TOKEN_TYPES.OBJECT_PATTERN]: {\n        type: TOKEN_TYPES.OBJECT_PATTERN,\n        getName: objectPatternConverter,\n        ignore: path => {\n            return (\n                path.listKey === 'params' ||\n                [TOKEN_TYPES.VARIABLE_DECLARATOR, TOKEN_TYPES.ASSIGNMENT_PATTERN].includes(\n                    path.parent.type\n                )\n            );\n        },\n        body: true\n    },\n    [TOKEN_TYPES.ARRAY_PATTERN]: {\n        type: TOKEN_TYPES.ARRAY_PATTERN,\n        getName: arrayPatternConverter,\n        ignore: path => {\n            return (\n                path.listKey === 'params' ||\n                [TOKEN_TYPES.VARIABLE_DECLARATOR, TOKEN_TYPES.ASSIGNMENT_PATTERN].includes(\n                    path.parent.type\n                )\n            );\n        },\n        body: true\n    }\n};\n\nexport const DefinitionsList = Object.keys(DefinitionsMap).map(key => DefinitionsMap[key]);\n"
  },
  {
    "path": "src/builder/modifiers/modifiersFactory.js",
    "content": "import { TOKEN_TYPES, TOKEN_KEYS, MODIFIED_TYPES } from 'shared/constants';\n\nconst extractNodeName = (node, field) => {\n    const name = node.name.split(`.${field}(`)[0];\n\n    if (name.includes('=')) {\n        return name.split('=');\n    }\n\n    return [name];\n};\n\nconst testNode = (node, field) => node.name.includes(`.${field}(`);\n\nexport const DEFINED_MODIFIERS = {\n    forEach: {\n        test: node => testNode(node, 'forEach'),\n        updates: {\n            name: node => `each in  ${extractNodeName(node, 'forEach')[0]}`,\n            type: TOKEN_TYPES.LOOP,\n            body: node => [...node.body[0].body]\n        }\n    },\n\n    filter: {\n        test: node => testNode(node, 'filter'),\n        updates: {\n            name: node =>\n                `in ${extractNodeName(node, 'filter')[1]} to ${extractNodeName(node, 'filter')[0]}`,\n            prefixName: 'filter',\n            type: TOKEN_TYPES.LOOP\n        }\n    },\n\n    map: {\n        test: node => testNode(node, 'map'),\n        updates: {\n            name: node =>\n                `from ${extractNodeName(node, 'map')[1]} to ${extractNodeName(node, 'map')[0]}`,\n            prefixName: 'map',\n            type: TOKEN_TYPES.LOOP\n        }\n    }\n};\n\nexport const destructionModifier = (test, newNameFn) => ({\n    test,\n    updates: {\n        name: newNameFn,\n        body: [],\n        type: MODIFIED_TYPES.DESTRUCTED\n    }\n});\n\nexport const arrowFunctionReturnModifier = () => ({\n    test: node =>\n        node.isBodyEntry &&\n        node.parent &&\n        node.parent.subType === TOKEN_TYPES.ARROW_FUNCTION_EXPRESSION,\n    updates: {\n        name: node => 'return ' + node.name,\n        type: TOKEN_TYPES.RETURN\n    }\n});\n\nexport const expressionCallbacksModifier = () => ({\n    test: node => node.pathParentType === TOKEN_TYPES.CALL_EXPRESSION,\n    updates: {\n        subTreeUpdate: nodes => {\n            nodes.forEach(node => {\n                const parentBody = node.parent.body,\n                    index = parentBody.indexOf(node) + 1;\n\n                for (let i = index; i < parentBody.length; i++) {\n                    let sibling = parentBody[i];\n\n                    if (sibling && sibling.type === TOKEN_TYPES.CALL_EXPRESSION) {\n                        node.parent.body = parentBody.filter(n => n !== node);\n                        sibling.body = [...(sibling.body || []), node];\n\n                        return;\n                    }\n                }\n            });\n        }\n    }\n});\n\nexport const MODIFIER_PRESETS = {\n    es5ArrayIterators: [DEFINED_MODIFIERS.forEach, DEFINED_MODIFIERS.filter, DEFINED_MODIFIERS.map]\n};\n"
  },
  {
    "path": "src/presentation-generator/PresentationGenerator.js",
    "content": "import { parseCodeToAST } from 'builder/astBuilder';\n\nimport FlowTreeBuilder, {\n    ABSTRACTION_LEVELS,\n    MODIFIER_PRESETS,\n    DEFINED_MODIFIERS\n} from 'builder/FlowTreeBuilder';\nimport SVGRender from 'render/svg/SVGRender';\nimport { TOKEN_TYPES, MODIFIED_TYPES } from 'shared/constants';\n\nconst buildTreeByAbstractionLevels = levels => {\n    const flowTreeBuilder = FlowTreeBuilder();\n    flowTreeBuilder.setAbstractionLevel(levels);\n\n    return astTree => flowTreeBuilder.buildFlowTreeFromAst(astTree);\n};\n\nexport const generateExportSlideTree = buildTreeByAbstractionLevels(ABSTRACTION_LEVELS.EXPORT);\n\nexport const generateImportExportSlideTree = buildTreeByAbstractionLevels([\n    ABSTRACTION_LEVELS.EXPORT,\n    ABSTRACTION_LEVELS.IMPORT\n]);\n\nexport const generateClassFunctionSlideTree = buildTreeByAbstractionLevels([\n    ABSTRACTION_LEVELS.EXPORT,\n    ABSTRACTION_LEVELS.IMPORT,\n    ABSTRACTION_LEVELS.CLASS,\n    ABSTRACTION_LEVELS.FUNCTION\n]);\n\nexport const generateClassFunctionDependenciesSlideTree = buildTreeByAbstractionLevels([\n    ABSTRACTION_LEVELS.EXPORT,\n    ABSTRACTION_LEVELS.IMPORT,\n    ABSTRACTION_LEVELS.CLASS,\n    ABSTRACTION_LEVELS.FUNCTION,\n    ABSTRACTION_LEVELS.FUNCTION_DEPENDENCIES\n]);\n\nexport const generateRegularSlideTree = astTree => {\n    const flowTreeBuilder = FlowTreeBuilder();\n    return flowTreeBuilder.buildFlowTreeFromAst(astTree);\n};\n\nexport default code => ({\n    buildSlides: () => {\n        const svgRender = SVGRender(),\n            astTree = parseCodeToAST(code);\n\n        const slides = [\n            generateExportSlideTree(astTree),\n            generateImportExportSlideTree(astTree),\n            generateClassFunctionSlideTree(astTree),\n            generateClassFunctionDependenciesSlideTree(astTree),\n            generateRegularSlideTree(astTree)\n        ];\n\n        return slides\n            .filter(slide => slide.body.length)\n            .map(svgRender.buildShapesTree)\n            .map(shapesTree => shapesTree.print());\n    }\n});\n"
  },
  {
    "path": "src/render/svg/SVGBase.js",
    "content": "import { calculateShapesBoundaries } from 'shared/utils/geometry';\n\nexport const SVGBase = () => {\n    const state = {\n        shapes: [],\n        arrowConnections: []\n    };\n\n    return {\n        getShapes() {\n            return state.shapes;\n        },\n        addShapes(shapes) {\n            state.shapes = state.shapes.concat(shapes);\n            return this;\n        },\n        addArrowConnections(arrowConnections) {\n            state.arrowConnections = state.arrowConnections.concat(arrowConnections);\n            return this;\n        },\n        printChildren(config) {\n            let svgString = ``;\n\n            [].concat(state.shapes, state.arrowConnections).forEach(node => {\n                svgString += node.print(config);\n            });\n\n            return svgString;\n        },\n        calculateDimensions() {\n            const boundaries = calculateShapesBoundaries(\n                    state.shapes.map(item => item.getBoundaries())\n                ),\n                padding = 25;\n\n            return {\n                w: Math.ceil(boundaries.max.x) + padding,\n                h: Math.ceil(boundaries.max.y) + padding\n            };\n        },\n\n        print(config) {\n            const { w, h } = this.calculateDimensions();\n\n            return `<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n                <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" \n                width=\"${w}\" height=\"${h}\" shape-rendering=\"optimizeSpeed\">\n                ${this.printChildren(config)}\n            </svg>`;\n        }\n    };\n};\n"
  },
  {
    "path": "src/render/svg/SVGRender.js",
    "content": "import {\n    getDefaultTheme,\n    getBlurredTheme,\n    getBlackAndWhiteTheme,\n    getLightTheme,\n    applyStyleToTheme,\n    buildColorsBasedTheme\n} from './appearance/StyleThemeFactory';\nimport { buildSVGObjectsTree } from './svgObjectsBuilder';\nimport { traversal } from 'shared/utils/traversal';\nimport { flatTree } from 'shared/utils/flatten';\nimport { logError } from 'shared/utils/logger';\n\nexport const ShapesTreeEditor = svgObjectsTree => {\n    const updateShapeTheme = (shape, shapeStyles, connectionArrowStyles) => {\n        if (shapeStyles) {\n            shape.updateTheme(shapeStyles);\n        }\n\n        if (connectionArrowStyles) {\n            shape.getAssignedConnectionArrow().updateTheme(connectionArrowStyles);\n            shape.getLoopedConnectionArrow &&\n                shape.getLoopedConnectionArrow().updateTheme(connectionArrowStyles);\n        }\n    };\n\n    return {\n        findShape(fnTest, startIndex = 0) {\n            return svgObjectsTree\n                .getShapes()\n                .filter((shape, index) => index >= startIndex && fnTest(shape));\n        },\n\n        applyShapeStyles(fn, shapeStyles, connectionArrowStyles) {\n            this.findShape(fn).forEach(shape => {\n                updateShapeTheme(shape, shapeStyles, connectionArrowStyles);\n            });\n        },\n\n        blur(fn) {\n            const blurredTheme = getBlurredTheme();\n\n            this.findShape(fn).forEach(shape => {\n                const connectionArrow = shape.getAssignedConnectionArrow();\n\n                updateShapeTheme(\n                    shape,\n                    blurredTheme[shape.getShapeType()],\n                    connectionArrow ? blurredTheme[connectionArrow.getFieldName()] : null\n                );\n            });\n        },\n\n        focus(fn) {\n            this.blur(shape => !fn(shape));\n        },\n\n        blurShapeBranch(fn) {\n            const blurredTheme = getBlurredTheme();\n\n            this.findShape(fn).forEach(shapeBranch =>\n                traversal(\n                    shapeBranch,\n                    shape => {\n                        const connectionArrow = shape.getAssignedConnectionArrow();\n\n                        updateShapeTheme(\n                            shape,\n                            blurredTheme[shape.getShapeType()],\n                            connectionArrow ? blurredTheme[connectionArrow.getFieldName()] : null\n                        );\n                    },\n                    shape => shape.state.body\n                )\n            );\n        },\n\n        focusShapeBranch(fns) {\n            const blurredTheme = getBlurredTheme();\n\n            [].concat(fns).forEach((fn, index) => {\n                this.findShape(fn).forEach(shapeBranch => {\n                    const flatShape = flatTree(shapeBranch, shape => shape.state.body);\n                    let branchIndex = svgObjectsTree.getShapes().indexOf(shapeBranch);\n\n                    this.findShape(\n                        shape => !flatShape.includes(shape),\n                        index > 0 ? branchIndex : 0\n                    ).forEach(shape => {\n                        const connectionArrow = shape.getAssignedConnectionArrow();\n\n                        updateShapeTheme(\n                            shape,\n                            blurredTheme[shape.getShapeType()],\n                            connectionArrow ? blurredTheme[connectionArrow.getFieldName()] : null\n                        );\n                    });\n                });\n            });\n        },\n\n        print(config) {\n            return svgObjectsTree && svgObjectsTree.print(config);\n        }\n    };\n};\n\nexport default (customStyleTheme = {}) => {\n    let theme = applyStyleToTheme(getDefaultTheme(), customStyleTheme);\n\n    return {\n        buildShapesTree(flowTree) {\n            let shapes = [];\n\n            try {\n                shapes = buildSVGObjectsTree(flowTree, theme);\n            } catch (e) {\n                logError('Error at buildShapesTree' + e.message, e.stack);\n                throw e;\n            }\n\n            return shapes;\n        },\n\n        applyTheme(newThemeStyles) {\n            theme = applyStyleToTheme(theme, newThemeStyles);\n        },\n\n        applyDefaultTheme() {\n            this.applyTheme(getDefaultTheme());\n        },\n        applyBlackAndWhiteTheme() {\n            this.applyTheme(getBlackAndWhiteTheme());\n        },\n        applyBlurredTheme() {\n            this.applyTheme(getBlurredTheme());\n        },\n        applyLightTheme() {\n            this.applyTheme(getLightTheme());\n        },\n\n        applyColorBasedTheme(colors) {\n            this.applyTheme(buildColorsBasedTheme(colors));\n        }\n    };\n};\n"
  },
  {
    "path": "src/render/svg/appearance/StyleThemeFactory.js",
    "content": "import { mergeObjectStructures } from 'shared/utils/composition';\n\nimport DEFAULT, { buildTheme } from './themes/DefaultBaseTheme';\nimport BLACK_AND_WHITE from './themes/BlackAndWhite';\nimport BLURRED from './themes/Blurred';\nimport LIGHT from './themes/Light';\n\nconst ThemeNamesMap = {\n    DEFAULT: 'DEFAULT',\n    BLACK_AND_WHITE: 'BLACK_AND_WHITE',\n    BLURRED: 'BLURRED',\n    LIGHT: 'LIGHT'\n};\n\nexport const Themes = {\n    [ThemeNamesMap.DEFAULT]: DEFAULT,\n    [ThemeNamesMap.BLACK_AND_WHITE]: BLACK_AND_WHITE,\n    [ThemeNamesMap.BLURRED]: BLURRED,\n    [ThemeNamesMap.LIGHT]: LIGHT\n};\n\nexport const getTheme = themeName => {\n    if ((!Themes[themeName] === themeName) === ThemeNamesMap.DEFAULT) {\n        return Themes.DEFAULT;\n    }\n\n    return applyStyleToTheme(DEFAULT, Themes[themeName]);\n};\n\nexport const getDefaultTheme = () => getTheme(ThemeNamesMap.DEFAULT);\n\nexport const getBlackAndWhiteTheme = () => getTheme(ThemeNamesMap.BLACK_AND_WHITE);\n\nexport const getBlurredTheme = () => getTheme(ThemeNamesMap.BLURRED);\n\nexport const getLightTheme = () => getTheme(ThemeNamesMap.LIGHT);\n\nexport const applyStyleToTheme = (theme, styles) => {\n    const { common, ...shapes } = styles;\n    const deepMerge = mergeObjectStructures(theme, shapes);\n    if (!common) return deepMerge;\n\n    return Object.keys(deepMerge).reduce(\n        (acc, key) => ({\n            ...acc,\n            [key]: { ...deepMerge[key], ...common }\n        }),\n        {}\n    );\n};\n\nexport const buildColorsBasedTheme = colors => buildTheme(colors);\n"
  },
  {
    "path": "src/render/svg/appearance/TextContentConfigurator.js",
    "content": "import { buildIterator } from 'shared/utils/iteratorBuilder';\n\nexport const MAX_NAME_STR_LENGTH = 50;\n\nexport const NAME_SPLITTER_TOKENS = [\n    '||',\n    '&&',\n    '=',\n    '?',\n    ':',\n    '<==',\n    '>==',\n    '<',\n    '>',\n    '===',\n    '==',\n    ',',\n    '.',\n    '('\n];\n\nexport const getNameSplitterTokensIterator = () => buildIterator(NAME_SPLITTER_TOKENS);\n"
  },
  {
    "path": "src/render/svg/appearance/themes/BlackAndWhite.js",
    "content": "import { buildTheme, DefaultColors, getAlignedColors } from './DefaultBaseTheme';\n\nexport const Colors = {\n    ...getAlignedColors(DefaultColors, '#A6A6A6'),\n\n    strokeColor: '#333',\n    defaultFillColor: '#A6A6A6',\n    textColor: '#333',\n    arrowFillColor: '#333'\n};\n\nexport default buildTheme(Colors);\n"
  },
  {
    "path": "src/render/svg/appearance/themes/Blurred.js",
    "content": "import { buildTheme } from './DefaultBaseTheme';\n\nexport const Colors = {\n    strokeColor: '#ccc',\n    defaultFillColor: '#fff',\n    textColor: '#ccc',\n    arrowFillColor: '#ccc',\n    rectangleFillColor: '#ede7f6',\n    rectangleDotFillColor: '#ede7f6',\n    functionFillColor: '#f1f8e9',\n    rootCircleFillColor: '#fffde7',\n    loopFillColor: '#e3f2fd',\n    conditionFillColor: '#f3e5f5',\n    destructedNodeFillColor: '#fff8e1',\n    classFillColor: '#e0f2f1',\n    debuggerFillColor: '#ffebee',\n    exportFillColor: '#e1f5fe',\n    throwFillColor: '#fce4ec',\n    tryFillColor: '#fff8e1',\n    objectFillColor: '#f9fbe7',\n    callFillColor: '#f9fbe7',\n    debugModeFillColor: '#666'\n};\n\nexport default buildTheme(Colors);\n"
  },
  {
    "path": "src/render/svg/appearance/themes/DefaultBaseTheme.js",
    "content": "export const DefaultColors = {\n    strokeColor: '#444',\n    defaultFillColor: '#fff',\n    textColor: '#222',\n    arrowFillColor: '#333',\n    rectangleFillColor: '#90caf9',\n    rectangleDotFillColor: '#ede7f6',\n    functionFillColor: '#a5d6a7',\n    rootCircleFillColor: '#fff59d',\n    loopFillColor: '#b39ddb',\n    conditionFillColor: '#ce93d8',\n    destructedNodeFillColor: '#ffcc80',\n    classFillColor: '#80cbc4',\n    debuggerFillColor: '#EF5350',\n    exportFillColor: '#81d4fa',\n    throwFillColor: '#ef9a9a',\n    tryFillColor: '#FFE082',\n    objectFillColor: '#9fa8da',\n    callFillColor: '#C5E1A5',\n    debugModeFillColor: '#666'\n};\n\nexport const buildTheme = config => {\n    const BaseShape = {\n        strokeColor: config.strokeColor,\n        strokeWidth: 1,\n        fillColor: config.defaultFillColor,\n        textColor: config.textColor,\n        fontFamily: 'monospace',\n        fontSize: 13,\n        lineHeight: 5, //depends on fontSize\n        symbolHeight: 10, //depends on fontSize\n        symbolWidth: 7.8, //depends on fontSize\n        horizontalPadding: 15,\n        verticalPadding: 10,\n        childOffset: 37,\n        margin: 10,\n        roundBorder: 2,\n        complexTypeExtraSpace: 15,\n\n        debugFontSize: 8,\n        debugTextColor: config.debugModeFillColor,\n        ...config\n    };\n\n    return {\n        BaseShape,\n        ConnectionArrow: {\n            arrow: {\n                size: {\n                    x: 8,\n                    y: 6\n                },\n                fillColor: config.arrowFillColor\n            },\n            line: {\n                strokeColor: config.strokeColor,\n                strokeWidth: 1,\n                curveTurnRadius: 4\n            },\n            lineTurnOffset: 20\n        },\n\n        Shape: {\n            ...BaseShape\n        },\n\n        Rectangle: {\n            ...BaseShape,\n            fillColor: config.rectangleFillColor,\n            dot: {\n                ...BaseShape,\n                offset: 4,\n                radius: 2,\n                fillColor: config.rectangleDotFillColor\n            },\n            roundBorder: 3\n        },\n\n        VerticalEdgedRectangle: {\n            ...BaseShape,\n            fillColor: config.functionFillColor,\n            edgeOffset: 10\n        },\n\n        RootCircle: {\n            ...BaseShape,\n            radius: 15,\n            padding: 3,\n            fillColor: config.rootCircleFillColor\n        },\n\n        LoopRhombus: {\n            ...BaseShape,\n            fillColor: config.loopFillColor,\n            thinPartOffset: 15,\n            rhombusSize: 50,\n            roundBorder: 3,\n            doubleLayerOffsetA: 4,\n            doubleLayerOffsetB: 8,\n            childOffset: 20,\n            positionTopShift: 20\n        },\n\n        ConditionRhombus: {\n            ...BaseShape,\n            fillColor: config.conditionFillColor,\n            thinPartOffset: 15,\n            roundBorder: 3,\n            childOffset: 20,\n            alternateBranchOffset: 40,\n            markOffset: {\n                x: 15,\n                y: 5\n            },\n            margin: 20\n        },\n\n        RootStartPoint: {\n            center: {\n                x: 25,\n                y: 25\n            },\n            childOffset: {\n                x: 25,\n                y: 65\n            }\n        },\n\n        ReturnStatement: {\n            ...BaseShape,\n            roundBorder: 3,\n            fillColor: config.rectangleFillColor,\n            arrow: {\n                ...BaseShape,\n                handlerLength: 5,\n                sizeX: 16,\n                sizeY: 22,\n                fillColor: config.functionFillColor\n            }\n        },\n\n        DestructedNode: {\n            ...BaseShape,\n            fillColor: config.destructedNodeFillColor,\n            roundBorder: 2,\n            suffix: {\n                ...BaseShape,\n                roundBorder: 2,\n                fillColor: config.destructedNodeFillColor,\n                width: 8,\n                space: 4\n            }\n        },\n\n        ClassDeclaration: {\n            ...BaseShape,\n            fillColor: config.classFillColor,\n            edgeOffset: 10\n        },\n\n        DebuggerStatement: {\n            ...BaseShape,\n            fillColor: config.debuggerFillColor,\n            roundBorder: 2\n        },\n\n        ExportDeclaration: {\n            ...BaseShape,\n            roundBorder: 3,\n            fillColor: config.exportFillColor,\n            arrow: {\n                ...BaseShape,\n                handlerLength: 5,\n                sizeX: 20,\n                sizeY: 28,\n                fillColor: config.defaultFillColor\n            }\n        },\n\n        ImportDeclaration: {\n            ...BaseShape,\n            fillColor: config.defaultFillColor,\n            edgeOffset: 5\n        },\n\n        ImportSpecifier: {\n            ...BaseShape,\n            fillColor: config.exportFillColor\n        },\n\n        ThrowStatement: {\n            ...BaseShape,\n            fillColor: config.throwFillColor\n        },\n\n        TryStatement: {\n            ...BaseShape,\n            fillColor: config.tryFillColor\n        },\n\n        CatchClause: {\n            ...BaseShape,\n            fillColor: config.throwFillColor,\n            arrow: {\n                ...BaseShape,\n                handlerLength: 2,\n                sizeX: 16,\n                sizeY: 28,\n                fillColor: config.throwFillColor\n            }\n        },\n\n        SwitchStatement: {\n            ...BaseShape,\n            fillColor: config.conditionFillColor,\n            thinPartOffset: 15,\n            roundBorder: 3,\n            childOffset: 20,\n            alternateBranchOffset: 40,\n            markOffset: {\n                x: 15,\n                y: 5\n            },\n            margin: 20\n        },\n\n        BreakStatement: {\n            ...BaseShape,\n            fillColor: config.rectangleFillColor,\n            arrow: {\n                ...BaseShape,\n                handlerLength: 5,\n                sizeX: 16,\n                sizeY: 28,\n                fillColor: config.conditionFillColor\n            }\n        },\n\n        SwitchCase: {\n            ...BaseShape,\n            fillColor: config.conditionFillColor\n        },\n\n        ContinueStatement: {\n            ...BaseShape,\n            fillColor: config.rectangleFillColor,\n            arrow: {\n                ...BaseShape,\n                handlerLength: 5,\n                sizeX: 16,\n                sizeY: 28,\n                fillColor: config.loopFillColor\n            }\n        },\n\n        ObjectProperty: {\n            ...BaseShape,\n            fillColor: config.rectangleFillColor\n        },\n\n        CallExpression: {\n            ...BaseShape,\n            dot: {\n                ...BaseShape,\n                offset: 6,\n                radius: 4,\n                fillColor: config.rectangleDotFillColor\n            },\n            fillColor: config.callFillColor\n        }\n    };\n};\n\nexport default buildTheme(DefaultColors);\n\nexport const getAlignedColors = (theme, defaultColor) => {\n    const themeCopy = { ...theme };\n    Object.keys(themeCopy).forEach(color => {\n        themeCopy[color] = defaultColor;\n    });\n\n    return themeCopy;\n};\n"
  },
  {
    "path": "src/render/svg/appearance/themes/Light.js",
    "content": "import { buildTheme } from './DefaultBaseTheme';\n\nexport const Colors = {\n    strokeColor: '#555',\n    defaultFillColor: '#fff',\n    textColor: '#333',\n    arrowFillColor: '#444',\n    rectangleFillColor: '#bbdefb',\n    rectangleDotFillColor: '#ede7f6',\n    functionFillColor: '#c8e6c9',\n    rootCircleFillColor: '#fff9c4',\n    loopFillColor: '#d1c4e9',\n    conditionFillColor: '#e1bee7',\n    destructedNodeFillColor: '#ffecb3',\n    classFillColor: '#b2dfdb',\n    debuggerFillColor: '#ffcdd2',\n    exportFillColor: '#b3e5fc',\n    throwFillColor: '#ffccbc',\n    tryFillColor: '#FFE082',\n    objectFillColor: '#d1c4e9',\n    callFillColor: '#dcedc8',\n    debugModeFillColor: '#666'\n};\n\nexport default buildTheme(Colors);\n"
  },
  {
    "path": "src/render/svg/connections/ConnectionArrow.js",
    "content": "import { assignState, mergeObjectStructures } from 'shared/utils/composition';\nimport { getCurvedPath, getClosedPath } from 'shared/utils/svgPrimitives';\nimport { addOffsetToPoints } from 'shared/utils/geometry';\n\nimport { ARROW_TYPE } from 'shared/constants';\n\nconst ENTITY_FIELD_NAME = 'ConnectionArrow';\n\nexport const getFieldName = () => {\n    return ENTITY_FIELD_NAME;\n};\n\nconst setupSelectors = state => ({\n    getFieldName\n});\n\nconst setupUpdateBehaviour = state => ({\n    updateTheme(newTheme) {\n        state.theme = mergeObjectStructures(state.theme, newTheme);\n    }\n});\n\nconst setupPrintBehaviour = state => ({\n    printLine(points) {\n        return getCurvedPath(points, state.theme.line);\n    },\n\n    printArrow(point, arrowPoints) {\n        return getClosedPath(addOffsetToPoints(arrowPoints, point), state.theme.arrow);\n    },\n\n    printArrowByType(type, { x, y }) {\n        const arrowSize = state.theme.arrow.size;\n        let point;\n\n        //TODO: move to svgPrimitives\n        switch (type) {\n            case ARROW_TYPE.RIGHT:\n                point = { x: x - arrowSize.x, y: y - arrowSize.y / 2 };\n\n                return this.printArrow(point, [\n                    { x: 0, y: 0 },\n                    { x: arrowSize.x, y: arrowSize.y / 2 },\n                    { x: 0, y: arrowSize.y }\n                ]);\n\n            case ARROW_TYPE.LEFT:\n                point = { x: x, y: y - arrowSize.y / 2 };\n\n                return this.printArrow(point, [\n                    { x: 0, y: arrowSize.y / 2 },\n                    { x: arrowSize.x, y: 0 },\n                    { x: arrowSize.x, y: arrowSize.y }\n                ]);\n\n            case ARROW_TYPE.DOWN:\n                point = { x: x - arrowSize.y / 2, y: y - arrowSize.x };\n\n                return this.printArrow(point, [\n                    { x: 0, y: 0 },\n                    { x: arrowSize.y / 2, y: arrowSize.x },\n                    { x: arrowSize.y, y: 0 }\n                ]);\n\n            default:\n                return '';\n        }\n    },\n\n    print() {\n        const { linePoints, arrowPoint, arrowType, noArrow } = state.config;\n\n        if (noArrow) {\n            linePoints[linePoints.length - 1].x += state.theme.arrow.size.x;\n        }\n\n        return `\n            <g>\n               ${this.printLine(linePoints)}\n               ${!noArrow && this.printArrowByType(arrowType, arrowPoint)}\n            </g>`;\n    }\n});\n\nexport const ConnectionArrow = state =>\n    assignState(state, [setupUpdateBehaviour, setupPrintBehaviour, setupSelectors]);\n\nexport default (config, theme) => ConnectionArrow({ config, theme, originalTheme: theme });\n"
  },
  {
    "path": "src/render/svg/shapes/BaseShape.js",
    "content": "import escape from 'xml-escape';\nimport { mergeObjectStructures } from 'shared/utils/composition';\nimport {\n    generateId,\n    splitNameString,\n    getMaxStringLengthFromList,\n    getPathId\n} from 'shared/utils/string';\nimport { flatTree } from 'shared/utils/flatten';\nimport { calculateShapesBoundaries } from 'shared/utils/geometry';\nimport {\n    MAX_NAME_STR_LENGTH,\n    getNameSplitterTokensIterator\n} from '../appearance/TextContentConfigurator';\n\nexport const delegateInit = (shape, themeFieldName) => {\n    function init(node, position, theme) {\n        return shape(getInitialState(node, position, theme, themeFieldName));\n    }\n\n    init.getThemeFieldName = () => {\n        return themeFieldName;\n    };\n\n    return init;\n};\n\nexport const getInitialState = (node, { x, y }, theme, type) => {\n    const nameParts = splitNameString(\n            node.name,\n            theme.maxNameLength || MAX_NAME_STR_LENGTH,\n            getNameSplitterTokensIterator()\n        ),\n        totalNamePartsNumber = nameParts.length,\n        maxNamePartLength = getMaxStringLengthFromList(nameParts);\n\n    return {\n        id: generateId(),\n        nodePathId: getPathId(node),\n        type,\n        body: [],\n        theme,\n        originalTheme: theme,\n        node,\n        name: node.name,\n        prefixName: node.prefixName,\n        nameParts,\n        totalNamePartsNumber,\n        maxNamePartLength,\n        initialPosition: { x, y }\n    };\n};\n\nexport const setupInitialProperties = state => ({\n    fromPoint: calculateFromPoint(state),\n    toPoint: calculateToPoint(state),\n    backPoint: calculateBackPoint(state),\n    childOffsetPoint: calculateChildOffsetPoint(state),\n    boundaries: calculateBoundaries(state)\n});\n\nexport const extractBasicState = state => ({\n    ...state,\n    position: calculatePosition(state),\n    dimensions: calculateDimensions(state)\n});\n\nexport const setupInitialSelectors = state => ({\n    getBody() {\n        return state.body;\n    },\n\n    getBoundaries() {\n        return state.boundaries;\n    },\n\n    getBackPoint() {\n        return state.backPoint;\n    },\n\n    getAssignedConnectionArrow() {\n        return state.connectionArrow;\n    },\n\n    getChildOffsetPoint() {\n        return state.childOffsetPoint;\n    },\n\n    getDimensions() {\n        return state.dimensions;\n    },\n\n    getId() {\n        return state.id;\n    },\n\n    getFromPoint() {\n        return state.fromPoint;\n    },\n\n    getMargin() {\n        return state.theme.margin;\n    },\n\n    getName() {\n        return state.name;\n    },\n\n    getNode() {\n        return state.node;\n    },\n\n    getNodeType() {\n        return state.node.type;\n    },\n\n    getNodePathId() {\n        return state.nodePathId;\n    },\n\n    getNodeKey() {\n        return state.node.key;\n    },\n\n    getParent() {\n        return state.parent;\n    },\n\n    getPosition() {\n        return state.position;\n    },\n\n    getToPoint() {\n        return state.toPoint;\n    },\n\n    getShapeType() {\n        return state.type;\n    }\n});\n\nexport const setupSharedPrint = state => ({\n    //TODO: fix spacing for multi line name\n    printName(newPosition) {\n        const { position, theme, nameParts } = state;\n        const { x, y } = newPosition ? newPosition : position;\n        const name = nameParts\n            .map(\n                (part, i) =>\n                    `<tspan x=\"${x + theme.horizontalPadding}\" y=\"${y +\n                        2 * theme.verticalPadding * (i + 1)}\">${escape(part)}</tspan>`\n            )\n            .join('');\n\n        //TODO: move to svg primitives\n        // 3 because of ellipsis 3 dots\n        return `${\n            nameParts[0].length <= state.name.length + 3\n                ? `<title>${escape(state.name)}</title>`\n                : ''\n        }\n            <text x=\"${x + theme.horizontalPadding}\" y=\"${y + 2 * theme.verticalPadding}\"\n                font-family=\"${theme.fontFamily}\" font-size=\"${theme.fontSize}\" fill=\"${\n            theme.textColor\n        }\">\n                ${name}\n            </text>`;\n    },\n\n    printDebugInfo({ debug } = {}) {\n        if (!debug) return '';\n\n        const { position, dimensions, theme, nodePathId } = state;\n\n        return `<text x=\"${position.x + 3 * theme.horizontalPadding}\" y=\"${position.y +\n            dimensions.h +\n            theme.verticalPadding}\"\n                font-family=\"${theme.fontFamily}\" font-size=\"${theme.debugFontSize}\" fill=\"${\n            theme.debugTextColor\n        }\">\n                ${nodePathId}\n            </text>`;\n    }\n});\n\nexport const setupGetChildBoundaries = state => ({\n    getChildBoundaries(filterFn) {\n        const { body, boundaries } = state;\n\n        if (!body.length) {\n            return boundaries;\n        }\n\n        const flattedTree = flatTree(\n            {\n                getBody: () => (filterFn ? body.filter(filterFn) : body),\n                getBoundaries: () => boundaries\n            },\n            node => node.getBody()\n        );\n\n        return calculateShapesBoundaries(flattedTree.map(item => item.getBoundaries()));\n    }\n});\n\nexport const setupStateModifiers = state => ({\n    addChild(child) {\n        state.body.push(child);\n    },\n\n    setParent(parent) {\n        state.parent = parent;\n    },\n\n    connectChild(child) {\n        this.addChild(child);\n        child.setParent(this);\n    },\n\n    updateTheme(newTheme) {\n        state.theme = mergeObjectStructures(state.theme, newTheme);\n    },\n    assignConnectionArrow(connectionArrow) {\n        state.connectionArrow = connectionArrow;\n    }\n});\n\nexport const setupBasicBehaviour = state =>\n    Object.assign(\n        {},\n        setupSharedPrint(state),\n        setupGetChildBoundaries(state),\n        setupStateModifiers(state)\n    );\n\nexport const setupCompleteState = initialState => {\n    let state = extractBasicState(initialState);\n    return { ...state, ...setupInitialProperties(state) };\n};\n\nexport const calculateNameBasedWidth = ({ maxNamePartLength, theme }) =>\n    maxNamePartLength * theme.symbolWidth;\n\nexport const calculateNameBasedHeight = ({ totalNamePartsNumber, theme }) =>\n    totalNamePartsNumber * theme.symbolHeight + (totalNamePartsNumber - 1) * theme.lineHeight;\n\nexport const calculateWidth = state =>\n    2 * state.theme.horizontalPadding + calculateNameBasedWidth(state);\n\nexport const calculateHeight = state =>\n    2 * state.theme.verticalPadding + calculateNameBasedHeight(state);\n\nexport const calculateDimensions = state => ({\n    w: calculateWidth(state),\n    h: calculateHeight(state)\n});\n\nexport const calculatePosition = state => ({ ...state.initialPosition });\n\nexport const calculateFromPoint = ({ position, dimensions, theme }) => ({\n    x: position.x + theme.childOffset / 2,\n    y: position.y + dimensions.h\n});\n\nexport const calculateToPoint = ({ position, dimensions }) => ({\n    x: position.x,\n    y: position.y + dimensions.h / 2\n});\n\nexport const calculateBackPoint = ({ position, dimensions }) => ({\n    x: position.x + dimensions.w,\n    y: position.y + dimensions.h / 2\n});\n\nexport const calculateChildOffsetPoint = ({ theme, dimensions }) => ({\n    x: theme.childOffset,\n    y: dimensions.h + theme.childOffset / 2\n});\n\nexport const calculateBoundaries = ({ position, dimensions }) => ({\n    min: { x: position.x, y: position.y },\n    max: { x: position.x + dimensions.w, y: position.y + dimensions.h }\n});\n"
  },
  {
    "path": "src/render/svg/shapes/BreakStatement.js",
    "content": "import { delegateInit } from './BaseShape';\nimport { ReturnStatement } from './ReturnStatement';\n\nconst ENTITY_FIELD_NAME = 'BreakStatement';\n\nexport default delegateInit(ReturnStatement, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/CallExpression.js",
    "content": "import { delegateInit } from './BaseShape';\nimport { Rectangle } from './Rectangle';\n\nconst ENTITY_FIELD_NAME = 'CallExpression';\n\nexport default delegateInit(Rectangle, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/CatchClause.js",
    "content": "import { delegateInit } from './BaseShape';\nimport { ReturnStatement } from './ReturnStatement';\n\nconst ENTITY_FIELD_NAME = 'CatchClause';\n\nexport default delegateInit(ReturnStatement, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/ClassDeclaration.js",
    "content": "import { delegateInit } from './BaseShape';\nimport { VerticalEdgedRectangle } from './VerticalEdgedRectangle';\n\nconst ENTITY_FIELD_NAME = 'ClassDeclaration';\n\nexport default delegateInit(VerticalEdgedRectangle, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/ConditionRhombus.js",
    "content": "import { TOKEN_KEYS, TOKEN_TYPES } from 'shared/constants';\nimport { getRhombus, getRoundedRectangle, getText } from 'shared/utils/svgPrimitives';\nimport { assignState } from 'shared/utils/composition';\n\nimport {\n    setupBasicBehaviour,\n    setupInitialSelectors,\n    calculateBackPoint,\n    calculateBoundaries,\n    calculatePosition,\n    delegateInit\n} from './BaseShape';\n\nimport { calculateDimensions, calculateFromPoint, calculateChildOffsetPoint } from './Rhombus';\n\nconst ENTITY_FIELD_NAME = 'ConditionRhombus';\n\nconst calculateAlternateFromPoint = ({ position, dimensions }) => ({\n    x: position.x + dimensions.w,\n    y: position.y + dimensions.h / 2\n});\n\nconst calculateToPoint = ({ position, dimensions }) => ({\n    x: position.x,\n    y: position.y + dimensions.h / 2\n});\n\nconst setupInitialProperties = state => ({\n    fromPoint: calculateFromPoint(state),\n    childOffsetPoint: calculateChildOffsetPoint(state),\n    toPoint: calculateToPoint(state),\n    backPoint: calculateBackPoint(state),\n    boundaries: calculateBoundaries(state),\n\n    alternateFromPoint: calculateAlternateFromPoint(state)\n});\n\nconst setupAdditionalSelectors = state => ({\n    getAlternateFromPoint() {\n        return state.alternateFromPoint;\n    }\n});\n\nexport const setupConditionRhombusBehavior = state => ({\n    getConsequentBranchChildBoundary() {\n        return this.getChildBoundaries(child => child.state.node.key === TOKEN_KEYS.CONSEQUENT);\n    },\n\n    getAlternativeBranchChildOffsetPoint() {\n        const theme = state.theme,\n            position = {};\n\n        position.y = state.position.y + state.childOffsetPoint.y;\n\n        position.x = this.getConsequentBranchChildBoundary().max.x;\n        position.x += theme.alternateBranchOffset;\n\n        const rightLimit = state.position.x + state.dimensions.w + theme.childOffset;\n        if (position.x <= rightLimit) {\n            position.x = rightLimit;\n        }\n\n        return position;\n    },\n\n    checkIfChildExist(key) {\n        return state.body.filter(shape => shape.getNodeKey() === key).length;\n    },\n\n    printConditionMarks() {\n        const theme = state.theme;\n        const { x, y } = state.position,\n            R = state.dimensions.h,\n            w = state.dimensions.w,\n            node = state.node;\n\n        const text = node.subType === TOKEN_TYPES.CONDITIONAL_EXPRESSION ? '?' : 'if',\n            positive = '+',\n            alternative = '-';\n\n        return `${getText(\n            x + R / 2 - text.length * theme.symbolWidth / 2,\n            y + R / 2 + theme.symbolHeight / 2,\n            theme,\n            text\n        )} ${getText(\n            x + R / 2 + theme.symbolWidth,\n            y + R + theme.symbolWidth / 4,\n            theme,\n            positive\n        )} ${\n            this.checkIfChildExist(TOKEN_KEYS.ALTERNATE)\n                ? getText(\n                      x + w + theme.symbolWidth / 2,\n                      y + R / 2 - theme.symbolWidth / 4,\n                      theme,\n                      alternative\n                  )\n                : ''\n        }`;\n    },\n\n    print(config) {\n        const theme = state.theme,\n            { x, y } = state.position,\n            { w, h } = state.dimensions;\n\n        const R = h,\n            rH = h - 2 * theme.thinPartOffset;\n\n        const namePosition = {\n            x: x + R,\n            y: y + rH / 2\n        };\n\n        return `<g>\n            ${getRoundedRectangle(x + h / 2, y + h / 4, w - R / 2, rH, theme)}                \n            ${getRhombus(x, y, R, R, theme)}\n            ${this.printName(namePosition)}\n            ${this.printDebugInfo(config)}\n            ${this.printConditionMarks()}\n        </g>`;\n    }\n});\n\nconst extractBasicState = state => ({\n    ...state,\n    position: calculatePosition(state),\n    dimensions: calculateDimensions(state)\n});\n\nexport const ConditionRhombus = initialState => {\n    let state = extractBasicState(initialState);\n\n    state = { ...state, ...setupInitialProperties(state) };\n\n    return assignState(state, [\n        setupInitialSelectors,\n        setupAdditionalSelectors,\n        setupBasicBehaviour,\n        setupConditionRhombusBehavior\n    ]);\n};\n\nexport default delegateInit(ConditionRhombus, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/ContinueStatement.js",
    "content": "import { delegateInit } from './BaseShape';\nimport { ReturnStatement } from './ReturnStatement';\n\nconst ENTITY_FIELD_NAME = 'ContinueStatement';\n\nexport default delegateInit(ReturnStatement, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/DebuggerStatement.js",
    "content": "import { delegateInit } from './BaseShape';\nimport { Rectangle } from './Rectangle';\n\nconst ENTITY_FIELD_NAME = 'DebuggerStatement';\n\nexport default delegateInit(Rectangle, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/DestructedNode.js",
    "content": "import { getRoundedRectangle, getLine, getClosedPath } from 'shared/utils/svgPrimitives';\nimport { assignState } from 'shared/utils/composition';\nimport { addOffsetToPoints } from 'shared/utils/geometry';\n\nimport {\n    setupBasicBehaviour,\n    setupInitialProperties,\n    setupInitialSelectors,\n    calculateHeight,\n    calculateNameBasedWidth,\n    calculatePosition,\n    delegateInit\n} from './BaseShape';\n\nconst ENTITY_FIELD_NAME = 'DestructedNode';\n\nconst setupDestructedNodeBehaviour = state => ({\n    print(config) {\n        const theme = state.theme,\n            suffixTheme = theme.suffix;\n\n        const { x, y } = state.position,\n            h = state.dimensions.h,\n            w = state.dimensions.w - 2 * (suffixTheme.width + suffixTheme.space),\n            namePosition = { x, y };\n\n        const suffix1 = getRoundedRectangle(\n            x + w + suffixTheme.space,\n            y,\n            suffixTheme.width,\n            h,\n            suffixTheme\n        );\n        const suffix2 = getRoundedRectangle(\n            x + w + 2 * suffixTheme.space + suffixTheme.width,\n            y,\n            suffixTheme.width,\n            h,\n            suffixTheme\n        );\n\n        return `\n            <g>\n                ${getRoundedRectangle(x, y, w, h, theme)}\n                \n                ${suffix1}\n                ${suffix2}\n                             \n                ${this.printName(namePosition)}\n                ${this.printDebugInfo(config)}\n            </g>`;\n    }\n});\n\nconst calculateWidth = state => {\n    const theme = state.theme,\n        suffix = theme.suffix;\n\n    return (\n        2 * theme.horizontalPadding +\n        2 * (suffix.width + +suffix.space) +\n        calculateNameBasedWidth(state)\n    );\n};\n\nconst calculateDimensions = state => ({\n    w: calculateWidth(state),\n    h: calculateHeight(state)\n});\n\nconst extractBasicState = state => ({\n    ...state,\n    position: calculatePosition(state),\n    dimensions: calculateDimensions(state)\n});\n\nexport const DestructedNode = initialState => {\n    let state = extractBasicState(initialState);\n\n    state = { ...state, ...setupInitialProperties(state) };\n\n    return assignState(state, [\n        setupInitialSelectors,\n        setupBasicBehaviour,\n        setupDestructedNodeBehaviour\n    ]);\n};\n\nexport default delegateInit(DestructedNode, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/ExportDeclaration.js",
    "content": "import { delegateInit } from './BaseShape';\nimport { ReturnStatement } from './ReturnStatement';\n\nconst ENTITY_FIELD_NAME = 'ExportDeclaration';\n\nexport default delegateInit(ReturnStatement, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/ImportDeclaration.js",
    "content": "import { delegateInit } from './BaseShape';\nimport { VerticalEdgedRectangle } from './VerticalEdgedRectangle';\n\nconst ENTITY_FIELD_NAME = 'ImportDeclaration';\n\nexport default delegateInit(VerticalEdgedRectangle, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/ImportSpecifier.js",
    "content": "import { delegateInit } from './BaseShape';\nimport { Rectangle } from './Rectangle';\n\nconst ENTITY_FIELD_NAME = 'ImportSpecifier';\n\nexport default delegateInit(Rectangle, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/LoopRhombus.js",
    "content": "import { getRhombus, getRoundedRectangle, getText } from 'shared/utils/svgPrimitives';\nimport { assignState } from 'shared/utils/composition';\nimport { TOKEN_TYPES } from 'shared/constants';\n\nimport {\n    setupBasicBehaviour,\n    setupInitialSelectors,\n    calculateToPoint,\n    calculateBackPoint,\n    calculateBoundaries,\n    delegateInit\n} from './BaseShape';\n\nimport { calculateDimensions, calculateFromPoint, calculateChildOffsetPoint } from './Rhombus';\n\nconst ENTITY_FIELD_NAME = 'LoopRhombus';\n\nconst LoopMarksMap = {\n    [TOKEN_TYPES.FOR_OF_STATEMENT]: 'for',\n    [TOKEN_TYPES.FOR_IN_STATEMENT]: 'for',\n    [TOKEN_TYPES.FOR_STATEMENT]: 'for',\n    [TOKEN_TYPES.WHILE_STATEMENT]: 'while',\n    [TOKEN_TYPES.DO_WHILE_STATEMENT]: 'while'\n};\n\nconst calculateMidPoint = ({ position, dimensions }) => ({\n    x: position.x + dimensions.h / 2,\n    y: position.y\n});\n\nconst setupInitialProperties = state => ({\n    fromPoint: calculateFromPoint(state),\n    childOffsetPoint: calculateChildOffsetPoint(state),\n    toPoint: calculateToPoint(state),\n    backPoint: calculateBackPoint(state),\n    boundaries: calculateBoundaries(state),\n\n    midPoint: calculateMidPoint(state)\n});\n\nconst setupAdditionalSelectors = state => ({\n    getMidPoint() {\n        return state.midPoint;\n    },\n\n    getLoopedConnectionArrow() {\n        return state.loopedConnectionArrow;\n    }\n});\n\nconst setupLoopRhombusBehavior = state => ({\n    assignLoopedConnectionArrow(loopedConnectionArrow) {\n        state.loopedConnectionArrow = loopedConnectionArrow;\n    },\n\n    printConditionMarks() {\n        const theme = state.theme;\n        const { x, y } = state.position,\n            R = state.dimensions.h,\n            text = state.prefixName || LoopMarksMap[state.node.subType] || 'for';\n\n        return getText(\n            x + R / 2 - text.length * theme.symbolWidth / 2,\n            y + R / 2 + theme.symbolHeight / 2,\n            theme,\n            text\n        );\n    },\n\n    print(config) {\n        const theme = state.theme;\n        const { x, y } = state.position,\n            { w, h } = state.dimensions;\n\n        const R = h,\n            rH = h - 2 * theme.thinPartOffset;\n\n        const namePosition = {\n            x: x + R,\n            y: y + rH / 2\n        };\n\n        return `<g>\n\n            ${getRoundedRectangle(x + h / 2, y + h / 4, w - R / 2, rH, theme)}\n            ${getRhombus(x, y, R, R, theme)}\n                \n            ${this.printName(namePosition)}\n            ${this.printDebugInfo(config)}\n            ${this.printConditionMarks()}\n        </g>`;\n    }\n});\n\nconst calculatePosition = ({ initialPosition, theme }) => ({\n    x: initialPosition.x,\n    y: initialPosition.y + theme.positionTopShift\n});\n\nconst extractBasicState = state => ({\n    ...state,\n    position: calculatePosition(state),\n    dimensions: calculateDimensions(state)\n});\n\nexport const LoopRhombus = initialState => {\n    let state = extractBasicState(initialState);\n\n    state = { ...state, ...setupInitialProperties(state) };\n\n    return assignState(state, [\n        setupInitialSelectors,\n        setupAdditionalSelectors,\n        setupBasicBehaviour,\n        setupLoopRhombusBehavior\n    ]);\n};\n\nexport default delegateInit(LoopRhombus, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/ObjectProperty.js",
    "content": "import { delegateInit } from './BaseShape';\nimport { Rectangle } from './Rectangle';\n\nconst ENTITY_FIELD_NAME = 'ObjectProperty';\n\nexport default delegateInit(Rectangle, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/Rectangle.js",
    "content": "import { getRoundedRectangle, getCircle } from 'shared/utils/svgPrimitives';\nimport { assignState } from 'shared/utils/composition';\n\nimport {\n    setupCompleteState,\n    setupBasicBehaviour,\n    setupInitialSelectors,\n    delegateInit\n} from './BaseShape';\n\nconst ENTITY_FIELD_NAME = 'Rectangle';\n\nconst setupRectangleBehavior = state => ({\n    print(config = {}) {\n        const theme = state.theme,\n            dotTheme = theme.dot;\n        const { x, y } = state.position,\n            { w, h } = state.dimensions,\n            node = state.node;\n\n        return `\n                <g>\n                   ${getRoundedRectangle(x, y, w, h, theme)}\n                   ${this.printName()}\n                   ${\n                       node.chain\n                           ? getCircle(\n                                 x + dotTheme.offset,\n                                 y + h - dotTheme.offset,\n                                 dotTheme.radius,\n                                 dotTheme\n                             )\n                           : ''\n                   }\n                   ${this.printDebugInfo(config)}\n                </g>`;\n    }\n});\n\nexport const Rectangle = initialState => {\n    const state = setupCompleteState(initialState);\n\n    return assignState(state, [setupInitialSelectors, setupBasicBehaviour, setupRectangleBehavior]);\n};\n\nexport default delegateInit(Rectangle, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/ReturnStatement.js",
    "content": "import { getRoundedRectangle, getLine, getClosedPath } from 'shared/utils/svgPrimitives';\nimport { assignState } from 'shared/utils/composition';\nimport { addOffsetToPoints } from 'shared/utils/geometry';\n\nimport {\n    setupBasicBehaviour,\n    setupInitialProperties,\n    setupInitialSelectors,\n    calculateHeight,\n    calculateNameBasedWidth,\n    calculatePosition,\n    delegateInit\n} from './BaseShape';\n\nconst ENTITY_FIELD_NAME = 'ReturnStatement';\n\nconst setupReturnStatementBehaviour = state => ({\n    print(config) {\n        const theme = state.theme,\n            arrowTheme = theme.arrow;\n\n        const { x, y } = state.position,\n            h = state.dimensions.h,\n            w = state.dimensions.w - arrowTheme.handlerLength - arrowTheme.sizeX,\n            namePosition = { x: x, y };\n\n        //TODO: refactor\n        const arrowSize = { x: arrowTheme.sizeX, y: arrowTheme.sizeY };\n\n        const arrow = getClosedPath(\n            addOffsetToPoints(\n                [{ x: 0, y: 0 }, { x: arrowSize.x, y: arrowSize.y / 2 }, { x: 0, y: arrowSize.y }],\n                {\n                    x: x + w + arrowTheme.handlerLength,\n                    y: y + h / 2 - arrowSize.y / 2\n                }\n            ),\n            arrowTheme\n        );\n\n        return `\n            <g>\n                ${getRoundedRectangle(x, y, w, h, theme)}\n                \n                ${getLine(\n                    x + w,\n                    y + h / 2 - arrowTheme.handlerLength,\n                    x + w + arrowTheme.handlerLength,\n                    y + h / 2 - arrowTheme.handlerLength,\n                    arrowTheme\n                )}\n                \n                ${getLine(\n                    x + w,\n                    y + h / 2 + arrowTheme.handlerLength,\n                    x + w + arrowTheme.handlerLength,\n                    y + h / 2 + arrowTheme.handlerLength,\n                    arrowTheme\n                )}\n\n                ${arrow}\n                             \n                ${this.printName(namePosition)}\n                ${this.printDebugInfo(config)}\n            </g>`;\n    }\n});\n\nconst calculateWidth = state => {\n    const theme = state.theme,\n        arrowTheme = theme.arrow;\n\n    return (\n        2 * theme.horizontalPadding +\n        arrowTheme.handlerLength +\n        arrowTheme.sizeX +\n        calculateNameBasedWidth(state)\n    );\n};\n\nconst calculateDimensions = state => ({\n    w: calculateWidth(state),\n    h: calculateHeight(state)\n});\n\nconst extractBasicState = state => ({\n    ...state,\n    position: calculatePosition(state),\n    dimensions: calculateDimensions(state)\n});\n\nexport const ReturnStatement = initialState => {\n    let state = extractBasicState(initialState);\n\n    state = { ...state, ...setupInitialProperties(state) };\n\n    return assignState(state, [\n        setupInitialSelectors,\n        setupBasicBehaviour,\n        setupReturnStatementBehaviour\n    ]);\n};\n\nexport default delegateInit(ReturnStatement, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/Rhombus.js",
    "content": "import {\n    calculateWidth as calculateWidthBaseShape,\n    calculateHeight as calculateHeightBaseHeight\n} from './BaseShape';\n\nexport const calculateDimensions = state => ({\n    w: calculateWidth(state),\n    h: calculateHeight(state)\n});\n\nexport const calculateWidth = state => calculateHeight(state) + calculateWidthBaseShape(state);\nexport const calculateHeight = state =>\n    2 * state.theme.thinPartOffset + calculateHeightBaseHeight(state);\n\nexport const calculateFromPoint = ({ position, dimensions }) => ({\n    x: position.x + dimensions.h / 2,\n    y: position.y + dimensions.h\n});\n\nexport const calculateChildOffsetPoint = ({ dimensions, theme }) => ({\n    x: dimensions.h / 2 + theme.childOffset,\n    y: dimensions.h + theme.childOffset / 2\n});\n"
  },
  {
    "path": "src/render/svg/shapes/RootCircle.js",
    "content": "import { getCircle, getRectangle } from 'shared/utils/svgPrimitives';\nimport { assignState } from 'shared/utils/composition';\n\nimport {\n    extractBasicState,\n    setupBasicBehaviour,\n    setupInitialSelectors,\n    calculateBoundaries,\n    delegateInit\n} from './BaseShape';\n\nconst ENTITY_FIELD_NAME = 'RootCircle';\n\nconst calculateFromPoint = ({ position, theme }) => {\n    const r = theme.radius;\n    return { x: position.x, y: position.y + r };\n};\n\nconst setupInitialProperties = state => ({\n    fromPoint: calculateFromPoint(state),\n    boundaries: calculateBoundaries(state)\n});\n\nconst setupCircleBehavior = state => ({\n    print() {\n        const theme = state.theme;\n        const { x, y } = state.position,\n            { w, h } = state.dimensions,\n            r = theme.radius;\n\n        const namePosition = { x: x + r, y: y - r };\n\n        return `\n            <g>\n               ${getRectangle(x, y - r + r / 4, w + r, h - theme.padding * 2, theme)}\n               ${getCircle(x, y, r, theme)}\n               ${this.printName(namePosition)}\n            </g>`;\n    },\n\n    setChildOffsetPoint(point) {\n        state.childOffsetPoint = point;\n    }\n});\n\nexport const RootCircle = initialState => {\n    let state = extractBasicState(initialState);\n\n    state = { ...state, ...setupInitialProperties(state) };\n\n    return assignState(state, [setupInitialSelectors, setupBasicBehaviour, setupCircleBehavior]);\n};\n\nexport default delegateInit(RootCircle, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/SwitchCase.js",
    "content": "import { delegateInit } from './BaseShape';\nimport { Rectangle } from './Rectangle';\n\nconst ENTITY_FIELD_NAME = 'SwitchCase';\n\nexport default delegateInit(Rectangle, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/SwitchStatement.js",
    "content": "import { delegateInit } from './BaseShape';\nimport { ConditionRhombus } from './ConditionRhombus';\n\nconst ENTITY_FIELD_NAME = 'SwitchStatement';\n\nexport default delegateInit(ConditionRhombus, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/ThrowStatement.js",
    "content": "import { delegateInit } from './BaseShape';\nimport { Rectangle } from './Rectangle';\n\nconst ENTITY_FIELD_NAME = 'ThrowStatement';\n\nexport default delegateInit(Rectangle, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/TryStatement.js",
    "content": "import { delegateInit } from './BaseShape';\nimport { Rectangle } from './Rectangle';\n\nconst ENTITY_FIELD_NAME = 'TryStatement';\n\nexport default delegateInit(Rectangle, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapes/VerticalEdgedRectangle.js",
    "content": "import { getRectangle, getLine } from 'shared/utils/svgPrimitives';\nimport { assignState } from 'shared/utils/composition';\n\nimport {\n    setupBasicBehaviour,\n    setupInitialProperties,\n    setupInitialSelectors,\n    calculateHeight,\n    calculateNameBasedWidth,\n    calculatePosition,\n    delegateInit\n} from './BaseShape';\n\nconst ENTITY_FIELD_NAME = 'VerticalEdgedRectangle';\n\nconst setupVerticalEdgedRectangleBehavior = state => ({\n    print(config) {\n        const theme = state.theme;\n        const { x, y } = state.position,\n            { w, h } = state.dimensions,\n            namePosition = { x: x + theme.edgeOffset, y };\n\n        return `\n            <g>\n                ${getRectangle(x, y, w, h, theme)}\n                    \n                ${getLine(x + theme.edgeOffset, y, x + theme.edgeOffset, y + h, theme)}\n                ${getLine(x + w - theme.edgeOffset, y, x + w - theme.edgeOffset, y + h, theme)}\n             \n                ${this.printName(namePosition)}\n                ${this.printDebugInfo(config)}\n            </g>`;\n    }\n});\n\nconst calculateWidth = state =>\n    2 * (state.theme.horizontalPadding + state.theme.edgeOffset) + calculateNameBasedWidth(state);\n\nconst calculateDimensions = state => ({\n    w: calculateWidth(state),\n    h: calculateHeight(state)\n});\n\nconst extractBasicState = state => ({\n    ...state,\n    position: calculatePosition(state),\n    dimensions: calculateDimensions(state)\n});\n\nexport const VerticalEdgedRectangle = initialState => {\n    let state = extractBasicState(initialState);\n\n    state = { ...state, ...setupInitialProperties(state) };\n\n    return assignState(state, [\n        setupInitialSelectors,\n        setupBasicBehaviour,\n        setupVerticalEdgedRectangleBehavior\n    ]);\n};\n\nexport default delegateInit(VerticalEdgedRectangle, ENTITY_FIELD_NAME);\n"
  },
  {
    "path": "src/render/svg/shapesDefinitionsMap.js",
    "content": "import { TOKEN_TYPES, MODIFIED_TYPES } from 'shared/constants';\n\nimport VerticalEdgedRectangle from './shapes/VerticalEdgedRectangle';\nimport Rectangle from './shapes/Rectangle';\nimport ConditionRhombus from './shapes/ConditionRhombus';\nimport LoopRhombus from './shapes/LoopRhombus';\nimport RootCircle from './shapes/RootCircle';\nimport ReturnStatement from './shapes/ReturnStatement';\nimport DestructedNode from './shapes/DestructedNode';\nimport ClassDeclaration from './shapes/ClassDeclaration';\nimport DebuggerStatement from './shapes/DebuggerStatement';\nimport ExportDeclaration from './shapes/ExportDeclaration';\nimport ImportDeclaration from './shapes/ImportDeclaration';\nimport ImportSpecifier from './shapes/ImportSpecifier';\nimport ThrowStatement from './shapes/ThrowStatement';\nimport TryStatement from './shapes/TryStatement';\nimport CatchClause from './shapes/CatchClause';\nimport SwitchStatement from './shapes/SwitchStatement';\nimport BreakStatement from './shapes/BreakStatement';\nimport SwitchCase from './shapes/SwitchCase';\nimport ContinueStatement from './shapes/ContinueStatement';\nimport CallExpression from './shapes/CallExpression';\nimport ObjectProperty from './shapes/ObjectProperty';\n\nexport const getShapeForNode = node => {\n    switch (node.type) {\n        case TOKEN_TYPES.FUNCTION:\n            return VerticalEdgedRectangle;\n\n        case TOKEN_TYPES.LOOP:\n            return LoopRhombus;\n\n        case TOKEN_TYPES.CONDITIONAL:\n            return ConditionRhombus;\n\n        case TOKEN_TYPES.RETURN:\n            return ReturnStatement;\n\n        case MODIFIED_TYPES.DESTRUCTED:\n            return DestructedNode;\n\n        case TOKEN_TYPES.CLASS_DECLARATION:\n            return ClassDeclaration;\n\n        case TOKEN_TYPES.DEBUGGER_STATEMENT:\n            return DebuggerStatement;\n\n        case TOKEN_TYPES.EXPORT_DEFAULT_DECLARATION:\n        case TOKEN_TYPES.EXPORT_NAMED_DECLARATION:\n            return ExportDeclaration;\n\n        case TOKEN_TYPES.IMPORT_DECLARATION:\n            return ImportDeclaration;\n\n        case TOKEN_TYPES.IMPORT_DEFAULT_SPECIFIER:\n        case TOKEN_TYPES.IMPORT_SPECIFIER:\n            return ImportSpecifier;\n\n        case TOKEN_TYPES.THROW_STATEMENT:\n            return ThrowStatement;\n\n        case TOKEN_TYPES.PROGRAM:\n            return RootCircle;\n\n        case TOKEN_TYPES.TRY_STATEMENT:\n            return TryStatement;\n\n        case TOKEN_TYPES.CATCH_CLAUSE:\n            return CatchClause;\n\n        case TOKEN_TYPES.SWITCH_STATEMENT:\n            return SwitchStatement;\n\n        case TOKEN_TYPES.BREAK:\n            return BreakStatement;\n\n        case TOKEN_TYPES.SWITCH_CASE:\n            return SwitchCase;\n\n        case TOKEN_TYPES.CONTINUE:\n            return ContinueStatement;\n\n        case TOKEN_TYPES.OBJECT_PROPERTY:\n            return ObjectProperty;\n\n        case TOKEN_TYPES.CALL_EXPRESSION:\n            return CallExpression;\n\n        default:\n            return Rectangle;\n    }\n};\n"
  },
  {
    "path": "src/render/svg/shapesFactory.js",
    "content": "import { ARROW_TYPE } from 'shared/constants';\nimport { getShapeForNode } from './shapesDefinitionsMap';\nimport ConnectionArrow, {\n    getFieldName as getConnectionArrowFieldName\n} from './connections/ConnectionArrow';\n\nexport const createShapeForNode = (node, position, styleTheme) => {\n    const shape = getShapeForNode(node),\n        shapeStyle = styleTheme[shape.getThemeFieldName()];\n\n    return shape(node, position, shapeStyle);\n};\n\nexport const createRootCircle = (node, styleTheme) => {\n    const shape = getShapeForNode(node),\n        shapeStyle = styleTheme[shape.getThemeFieldName()];\n\n    const { center, childOffset } = { ...styleTheme.RootStartPoint };\n    const root = shape(node, center, shapeStyle);\n\n    root.setChildOffsetPoint(childOffset);\n\n    return root;\n};\n\nexport const createConnectionArrow = (config, styleTheme) => {\n    const connectionArrowStyle = styleTheme[getConnectionArrowFieldName()],\n        arrowConfig = getConnectionConfig(config, connectionArrowStyle);\n\n    return ConnectionArrow({ ...config, ...arrowConfig }, connectionArrowStyle);\n};\n\nexport const getConnectionConfig = ({ startPoint, endPoint, boundaryPoint, arrowType }, theme) => {\n    const config = {\n        linePoints: [],\n        arrowPoint: { x: endPoint.x, y: endPoint.y }\n    };\n\n    switch (arrowType) {\n        case ARROW_TYPE.RIGHT:\n            config.linePoints = [{ x: startPoint.x, y: startPoint.y }];\n\n            if (boundaryPoint) {\n                config.linePoints = config.linePoints.concat([\n                    { x: boundaryPoint.x, y: startPoint.y },\n                    { x: boundaryPoint.x, y: endPoint.y },\n                    { x: endPoint.x, y: endPoint.y }\n                ]);\n            } else {\n                config.linePoints = config.linePoints.concat([\n                    { x: startPoint.x, y: endPoint.y },\n                    { x: endPoint.x, y: endPoint.y }\n                ]);\n            }\n            break;\n\n        case ARROW_TYPE.LEFT:\n            config.linePoints = [\n                { x: startPoint.x, y: startPoint.y },\n                { x: boundaryPoint.x + theme.lineTurnOffset, y: startPoint.y },\n                { x: boundaryPoint.x + theme.lineTurnOffset, y: endPoint.y },\n                { x: endPoint.x - theme.lineTurnOffset, y: endPoint.y }\n            ];\n            break;\n\n        case ARROW_TYPE.DOWN:\n            config.linePoints = [\n                { x: startPoint.x, y: startPoint.y },\n                { x: boundaryPoint.x + theme.lineTurnOffset, y: startPoint.y },\n                {\n                    x: boundaryPoint.x + theme.lineTurnOffset,\n                    y: endPoint.y - theme.lineTurnOffset\n                },\n                { x: endPoint.x, y: endPoint.y - theme.lineTurnOffset },\n                { x: endPoint.x, y: endPoint.y }\n            ];\n            break;\n    }\n\n    return config;\n};\n"
  },
  {
    "path": "src/render/svg/svgObjectsBuilder.js",
    "content": "import { complexTraversal } from 'shared/utils/traversalWithTreeLevelsPointer';\nimport { SVGBase } from './SVGBase';\nimport { createShapeForNode, createRootCircle, createConnectionArrow } from './shapesFactory';\nimport { TOKEN_TYPES, TOKEN_KEYS, ARROW_TYPE } from 'shared/constants';\n\nexport const buildSVGObjectsTree = (flowTree, styleTheme) => {\n    const svg = SVGBase();\n\n    const shapeStructures = buildShapeStructures(flowTree, styleTheme);\n    const connections = buildConnections(shapeStructures.root, styleTheme);\n\n    svg.addShapes(shapeStructures.list).addShapes(shapeStructures.root);\n    svg.addArrowConnections(connections);\n\n    return svg;\n};\n\nexport const buildShapeStructures = (flowTree, styleTheme) => {\n    const root = createRootCircle(flowTree, styleTheme),\n        position = { ...root.getChildOffsetPoint() },\n        shapesList = [];\n\n    let latestNode;\n\n    complexTraversal(\n        flowTree,\n        root,\n        (parentNode, parentShape) => {\n            position.x += parentShape.getChildOffsetPoint().x;\n        },\n        (node, parentShape) => {\n            position.y += addExtraSpacingBeforeShape(styleTheme, node, latestNode);\n\n            //TODO: refactor, move cases out of func, it will to many of them soon\n            if (\n                parentShape.getNodeType() === TOKEN_TYPES.CONDITIONAL &&\n                node.key === TOKEN_KEYS.ALTERNATE &&\n                !parentShape.checkIfChildExist(TOKEN_KEYS.ALTERNATE)\n            ) {\n                const alternatePoint = parentShape.getAlternativeBranchChildOffsetPoint();\n                position.x = alternatePoint.x + parentShape.getMargin();\n                position.y = alternatePoint.y;\n            }\n\n            const shape = createShapeForNode(node, { x: position.x, y: position.y }, styleTheme);\n\n            position.x = shape.getPosition().x;\n            position.y = shape.getPosition().y;\n\n            shapesList.push(shape);\n            parentShape.connectChild(shape);\n            position.y += shape.getChildOffsetPoint().y;\n\n            latestNode = node;\n            return shape;\n        },\n        (parentNode, parentShape) => {\n            if (parentNode.type === TOKEN_TYPES.CONDITIONAL) {\n                position.y = parentShape.getChildBoundaries().max.y + parentShape.getMargin();\n            }\n\n            position.x = parentShape.getPosition().x;\n        }\n    );\n\n    return {\n        list: shapesList,\n        root: root\n    };\n};\n\nconst addExtraSpacingBeforeShape = (theme, node, latestNode = {}) => {\n    const complexNodeTypes = [\n        TOKEN_TYPES.FUNCTION,\n        TOKEN_TYPES.FUNCTION_DECLARATION,\n        TOKEN_TYPES.FUNCTION_EXPRESSION,\n        TOKEN_TYPES.ARROW_FUNCTION_EXPRESSION,\n        TOKEN_TYPES.CLASS_DECLARATION,\n        TOKEN_TYPES.IMPORT_DECLARATION,\n        TOKEN_TYPES.EXPORT_NAMED_DECLARATION,\n        TOKEN_TYPES.EXPORT_DEFAULT_DECLARATION\n    ];\n\n    if (\n        complexNodeTypes.includes(node.type) &&\n        !complexNodeTypes.includes(latestNode.type) &&\n        node.pathParentType !== TOKEN_TYPES.CALL_EXPRESSION\n    ) {\n        return theme.BaseShape.complexTypeExtraSpace;\n    }\n\n    return 0;\n};\n\nexport const buildConnections = (shapesTree, styleTheme) => {\n    const connections = [],\n        pushArrow = config => {\n            const connection = createConnectionArrow(config, styleTheme);\n            connections.push(connection);\n\n            return connection;\n        };\n\n    let latestShape = null,\n        latestParentShape = null;\n\n    complexTraversal(\n        shapesTree,\n        shapesTree,\n        parentShape => {},\n        (shape, parentShape) => {\n            latestShape = shape;\n\n            const config = buildConnectionConfig(shape, parentShape),\n                arrow = pushArrow(config);\n\n            shape.assignConnectionArrow(arrow);\n\n            return shape;\n        },\n        parentShape => {\n            latestParentShape = parentShape;\n            if (parentShape.getNodeType() !== TOKEN_TYPES.LOOP) return;\n\n            const { max } = parentShape.getChildBoundaries();\n\n            parentShape.assignLoopedConnectionArrow(\n                pushArrow({\n                    startPoint: latestShape.getBackPoint(),\n                    endPoint: parentShape.getMidPoint(),\n                    boundaryPoint: { x: max.x },\n                    arrowType: ARROW_TYPE.DOWN\n                })\n            );\n        },\n        {\n            getBody: node => node.getBody()\n        }\n    );\n\n    return connections;\n};\n\nconst isNoArrow = (toShape, fromShape) => {\n    if (\n        [\n            TOKEN_TYPES.IMPORT_SPECIFIER,\n            TOKEN_TYPES.IMPORT_DEFAULT_SPECIFIER,\n            TOKEN_TYPES.OBJECT_PROPERTY\n        ].includes(toShape.getNodeType())\n    ) {\n        return true;\n    }\n\n    if (\n        [\n            TOKEN_TYPES.FUNCTION_DECLARATION,\n            TOKEN_TYPES.FUNCTION_EXPRESSION,\n            TOKEN_TYPES.FUNCTION,\n            TOKEN_TYPES.ARROW_FUNCTION_EXPRESSION\n        ].includes(toShape.getNodeType()) &&\n        [\n            TOKEN_TYPES.CALL_EXPRESSION,\n            TOKEN_TYPES.VARIABLE_DECLARATOR,\n            TOKEN_TYPES.ASSIGNMENT_EXPRESSION,\n            TOKEN_TYPES.NEW_EXPRESSION\n        ].includes(fromShape.getNodeType())\n    ) {\n        return true;\n    }\n};\n\nconst buildConnectionConfig = (toShape, fromShape) => {\n    const config = {\n        endPoint: toShape.getToPoint(),\n        arrowType: ARROW_TYPE.RIGHT,\n        noArrow: isNoArrow(toShape, fromShape)\n    };\n\n    if (\n        toShape.getNodeKey() === TOKEN_KEYS.ALTERNATE &&\n        fromShape.getAlternativeBranchChildOffsetPoint\n    ) {\n        const boundaryPoint = fromShape.getAlternativeBranchChildOffsetPoint();\n\n        config.startPoint = fromShape.getAlternateFromPoint();\n        config.boundaryPoint = { x: boundaryPoint.x };\n    } else {\n        config.startPoint = fromShape.getFromPoint();\n    }\n\n    return config;\n};\n"
  },
  {
    "path": "src/shared/constants.js",
    "content": "export const TOKEN_TYPES = {\n    FUNCTION: 'Function',\n    FUNCTION_EXPRESSION: 'FunctionExpression',\n    FUNCTION_DECLARATION: 'FunctionDeclaration',\n    VARIABLE_DECLARATOR: 'VariableDeclarator',\n    ASSIGNMENT_EXPRESSION: 'AssignmentExpression',\n    MEMBER_EXPRESSION: 'MemberExpression',\n    VARIABLE_DECLARATION: 'VariableDeclaration',\n    UPDATE_EXPRESSION: 'UpdateExpression',\n    CALL_EXPRESSION: 'CallExpression',\n    NEW_EXPRESSION: 'NewExpression',\n    LOOP: 'Loop',\n    FOR_IN_STATEMENT: 'ForInStatement',\n    FOR_STATEMENT: 'ForStatement',\n    WHILE_STATEMENT: 'WhileStatement',\n    DO_WHILE_STATEMENT: 'DoWhileStatement',\n    CONTINUE: 'ContinueStatement',\n    CONDITIONAL: 'Conditional',\n    SWITCH_CASE: 'SwitchCase',\n    SWITCH_STATEMENT: 'SwitchStatement',\n    PROGRAM: 'Program',\n    RETURN: 'ReturnStatement',\n    BREAK: 'BreakStatement',\n    TRY_STATEMENT: 'TryStatement',\n    CATCH_CLAUSE: 'CatchClause',\n    WITH_STATEMENT: 'WithStatement',\n    THROW_STATEMENT: 'ThrowStatement',\n    DEBUGGER_STATEMENT: 'DebuggerStatement',\n    IDENTIFIER: 'Identifier',\n    ARRAY_EXPRESSION: 'ArrayExpression',\n    OBJECT_EXPRESSION: 'ObjectExpression',\n    OBJECT_PROPERTY: 'ObjectProperty',\n    OBJECT_METHOD: 'ObjectMethod',\n    BINARY_EXPRESSION: 'BinaryExpression',\n    EXPRESSION_STATEMENT: 'ExpressionStatement',\n    UNARY_EXPRESSION: 'UnaryExpression',\n    CONDITIONAL_EXPRESSION: 'ConditionalExpression',\n    STRING_LITERAL: 'StringLiteral',\n    NUMERIC_LITERAL: 'NumericLiteral',\n    THIS_EXPRESSION: 'ThisExpression',\n    LOGICAL_EXPRESSION: 'LogicalExpression',\n\n    //ES Harmony features\n    ARROW_FUNCTION_EXPRESSION: 'ArrowFunctionExpression',\n    IMPORT_DECLARATION: 'ImportDeclaration',\n    IMPORT_DEFAULT_SPECIFIER: 'ImportDefaultSpecifier',\n    IMPORT_SPECIFIER: 'ImportSpecifier',\n    EXPORT_NAMED_DECLARATION: 'ExportNamedDeclaration',\n    EXPORT_DEFAULT_DECLARATION: 'ExportDefaultDeclaration',\n    CLASS_DECLARATION: 'ClassDeclaration',\n    CLASS_METHOD: 'ClassMethod',\n    FOR_OF_STATEMENT: 'ForOfStatement',\n    SPREAD_ELEMENT: 'SpreadElement',\n    SPREAD_PROPERTY: 'SpreadProperty',\n    REST_PROPERTY: 'RestProperty',\n    OBJECT_PATTERN: 'ObjectPattern',\n    ARRAY_PATTERN: 'ArrayPattern',\n    ASSIGNMENT_PATTERN: 'AssignmentPattern'\n};\n\nexport const TOKEN_KEYS = {\n    BODY: 'body',\n    PROGRAM: 'program',\n    CONSEQUENT: 'consequent',\n    ALTERNATE: 'alternate',\n    TEST: 'test'\n};\n\nexport const ARROW_TYPE = {\n    RIGHT: 'RIGHT',\n    LEFT: 'LEFT',\n    UP: 'UP',\n    DOWN: 'DOWN'\n};\n\nexport const CLASS_FUNCTION_KINDS = {\n    CONSTRUCTOR: 'constructor',\n    METHOD: 'method'\n};\n\nexport const MODIFIED_TYPES = {\n    DESTRUCTED: 'DESTRUCTED',\n    CUSTOM: 'CUSTOM'\n};\n"
  },
  {
    "path": "src/shared/utils/composition.js",
    "content": "import merge from 'deepmerge';\n\nexport const assignState = (state, extensionsList) => {\n    return Object.assign.apply(null, [{ state }, ...extensionsList.map(fn => fn(state))]);\n};\n\nexport const mergeObjectStructures = (destination, source) => merge(destination, source);\n"
  },
  {
    "path": "src/shared/utils/flatten.js",
    "content": "export const flatTree = (tree, getBody = node => node.body) => {\n    let flatList = [];\n\n    [].concat(tree).forEach(node => {\n        const body = getBody(node);\n\n        if (body && body.length) {\n            flatList = flatList.concat(node, flatTree(body, getBody));\n        } else {\n            flatList.push(node);\n        }\n    });\n\n    return flatList;\n};\n"
  },
  {
    "path": "src/shared/utils/geometry.js",
    "content": "export const calculateShapesBoundaries = list => {\n    if (!list || !list.length) {\n        throw new Error('List is not specified.');\n    }\n\n    const first = list[0];\n    let minX = first.min.x,\n        maxX = first.max.x,\n        minY = first.min.y,\n        maxY = first.max.y;\n\n    list.forEach(({ min, max }) => {\n        if (min.x < minX) {\n            minX = min.x;\n        }\n\n        if (min.y < minY) {\n            minY = min.y;\n        }\n\n        if (max.x > maxX) {\n            maxX = max.x;\n        }\n\n        if (max.y > maxY) {\n            maxY = max.y;\n        }\n    });\n\n    return {\n        min: { x: minX, y: minY },\n        max: { x: maxX, y: maxY }\n    };\n};\n\nexport const addOffsetToPoints = (points, offsetPoint) =>\n    [].concat(points).map(point => ({\n        x: point.x + offsetPoint.x,\n        y: point.y + offsetPoint.y\n    }));\n"
  },
  {
    "path": "src/shared/utils/iteratorBuilder.js",
    "content": "export const buildIterator = list => ({\n    index: 0,\n    getNext() {\n        return list[this.index++];\n    },\n    reset() {\n        this.index = 0;\n    }\n});\n"
  },
  {
    "path": "src/shared/utils/logger.js",
    "content": "export const logError = message => {\n    console.error(message);\n};\n"
  },
  {
    "path": "src/shared/utils/string.js",
    "content": "import stringWidth from 'string-width';\n\nexport const generateId = () => {\n    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n        const r = (Math.random() * 16) | 0,\n            v = c === 'x' ? r : (r & 0x3) | 0x8;\n        return v.toString(16);\n    });\n};\n\nexport const getPathId = node => {\n    const queue = [node];\n    let id = `node-id:|${node.name}|`;\n\n    while (queue.length) {\n        let item = queue.shift();\n\n        if (item) {\n            id += item.name ? item.name[0] : '-';\n\n            if (item.parent) {\n                queue.push(item.parent);\n            }\n        }\n    }\n\n    return id.replace(/\\s/g, '').toUpperCase();\n};\n\nexport const splitNameString = (str, maxLineLength, nameSplitterTokensIterator) => {\n    const strLength = str.length;\n\n    if (strLength <= maxLineLength) return [str];\n\n    return [str.slice(0, maxLineLength) + '...'];\n    //TODO: fix\n\n    let parts = [],\n        currentPositionIndex = 0,\n        splitter = nameSplitterTokensIterator.getNext();\n\n    while (currentPositionIndex < strLength) {\n        const splitterIndex = str.indexOf(splitter, currentPositionIndex);\n\n        if (splitterIndex !== -1) {\n            parts.push(str.slice(currentPositionIndex, splitterIndex + splitter.length));\n            currentPositionIndex += splitterIndex + splitter.length;\n        } else {\n            //TODO: try other splitters then\n            //splitter = nameSplitterTokensIterator.getNext(),\n            parts.push(str.slice(currentPositionIndex, str.length));\n            currentPositionIndex = str.length;\n        }\n    }\n\n    return parts;\n};\n\nexport const getMaxStringLengthFromList = list =>\n    list.reduce((max, current) => {\n        const currentLength = stringWidth(current);\n        return currentLength >= max ? currentLength : max;\n    }, 0);\n"
  },
  {
    "path": "src/shared/utils/svgPrimitives.js",
    "content": "const SvgStyleFieldsMap = [\n    {\n        from: 'fillColor',\n        to: 'fill'\n    },\n    {\n        from: 'strokeColor',\n        to: 'stroke'\n    },\n    {\n        from: 'strokeWidth',\n        to: 'stroke-width'\n    },\n    {\n        from: 'fillOpacity',\n        to: 'fill-opacity'\n    },\n    {\n        from: 'strokeOpacity',\n        to: 'stroke-opacity'\n    }\n];\n\nexport const extractStylePropsFromTheme = theme => {\n    return SvgStyleFieldsMap.map(\n        item => (theme[item.from] ? `${item.to}:${theme[item.from]}` : null)\n    )\n        .filter(i => i)\n        .join('; ');\n};\n\nexport const extractStyleAttrsFromTheme = theme => {\n    return SvgStyleFieldsMap.map(\n        item => (theme[item.from] ? `${item.to}=\"${theme[item.from]}\"` : null)\n    )\n        .filter(i => i)\n        .join(' ');\n};\n\nexport const getRhombus = (x, y, w, h, theme) => {\n    return `<polygon points=\"${x},${y + h / 2} ${x + w / 2},${y} ${x + w},${y + h / 2} ${x +\n        w / 2},${y + h}\"\n            style=\"${extractStylePropsFromTheme(theme)}\" />`;\n};\n\nexport const getRoundedRectangle = (x, y, w, h, theme) => {\n    return `<rect x=\"${x}\" y=\"${y}\"\n            width=\"${w}\" height=\"${h}\"\n            rx=\"${theme.roundBorder}\" ry=\"${theme.roundBorder}\"\n            style=\"${extractStylePropsFromTheme(theme)}\" />`;\n};\n\nexport const getRectangle = (x, y, w, h, theme) => {\n    return `<rect x=\"${x}\" y=\"${y}\"\n            width=\"${w}\" height=\"${h}\"\n            style=\"${extractStylePropsFromTheme(theme)}\" />`;\n};\n\nexport const getLine = (x1, y1, x2, y2, theme) => {\n    return `<line x1=\"${x1}\" y1=\"${y1}\" x2=\"${x2}\" y2=\"${y2}\"\n                style=\"${extractStylePropsFromTheme(theme)}\" />`;\n};\n\nexport const getCircle = (x, y, r, theme) => {\n    return `<circle cx=\"${x}\" cy=\"${y}\" r=\"${r}\"\n        style=\"${extractStylePropsFromTheme(theme)}\" />`;\n};\n\nexport const getText = (x, y, theme, text) => {\n    return `<text x=\"${x}\" y=\"${y}\"\n        font-family=\"${theme.fontFamily}\" font-size=\"${theme.fontSize}\" fill=\"${\n        theme.textColor\n    }\">${text}</text>`;\n};\n\nexport const getClosedPath = (points, theme) => {\n    const pointStr = points\n        .map((point, i) => {\n            if (!i) return `M${point.x}, ${point.y}`;\n\n            return `L${point.x}, ${point.y}`;\n        })\n        .join(' ');\n\n    return `<path d=\"${pointStr} Z\" \n        ${extractStyleAttrsFromTheme(theme)} />`;\n};\n\nexport const getCurvedPath = (points, theme) => {\n    const pointStr = points\n        .map((point, i) => {\n            if (!i) return `M${point.x}, ${point.y}`;\n\n            let previousPoint = points[i - 1];\n\n            if (i <= 1) {\n                return getLinePointStr(point, previousPoint, theme.curveTurnRadius);\n            }\n\n            return `Q${previousPoint.x} ${previousPoint.y}\n                ${getArcEndPointStr(point, previousPoint, theme.curveTurnRadius)}\n                ${getLinePointStr(point, previousPoint, 2 * theme.curveTurnRadius)}`;\n        })\n        .join(' ');\n\n    return `<path d=\"${pointStr}\"\n        style=\"fill:none; ${extractStylePropsFromTheme(theme)}\" />`;\n};\n\nconst getLinePointStr = (point, previousPoint, radius) => {\n    if (point.x === previousPoint.x) {\n        return `L${point.x} ${getShiftedByArcNextPointValue(point.y, previousPoint.y, radius)}`;\n    }\n\n    if (point.y === previousPoint.y) {\n        return `L${getShiftedByArcNextPointValue(point.x, previousPoint.x, radius)} ${point.y} `;\n    }\n};\n\nconst getShiftedByArcNextPointValue = (pointValue, previousPointValue, radius) =>\n    pointValue > previousPointValue ? pointValue - radius : pointValue + radius;\n\nconst getArcEndPointStr = (point, previousPoint, radius) => {\n    if (point.x === previousPoint.x) {\n        return `${previousPoint.x} ${getArcEndPointValue(point.y, previousPoint.y, radius)}`;\n    }\n\n    if (point.y === previousPoint.y) {\n        return `${getArcEndPointValue(point.x, previousPoint.x, radius)} ${previousPoint.y}`;\n    }\n};\n\nconst getArcEndPointValue = (pointValue, previousPointValue, radius) =>\n    pointValue > previousPointValue ? previousPointValue + radius : previousPointValue - radius;\n"
  },
  {
    "path": "src/shared/utils/traversal.js",
    "content": "export const levelsTraversal = (tree, stepIn, onNode, stepOut, options = {}) => {\n    const getBody = options.getBody || (node => node.body);\n    stepIn(tree);\n\n    getBody(tree).forEach(node => {\n        onNode(node);\n\n        if (getBody(node)) {\n            levelsTraversal(node, stepIn, onNode, stepOut, options);\n        }\n    });\n\n    stepOut(tree);\n};\n\nexport const traversal = (tree, fn, getBody = node => node.body) => {\n    let queue = [].concat(tree);\n\n    while (queue.length) {\n        let node = queue.shift();\n\n        fn(node);\n\n        const nodeBody = getBody(node);\n        if (nodeBody) {\n            queue = [...queue, ...nodeBody];\n        }\n    }\n};\n\nexport const traversalSearch = (tree, fn) => {\n    const result = [];\n\n    traversal(tree, node => {\n        if (fn(node)) {\n            result.push(node);\n        }\n    });\n\n    return result;\n};\n"
  },
  {
    "path": "src/shared/utils/traversalWithTreeLevelsPointer.js",
    "content": "import { levelsTraversal } from './traversal';\nimport { setupPointer } from './treeLevelsPointer';\n\nexport const complexTraversal = (tree, root, onStepIn, onNode, onStepOut, options) => {\n    const levelsPointer = setupPointer();\n    let latestShape = root;\n\n    levelsTraversal(\n        tree,\n        parentNode => {\n            levelsPointer.stepIn(latestShape);\n            onStepIn(parentNode, levelsPointer.getCurrent());\n        },\n        node => {\n            latestShape = onNode(node, levelsPointer.getCurrent());\n        },\n        parentNode => {\n            levelsPointer.getCurrent() && onStepOut(parentNode, levelsPointer.getCurrent());\n            levelsPointer.stepOut();\n        },\n        options\n    );\n};\n"
  },
  {
    "path": "src/shared/utils/treeLevelsPointer.js",
    "content": "export const setupPointer = cache => ({\n    list: cache ? [cache] : [],\n\n    getCurrent() {\n        if (!this.list.length) return;\n        return this.list[this.list.length - 1];\n    },\n\n    stepIn(step) {\n        this.list.push(step);\n    },\n\n    stepOut() {\n        this.list.pop();\n    }\n});\n"
  },
  {
    "path": "webpack.config.js",
    "content": "/* global __dirname, require, module*/\n\nconst path = require('path');\nconst webpack = require('webpack');\n\nlet libraryName = 'js2flowchart';\n\nlet outputFile;\n\noutputFile = libraryName + '.js';\n\nconst config = {\n  entry: __dirname + '/index.js',\n  devtool: 'source-map',\n  output: {\n    path: __dirname + '/dist',\n    filename: outputFile,\n    library: libraryName,\n    libraryTarget: 'umd',\n    umdNamedDefine: true,\n    globalObject: \"(typeof window !== 'undefined' ? window : this)\"\n  },\n  module: {\n    rules: [\n      {\n        test: /(\\.jsx|\\.js)$/,\n        loader: 'babel-loader',\n        exclude: /(node_modules|bower_components)/\n      }\n    ]\n  },\n  resolve: {\n    modules: [\n        path.resolve('./node_modules'), path.resolve('./src'),\n        path.resolve('./src/shared'), path.resolve('./src/render'),\n        path.resolve('./src/builder'), path.resolve('./src/presentation-generator')\n    ],\n    fallback: {\n      \"buffer\": require.resolve(\"buffer\")\n    },\n    extensions: ['.json', '.js']\n  },\n  plugins: [\n    new webpack.ProvidePlugin({\n        process: 'process/browser',\n        Buffer: ['buffer', 'Buffer'],\n    })\n  ],\n  mode: process.env.NODE_ENV || 'development'\n};\n\nmodule.exports = config;\n"
  }
]