[
  {
    "path": ".editorconfig",
    "content": "# EditorConfig is awesome: http://EditorConfig.org\n\nroot = true\n\n[*]\n# This also tells github.com how wide to render tabs\nindent_size = 2\nindent_style = space\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[{package.json,*.yml,dist-raw/**}]\n# In case we switch to tabs above, these must still be spaces\nindent_style = space\n"
  },
  {
    "path": ".git-blame-ignore-revs",
    "content": "# Prettier formatting\n9d05cb684fc3a6e492832100a125ea07d1cc98c5\n7ff608d1a0f7160e7776c34d7a146c8cc90d76ac\n"
  },
  {
    "path": ".gitattributes",
    "content": "raw/* linguist-vendored\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "github: [blakeembrey, cspotcode]\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug-report.md",
    "content": "---\nname: 'Bug report'\nabout: 'Create a report to help us improve'\n\n---\n\n### Search Terms\n\n\n\n<!--\n  What search terms did you use when trying to find an existing bug report?\n  List them here so people in the future can find this one more easily.\n  Remember to include *closed* issues in your search.\n-->\n\n### Expected Behavior\n\n\n\n### Actual Behavior\n\n\n\n### Steps to reproduce the problem\n\n\n\n### Minimal reproduction\n\n\n\n<!--\n\nThis link explains why we ask for a minimal reproduction.  Thank you in advance!\nhttps://gist.github.com/Rich-Harris/88c5fc2ac6dc941b22e7996af05d70ff\n\nYou can create a reproduction here:\nhttps://github.com/TypeStrong/ts-node-repros\n-->\n\n### Specifications\n\n<!-- `ts-node -vv` will print ts-node, node, and TypeScript versions -->\n* ts-node version:\n* node version:\n* TypeScript version:\n* tsconfig.json, if you're using one:\n```\n{}\n```\n* package.json:\n```\n{}\n```\n* Operating system and version:\n* If Windows, are you using WSL or WSL2?:\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "content": "---\ncontact_links:\n  -\n    name: Question\n    about: \"Please ask and answer usage questions in our Discussion forum.\"\n    url: \"https://github.com/TypeStrong/ts-node/discussions\"\n  -\n    name: Chat\n    about: \"Alternatively, ask on the TypeScript Community Discord.\"\n    url: \"https://discord.gg/3rBctmf3dP\"\n  -\n    name: \"Help! My Types Are Missing!\"\n    about: \"This is likely a configuration problem.  Check our README\"\n    url: \"https://typestrong.org/ts-node/docs/troubleshooting#missing-types\"\n  -\n    name: \"TSError or SyntaxError\"\n    about: \"These errors come from TypeScript and node, respectively.  Use Discussions or Discord for usage and configuration help.\"\n    url: \"https://typestrong.org/ts-node/docs/troubleshooting\"\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature-request.md",
    "content": "---\nname: 'Feature request'\nabout: 'Suggest an idea for this project'\n\n---\n\n### Desired Behavior\n\n\n\n### Is this request related to a problem?\n\n\n\n<!-- Describe the problem, for example: \"I'm always frustrated when ... \" -->\n\n### Alternatives you've considered\n\n\n\n### Additional context\n\n\n"
  },
  {
    "path": ".github/workflows/continuous-integration.yml",
    "content": "name: Continuous Integration\non:\n  # branches pushed by collaborators\n  push:\n    branches:\n      - main\n  # pull request from non-collaborators\n  pull_request: {}\n  # nightly\n  schedule:\n    - cron:  '0 0 * * *'\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}\n  cancel-in-progress: true\npermissions:\n  contents: read # to fetch code (actions/checkout)\njobs:\n  lint-build:\n    name: \"Lint & Build\"\n    runs-on: ubuntu-latest\n    steps:\n      # checkout code\n      - name: Checkout\n        uses: actions/checkout@v3\n      # install node\n      - name: Use Node.js 18\n        uses: actions/setup-node@v3\n        with:\n          node-version: 18\n      - name: Get cache directory\n        id: get-cache-directory\n        run: |\n          yarn config get cacheFolder\n          echo \"path=$( yarn config get cacheFolder )\" >> $GITHUB_OUTPUT\n      - name: Cache dependencies\n        uses: actions/cache@v3\n        with:\n          path: ${{ steps.get-cache-directory.outputs.path }}\n          key: yarn-cache-packaging-${{ hashFiles('yarn.lock') }}\n          restore-keys: yarn-cache-packaging-\n      # lint, build, test\n      - name: Install dependencies\n        run: yarn install --immutable\n      - name: Lint\n        run: yarn lint\n      - name: Build\n        run: yarn build\n      - name: Upload package artifact\n        uses: actions/upload-artifact@v1\n        with:\n          name: ts-node-packed.tgz\n          path: tests/ts-node-packed.tgz\n\n  test:\n    needs: lint-build\n    name: \"Test: ${{ matrix.os }}, node ${{ matrix.node }}, TS ${{ matrix.typescript }}\"\n    runs-on: ${{ matrix.os }}-latest\n    env:\n      TEST_MATRIX_NODE_VERSION: ${{ matrix.node }}\n      TEST_MATRIX_TYPESCRIPT_VERSION: ${{ matrix.typescript }}\n    strategy:\n      fail-fast: false\n      matrix:\n        os: [ubuntu, windows]\n        # Don't forget to add all new flavors to this list!\n        flavor: [1, 2, 3, 4, 5, 6, 7]\n        include:\n          # Node 16\n          - flavor: 1\n            node: 16\n            nodeFlag: 16\n            typescript: latest\n            typescriptFlag: latest\n          - flavor: 2\n            node: 16\n            nodeFlag: 16\n            typescript: 4.4\n            typescriptFlag: 4_4\n          - flavor: 3\n            node: 16\n            nodeFlag: 16\n            typescript: 4.7\n            typescriptFlag: 4_7\n          # Node 18\n          - flavor: 4\n            node: 18\n            nodeFlag: 18\n            typescript: latest\n            typescriptFlag: latest\n          - flavor: 5\n            node: 18\n            nodeFlag: 18\n            typescript: next\n            typescriptFlag: next\n          # Node 20\n          - flavor: 6\n            node: 20\n            nodeFlag: 20\n            typescript: latest\n            typescriptFlag: latest\n          # Node nightly\n          - flavor: 7\n            node: 21-nightly\n            nodeFlag: 21_nightly\n            typescript: latest\n            typescriptFlag: latest\n    steps:\n      # checkout code\n      - name: Checkout\n        uses: actions/checkout@v3\n      # install node\n      - name: Use Node.js ${{ matrix.node }}\n        uses: actions/setup-node@v3\n        with:\n          node-version: ${{ matrix.node }}\n      # lint, build, test\n      - name: Get cache directory\n        id: get-cache-directory\n        run: |\n          yarn config get cacheFolder\n          echo \"path=$( yarn config get cacheFolder )\" >> $GITHUB_OUTPUT\n      - name: Cache dependencies\n        if: ${{ matrix.os != 'windows' }}\n        uses: actions/cache@v3\n        with:\n          path: ${{ steps.get-cache-directory.outputs.path }}\n          key: yarn-cache-${{ matrix.os }}-${{ hashFiles('yarn.lock') }}\n          restore-keys: yarn-cache-${{matrix.os }}-\n      - name: Install dependencies\n        run: yarn install --immutable --mode=skip-build\n      - name: Build tests\n        run: yarn build-tsc\n      - name: Download package artifact\n        uses: actions/download-artifact@v1\n        with:\n          name: ts-node-packed.tgz\n          path: tests/\n      - name: Install typescript version to test against\n        run: yarn add -D typescript@${{ matrix.typescript }}\n      - name: Test\n        run: yarn test-cov\n      - name: Check for yarn logs\n        id: check-yarn-logs-exist\n        if: ${{ failure() }}\n        uses: andstor/file-existence-action@v2\n        with:\n          files: yarn-error.log\n      - name: Upload yarn logs\n        if: ${{ failure() && steps.check-yarn-logs-exist.outputs.files_exists == 'true' }}\n        uses: actions/upload-artifact@v1\n        with:\n          name: yarn-logs-${{ matrix.os }}-node-${{ matrix.nodeFlag }}-typescript-${{ matrix.typescriptFlag }}\n          path: yarn-error.log\n      - name: Coverage Report\n        run: yarn coverage-report\n        if: ${{ always() }}\n      - name: Codecov\n        if: ${{ always() }}\n        uses: codecov/codecov-action@v3\n        with:\n          flags: ${{ matrix.os }},node_${{ matrix.nodeFlag }},typescript_${{ matrix.typescriptFlag }}\n"
  },
  {
    "path": ".github/workflows/e2e-git-installs.yml",
    "content": "name: E2E Install from git\n# TODO test global installs, too?\non:\n  # nightly\n  schedule:\n    - cron:  '0 0 * * *'\n  # To temporarily enable on your branch for verification\n  # push: {}\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}\npermissions:\n  contents: read # to fetch code (actions/checkout)\njobs:\n  npm:\n    name: \"npm\"\n    runs-on: ${{ matrix.os }}-latest\n    strategy:\n      fail-fast: false\n      matrix:\n        os: [ubuntu, windows]\n    steps:\n      # install node\n      - name: Use Node.js 18\n        uses: actions/setup-node@v3\n        with:\n          node-version: 18\n      - name: Test\n        run: |\n          npm --version\n          echo '{\"scripts\": {\"test\": \"ts-node -vvv\"}}' > package.json\n          npm install https://github.com/TypeStrong/ts-node#${{ github.ref_name }}\n          npm test\n  pnpm:\n    name: \"pnpm\"\n    runs-on: ${{ matrix.os }}-latest\n    strategy:\n      fail-fast: false\n      matrix:\n        os: [ubuntu, windows]\n    steps:\n      # install node\n      - name: Use Node.js 18\n        uses: actions/setup-node@v3\n        with:\n          node-version: 18\n      - name: Test\n        run: |\n          corepack enable\n          corepack prepare pnpm@latest --activate\n          pnpm --version\n          echo '{\"scripts\": {\"test\": \"ts-node -vvv\"}}' > package.json\n          pnpm install https://github.com/TypeStrong/ts-node#${{ github.ref_name }}\n          pnpm test\n  yarn:\n    name: \"yarn\"\n    runs-on: ${{ matrix.os }}-latest\n    strategy:\n      fail-fast: false\n      matrix:\n        os: [ubuntu, windows]\n    steps:\n      # install node\n      - name: Use Node.js 18\n        uses: actions/setup-node@v3\n        with:\n          node-version: 18\n      - name: Test\n        run: |\n          corepack enable\n          corepack prepare yarn@stable --activate\n          yarn --version\n          echo '{\"scripts\": {\"test\": \"ts-node -vvv\"}}' > package.json\n          yarn add ts-node@https://github.com/TypeStrong/ts-node#${{ github.ref_name }}\n          yarn add typescript\n          yarn test\n  yarn1:\n    name: \"yarn1 (officially *not* supported)\"\n    runs-on: ${{ matrix.os }}-latest\n    continue-on-error: true\n    strategy:\n      fail-fast: false\n      matrix:\n        os: [ubuntu, windows]\n    steps:\n      # install node\n      - name: Use Node.js 18\n        uses: actions/setup-node@v3\n        with:\n          node-version: 18\n      - name: Test\n        run: |\n          npm install -g yarn\n          yarn --version\n          yarn cache list\n          echo '{\"scripts\": {\"test\": \"ts-node -vvv\"}}' > package.json\n          yarn add https://github.com/TypeStrong/ts-node#${{ github.ref_name }}\n          yarn test\n"
  },
  {
    "path": ".github/workflows/website.yml",
    "content": "name: Publish website\non:\n  # branches pushed by collaborators\n  push:\n    branches:\n      - docs\npermissions: {}\njobs:\n  build:\n    permissions:\n      contents: write\n    name: Build & Deploy\n    runs-on: ubuntu-20.04\n    steps:\n      # checkout code\n      - uses: actions/checkout@v2\n      # install node\n      - name: Use Node.js 18\n        uses: actions/setup-node@v3\n        with:\n          node-version: 18\n      # Render typedoc\n      - run: npm install && npx typedoc\n      # Render docusaurus and deploy website\n      - run: |\n          set -euo pipefail\n          git config --global user.name \"GitHub Action\"\n          git config --global user.email \"github-action@users.noreply.github.com\"\n          cd website\n          yarn\n          yarn deploy\n        env:\n          GIT_USER: ${{ github.actor }}\n          GIT_PASS: ${{ secrets.GITHUB_TOKEN }}\n"
  },
  {
    "path": ".gitignore",
    "content": "/node_modules/\n/tests/node_modules/\n/.nyc_output/\n/coverage/\n.DS_Store\nnpm-debug.log\n/dist/\n/tsconfig.schema.json\n/tsconfig.schemastore-schema.json\n/.idea/\n/.vscode/*\n!/.vscode/launch.json\n/website/static/api\n/tsconfig.tsbuildinfo\n/temp\n/tmp\n/yarn-error.log\n/.yarn/install-state.gz\n/tests/.yarn/install-state.gz\n/tests/.yarn/cache\n"
  },
  {
    "path": ".vscode/launch.json",
    "content": "{\n  \"configurations\": [\n    {\n      \"name\": \"Debug AVA test file\",\n      \"type\": \"node\",\n      \"request\": \"launch\",\n      \"preLaunchTask\": \"npm: pre-debug\",\n      \"runtimeExecutable\": \"${workspaceFolder}/node_modules/.bin/ava\",\n      \"program\": \"${file}\",\n      \"outputCapture\": \"std\",\n      \"skipFiles\": [\n        \"<node_internals>/**/*.js\"\n      ]\n    },\n    {\n      \"name\": \"Debug resolver test\",\n      \"type\": \"pwa-node\",\n      \"request\": \"launch\",\n      \"cwd\": \"${workspaceFolder}/tests/tmp/resolver-0029-preferSrc-typeModule-allowJs-skipIgnore-experimentalSpecifierResolutionNode\",\n      \"runtimeArgs\": [\n        \"--loader\",\n        \"../../../esm.mjs\"\n      ],\n      \"program\": \"./src/entrypoint-0000-src-to-src.cjs\"\n    },\n    {\n      \"name\": \"Debug Example: running a test fixture against local ts-node/esm loader\",\n      \"type\": \"pwa-node\",\n      \"request\": \"launch\",\n      \"cwd\": \"${workspaceFolder}/tests/esm\",\n      \"runtimeArgs\": [\n        \"--loader\",\n        \"../../ts-node/esm\"\n      ],\n      \"program\": \"throw error.ts\",\n      \"outputCapture\": \"std\",\n      \"skipFiles\": [\n        \"<node_internals>/**/*.js\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": ".yarn/plugins/@yarnpkg/plugin-compat.cjs",
    "content": "// No-op plugin to disable yarn's own plugin-compat, preventing any unexpected\n// modifications to the typescript package and others\nmodule.exports = {\n  name: `@yarnpkg/plugin-compat`,\n  factory: require => ({})\n};\n"
  },
  {
    "path": ".yarn/releases/yarn-3.4.1.cjs",
    "content": "#!/usr/bin/env node\n/* eslint-disable */\n//prettier-ignore\n(()=>{var Mue=Object.create;var Wb=Object.defineProperty;var Kue=Object.getOwnPropertyDescriptor;var Uue=Object.getOwnPropertyNames;var Hue=Object.getPrototypeOf,Gue=Object.prototype.hasOwnProperty;var J=(r=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(r,{get:(e,t)=>(typeof require<\"u\"?require:e)[t]}):r)(function(r){if(typeof require<\"u\")return require.apply(this,arguments);throw new Error('Dynamic require of \"'+r+'\" is not supported')});var Yue=(r,e)=>()=>(r&&(e=r(r=0)),e);var w=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ut=(r,e)=>{for(var t in e)Wb(r,t,{get:e[t],enumerable:!0})},jue=(r,e,t,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of Uue(e))!Gue.call(r,n)&&n!==t&&Wb(r,n,{get:()=>e[n],enumerable:!(i=Kue(e,n))||i.enumerable});return r};var Pe=(r,e,t)=>(t=r!=null?Mue(Hue(r)):{},jue(e||!r||!r.__esModule?Wb(t,\"default\",{value:r,enumerable:!0}):t,r));var _1=w((O7e,X1)=>{X1.exports=V1;V1.sync=uge;var W1=J(\"fs\");function cge(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(\";\"),t.indexOf(\"\")!==-1))return!0;for(var i=0;i<t.length;i++){var n=t[i].toLowerCase();if(n&&r.substr(-n.length).toLowerCase()===n)return!0}return!1}function z1(r,e,t){return!r.isSymbolicLink()&&!r.isFile()?!1:cge(e,t)}function V1(r,e,t){W1.stat(r,function(i,n){t(i,i?!1:z1(n,r,e))})}function uge(r,e){return z1(W1.statSync(r),r,e)}});var rK=w((M7e,tK)=>{tK.exports=$1;$1.sync=gge;var Z1=J(\"fs\");function $1(r,e,t){Z1.stat(r,function(i,n){t(i,i?!1:eK(n,e))})}function gge(r,e){return eK(Z1.statSync(r),e)}function eK(r,e){return r.isFile()&&fge(r,e)}function fge(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt(\"100\",8),l=parseInt(\"010\",8),c=parseInt(\"001\",8),u=a|l,g=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return g}});var nK=w((U7e,iK)=>{var K7e=J(\"fs\"),_E;process.platform===\"win32\"||global.TESTING_WINDOWS?_E=_1():_E=rK();iK.exports=uS;uS.sync=hge;function uS(r,e,t){if(typeof e==\"function\"&&(t=e,e={}),!t){if(typeof Promise!=\"function\")throw new TypeError(\"callback not provided\");return new Promise(function(i,n){uS(r,e||{},function(s,o){s?n(s):i(o)})})}_E(r,e||{},function(i,n){i&&(i.code===\"EACCES\"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function hge(r,e){try{return _E.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code===\"EACCES\")return!1;throw t}}});var uK=w((H7e,cK)=>{var Ig=process.platform===\"win32\"||process.env.OSTYPE===\"cygwin\"||process.env.OSTYPE===\"msys\",sK=J(\"path\"),pge=Ig?\";\":\":\",oK=nK(),aK=r=>Object.assign(new Error(`not found: ${r}`),{code:\"ENOENT\"}),AK=(r,e)=>{let t=e.colon||pge,i=r.match(/\\//)||Ig&&r.match(/\\\\/)?[\"\"]:[...Ig?[process.cwd()]:[],...(e.path||process.env.PATH||\"\").split(t)],n=Ig?e.pathExt||process.env.PATHEXT||\".EXE;.CMD;.BAT;.COM\":\"\",s=Ig?n.split(t):[\"\"];return Ig&&r.indexOf(\".\")!==-1&&s[0]!==\"\"&&s.unshift(\"\"),{pathEnv:i,pathExt:s,pathExtExe:n}},lK=(r,e,t)=>{typeof e==\"function\"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=AK(r,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(aK(r));let f=i[c],h=/^\".*\"$/.test(f)?f.slice(1,-1):f,p=sK.join(h,r),C=!h&&/^\\.[\\\\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(C,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];oK(c+p,{pathExt:s},(C,y)=>{if(!C&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},dge=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=AK(r,e),s=[];for(let o=0;o<t.length;o++){let a=t[o],l=/^\".*\"$/.test(a)?a.slice(1,-1):a,c=sK.join(l,r),u=!l&&/^\\.[\\\\\\/]/.test(r)?r.slice(0,2)+c:c;for(let g=0;g<i.length;g++){let f=u+i[g];try{if(oK.sync(f,{pathExt:n}))if(e.all)s.push(f);else return f}catch{}}}if(e.all&&s.length)return s;if(e.nothrow)return null;throw aK(r)};cK.exports=lK;lK.sync=dge});var fK=w((G7e,gS)=>{\"use strict\";var gK=(r={})=>{let e=r.env||process.env;return(r.platform||process.platform)!==\"win32\"?\"PATH\":Object.keys(e).reverse().find(i=>i.toUpperCase()===\"PATH\")||\"Path\"};gS.exports=gK;gS.exports.default=gK});var CK=w((Y7e,dK)=>{\"use strict\";var hK=J(\"path\"),Cge=uK(),mge=fK();function pK(r,e){let t=r.options.env||process.env,i=process.cwd(),n=r.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(r.options.cwd)}catch{}let o;try{o=Cge.sync(r.command,{path:t[mge({env:t})],pathExt:e?hK.delimiter:void 0})}catch{}finally{s&&process.chdir(i)}return o&&(o=hK.resolve(n?r.options.cwd:\"\",o)),o}function Ege(r){return pK(r)||pK(r,!0)}dK.exports=Ege});var mK=w((j7e,hS)=>{\"use strict\";var fS=/([()\\][%!^\"`<>&|;, *?])/g;function Ige(r){return r=r.replace(fS,\"^$1\"),r}function yge(r,e){return r=`${r}`,r=r.replace(/(\\\\*)\"/g,'$1$1\\\\\"'),r=r.replace(/(\\\\*)$/,\"$1$1\"),r=`\"${r}\"`,r=r.replace(fS,\"^$1\"),e&&(r=r.replace(fS,\"^$1\")),r}hS.exports.command=Ige;hS.exports.argument=yge});var IK=w((q7e,EK)=>{\"use strict\";EK.exports=/^#!(.*)/});var wK=w((J7e,yK)=>{\"use strict\";var wge=IK();yK.exports=(r=\"\")=>{let e=r.match(wge);if(!e)return null;let[t,i]=e[0].replace(/#! ?/,\"\").split(\" \"),n=t.split(\"/\").pop();return n===\"env\"?i:i?`${n} ${i}`:n}});var QK=w((W7e,BK)=>{\"use strict\";var pS=J(\"fs\"),Bge=wK();function Qge(r){let t=Buffer.alloc(150),i;try{i=pS.openSync(r,\"r\"),pS.readSync(i,t,0,150,0),pS.closeSync(i)}catch{}return Bge(t.toString())}BK.exports=Qge});var xK=w((z7e,vK)=>{\"use strict\";var bge=J(\"path\"),bK=CK(),SK=mK(),Sge=QK(),vge=process.platform===\"win32\",xge=/\\.(?:com|exe)$/i,Pge=/node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;function Dge(r){r.file=bK(r);let e=r.file&&Sge(r.file);return e?(r.args.unshift(r.file),r.command=e,bK(r)):r.file}function kge(r){if(!vge)return r;let e=Dge(r),t=!xge.test(e);if(r.options.forceShell||t){let i=Pge.test(e);r.command=bge.normalize(r.command),r.command=SK.command(r.command),r.args=r.args.map(s=>SK.argument(s,i));let n=[r.command].concat(r.args).join(\" \");r.args=[\"/d\",\"/s\",\"/c\",`\"${n}\"`],r.command=process.env.comspec||\"cmd.exe\",r.options.windowsVerbatimArguments=!0}return r}function Rge(r,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let i={command:r,args:e,options:t,file:void 0,original:{command:r,args:e}};return t.shell?i:kge(i)}vK.exports=Rge});var kK=w((V7e,DK)=>{\"use strict\";var dS=process.platform===\"win32\";function CS(r,e){return Object.assign(new Error(`${e} ${r.command} ENOENT`),{code:\"ENOENT\",errno:\"ENOENT\",syscall:`${e} ${r.command}`,path:r.command,spawnargs:r.args})}function Fge(r,e){if(!dS)return;let t=r.emit;r.emit=function(i,n){if(i===\"exit\"){let s=PK(n,e,\"spawn\");if(s)return t.call(r,\"error\",s)}return t.apply(r,arguments)}}function PK(r,e){return dS&&r===1&&!e.file?CS(e.original,\"spawn\"):null}function Nge(r,e){return dS&&r===1&&!e.file?CS(e.original,\"spawnSync\"):null}DK.exports={hookChildProcess:Fge,verifyENOENT:PK,verifyENOENTSync:Nge,notFoundError:CS}});var IS=w((X7e,yg)=>{\"use strict\";var RK=J(\"child_process\"),mS=xK(),ES=kK();function FK(r,e,t){let i=mS(r,e,t),n=RK.spawn(i.command,i.args,i.options);return ES.hookChildProcess(n,i),n}function Lge(r,e,t){let i=mS(r,e,t),n=RK.spawnSync(i.command,i.args,i.options);return n.error=n.error||ES.verifyENOENTSync(n.status,i),n}yg.exports=FK;yg.exports.spawn=FK;yg.exports.sync=Lge;yg.exports._parse=mS;yg.exports._enoent=ES});var LK=w((_7e,NK)=>{\"use strict\";function Tge(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Ml(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name=\"SyntaxError\",typeof Error.captureStackTrace==\"function\"&&Error.captureStackTrace(this,Ml)}Tge(Ml,Error);Ml.buildMessage=function(r,e){var t={literal:function(c){return'\"'+n(c.text)+'\"'},class:function(c){var u=\"\",g;for(g=0;g<c.parts.length;g++)u+=c.parts[g]instanceof Array?s(c.parts[g][0])+\"-\"+s(c.parts[g][1]):s(c.parts[g]);return\"[\"+(c.inverted?\"^\":\"\")+u+\"]\"},any:function(c){return\"any character\"},end:function(c){return\"end of input\"},other:function(c){return c.description}};function i(c){return c.charCodeAt(0).toString(16).toUpperCase()}function n(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"').replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function s(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\]/g,\"\\\\]\").replace(/\\^/g,\"\\\\^\").replace(/-/g,\"\\\\-\").replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function o(c){return t[c.type](c)}function a(c){var u=new Array(c.length),g,f;for(g=0;g<c.length;g++)u[g]=o(c[g]);if(u.sort(),u.length>0){for(g=1,f=1;g<u.length;g++)u[g-1]!==u[g]&&(u[f]=u[g],f++);u.length=f}switch(u.length){case 1:return u[0];case 2:return u[0]+\" or \"+u[1];default:return u.slice(0,-1).join(\", \")+\", or \"+u[u.length-1]}}function l(c){return c?'\"'+n(c)+'\"':\"end of input\"}return\"Expected \"+a(r)+\" but \"+l(e)+\" found.\"};function Oge(r,e){e=e!==void 0?e:{};var t={},i={Start:CA},n=CA,s=function(m){return m||[]},o=function(m,b,N){return[{command:m,type:b}].concat(N||[])},a=function(m,b){return[{command:m,type:b||\";\"}]},l=function(m){return m},c=\";\",u=me(\";\",!1),g=\"&\",f=me(\"&\",!1),h=function(m,b){return b?{chain:m,then:b}:{chain:m}},p=function(m,b){return{type:m,line:b}},C=\"&&\",y=me(\"&&\",!1),B=\"||\",v=me(\"||\",!1),D=function(m,b){return b?{...m,then:b}:m},L=function(m,b){return{type:m,chain:b}},H=\"|&\",j=me(\"|&\",!1),$=\"|\",V=me(\"|\",!1),W=\"=\",Z=me(\"=\",!1),A=function(m,b){return{name:m,args:[b]}},ae=function(m){return{name:m,args:[]}},ge=\"(\",re=me(\"(\",!1),O=\")\",F=me(\")\",!1),ue=function(m,b){return{type:\"subshell\",subshell:m,args:b}},he=\"{\",ke=me(\"{\",!1),Fe=\"}\",Ne=me(\"}\",!1),oe=function(m,b){return{type:\"group\",group:m,args:b}},le=function(m,b){return{type:\"command\",args:b,envs:m}},we=function(m){return{type:\"envs\",envs:m}},fe=function(m){return m},Ae=function(m){return m},qe=/^[0-9]/,ne=Je([[\"0\",\"9\"]],!1,!1),Y=function(m,b,N){return{type:\"redirection\",subtype:b,fd:m!==null?parseInt(m):null,args:[N]}},pe=\">>\",ie=me(\">>\",!1),de=\">&\",tt=me(\">&\",!1),Pt=\">\",It=me(\">\",!1),Or=\"<<<\",ii=me(\"<<<\",!1),gi=\"<&\",hr=me(\"<&\",!1),fi=\"<\",ni=me(\"<\",!1),Ls=function(m){return{type:\"argument\",segments:[].concat(...m)}},pr=function(m){return m},Ei=\"$'\",_n=me(\"$'\",!1),oa=\"'\",aA=me(\"'\",!1),eg=function(m){return[{type:\"text\",text:m}]},Zn='\"\"',AA=me('\"\"',!1),aa=function(){return{type:\"text\",text:\"\"}},up='\"',lA=me('\"',!1),cA=function(m){return m},wr=function(m){return{type:\"arithmetic\",arithmetic:m,quoted:!0}},wl=function(m){return{type:\"shell\",shell:m,quoted:!0}},tg=function(m){return{type:\"variable\",...m,quoted:!0}},po=function(m){return{type:\"text\",text:m}},rg=function(m){return{type:\"arithmetic\",arithmetic:m,quoted:!1}},gp=function(m){return{type:\"shell\",shell:m,quoted:!1}},fp=function(m){return{type:\"variable\",...m,quoted:!1}},vr=function(m){return{type:\"glob\",pattern:m}},se=/^[^']/,Co=Je([\"'\"],!0,!1),Dn=function(m){return m.join(\"\")},ig=/^[^$\"]/,Qt=Je([\"$\",'\"'],!0,!1),Bl=`\\\\\n`,kn=me(`\\\\\n`,!1),$n=function(){return\"\"},es=\"\\\\\",gt=me(\"\\\\\",!1),mo=/^[\\\\$\"`]/,At=Je([\"\\\\\",\"$\",'\"',\"`\"],!1,!1),an=function(m){return m},S=\"\\\\a\",Tt=me(\"\\\\a\",!1),ng=function(){return\"a\"},Ql=\"\\\\b\",hp=me(\"\\\\b\",!1),pp=function(){return\"\\b\"},dp=/^[Ee]/,Cp=Je([\"E\",\"e\"],!1,!1),mp=function(){return\"\\x1B\"},G=\"\\\\f\",yt=me(\"\\\\f\",!1),uA=function(){return\"\\f\"},ji=\"\\\\n\",bl=me(\"\\\\n\",!1),Xe=function(){return`\n`},Aa=\"\\\\r\",sg=me(\"\\\\r\",!1),bE=function(){return\"\\r\"},Ep=\"\\\\t\",SE=me(\"\\\\t\",!1),ar=function(){return\"\t\"},Rn=\"\\\\v\",Sl=me(\"\\\\v\",!1),Ip=function(){return\"\\v\"},Ts=/^[\\\\'\"?]/,la=Je([\"\\\\\",\"'\",'\"',\"?\"],!1,!1),An=function(m){return String.fromCharCode(parseInt(m,16))},Te=\"\\\\x\",og=me(\"\\\\x\",!1),vl=\"\\\\u\",Os=me(\"\\\\u\",!1),xl=\"\\\\U\",gA=me(\"\\\\U\",!1),ag=function(m){return String.fromCodePoint(parseInt(m,16))},Ag=/^[0-7]/,ca=Je([[\"0\",\"7\"]],!1,!1),ua=/^[0-9a-fA-f]/,rt=Je([[\"0\",\"9\"],[\"a\",\"f\"],[\"A\",\"f\"]],!1,!1),Eo=nt(),fA=\"-\",Pl=me(\"-\",!1),Ms=\"+\",Dl=me(\"+\",!1),vE=\".\",yp=me(\".\",!1),lg=function(m,b,N){return{type:\"number\",value:(m===\"-\"?-1:1)*parseFloat(b.join(\"\")+\".\"+N.join(\"\"))}},wp=function(m,b){return{type:\"number\",value:(m===\"-\"?-1:1)*parseInt(b.join(\"\"))}},xE=function(m){return{type:\"variable\",...m}},kl=function(m){return{type:\"variable\",name:m}},PE=function(m){return m},cg=\"*\",hA=me(\"*\",!1),Rr=\"/\",DE=me(\"/\",!1),Ks=function(m,b,N){return{type:b===\"*\"?\"multiplication\":\"division\",right:N}},Us=function(m,b){return b.reduce((N,U)=>({left:N,...U}),m)},ug=function(m,b,N){return{type:b===\"+\"?\"addition\":\"subtraction\",right:N}},pA=\"$((\",R=me(\"$((\",!1),q=\"))\",Ce=me(\"))\",!1),Ke=function(m){return m},Re=\"$(\",ze=me(\"$(\",!1),dt=function(m){return m},Ft=\"${\",Fn=me(\"${\",!1),Db=\":-\",$M=me(\":-\",!1),e1=function(m,b){return{name:m,defaultValue:b}},kb=\":-}\",t1=me(\":-}\",!1),r1=function(m){return{name:m,defaultValue:[]}},Rb=\":+\",i1=me(\":+\",!1),n1=function(m,b){return{name:m,alternativeValue:b}},Fb=\":+}\",s1=me(\":+}\",!1),o1=function(m){return{name:m,alternativeValue:[]}},Nb=function(m){return{name:m}},a1=\"$\",A1=me(\"$\",!1),l1=function(m){return e.isGlobPattern(m)},c1=function(m){return m},Lb=/^[a-zA-Z0-9_]/,Tb=Je([[\"a\",\"z\"],[\"A\",\"Z\"],[\"0\",\"9\"],\"_\"],!1,!1),Ob=function(){return T()},Mb=/^[$@*?#a-zA-Z0-9_\\-]/,Kb=Je([\"$\",\"@\",\"*\",\"?\",\"#\",[\"a\",\"z\"],[\"A\",\"Z\"],[\"0\",\"9\"],\"_\",\"-\"],!1,!1),u1=/^[(){}<>$|&; \\t\"']/,gg=Je([\"(\",\")\",\"{\",\"}\",\"<\",\">\",\"$\",\"|\",\"&\",\";\",\" \",\"\t\",'\"',\"'\"],!1,!1),Ub=/^[<>&; \\t\"']/,Hb=Je([\"<\",\">\",\"&\",\";\",\" \",\"\t\",'\"',\"'\"],!1,!1),kE=/^[ \\t]/,RE=Je([\" \",\"\t\"],!1,!1),Q=0,Me=0,dA=[{line:1,column:1}],d=0,E=[],I=0,k;if(\"startRule\"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule \"`+e.startRule+'\".');n=i[e.startRule]}function T(){return r.substring(Me,Q)}function _(){return Et(Me,Q)}function te(m,b){throw b=b!==void 0?b:Et(Me,Q),ki([lt(m)],r.substring(Me,Q),b)}function Be(m,b){throw b=b!==void 0?b:Et(Me,Q),Nn(m,b)}function me(m,b){return{type:\"literal\",text:m,ignoreCase:b}}function Je(m,b,N){return{type:\"class\",parts:m,inverted:b,ignoreCase:N}}function nt(){return{type:\"any\"}}function wt(){return{type:\"end\"}}function lt(m){return{type:\"other\",description:m}}function it(m){var b=dA[m],N;if(b)return b;for(N=m-1;!dA[N];)N--;for(b=dA[N],b={line:b.line,column:b.column};N<m;)r.charCodeAt(N)===10?(b.line++,b.column=1):b.column++,N++;return dA[m]=b,b}function Et(m,b){var N=it(m),U=it(b);return{start:{offset:m,line:N.line,column:N.column},end:{offset:b,line:U.line,column:U.column}}}function Qe(m){Q<d||(Q>d&&(d=Q,E=[]),E.push(m))}function Nn(m,b){return new Ml(m,null,null,b)}function ki(m,b,N){return new Ml(Ml.buildMessage(m,b),m,b,N)}function CA(){var m,b;return m=Q,b=Mr(),b===t&&(b=null),b!==t&&(Me=m,b=s(b)),m=b,m}function Mr(){var m,b,N,U,ce;if(m=Q,b=Kr(),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=ga(),U!==t?(ce=ts(),ce===t&&(ce=null),ce!==t?(Me=m,b=o(b,U,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;if(m===t)if(m=Q,b=Kr(),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=ga(),U===t&&(U=null),U!==t?(Me=m,b=a(b,U),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;return m}function ts(){var m,b,N,U,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=Mr(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=l(N),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;return m}function ga(){var m;return r.charCodeAt(Q)===59?(m=c,Q++):(m=t,I===0&&Qe(u)),m===t&&(r.charCodeAt(Q)===38?(m=g,Q++):(m=t,I===0&&Qe(f))),m}function Kr(){var m,b,N;return m=Q,b=g1(),b!==t?(N=yue(),N===t&&(N=null),N!==t?(Me=m,b=h(b,N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function yue(){var m,b,N,U,ce,Se,ht;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=wue(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Kr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=p(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;return m}function wue(){var m;return r.substr(Q,2)===C?(m=C,Q+=2):(m=t,I===0&&Qe(y)),m===t&&(r.substr(Q,2)===B?(m=B,Q+=2):(m=t,I===0&&Qe(v))),m}function g1(){var m,b,N;return m=Q,b=bue(),b!==t?(N=Bue(),N===t&&(N=null),N!==t?(Me=m,b=D(b,N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function Bue(){var m,b,N,U,ce,Se,ht;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=Que(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=g1(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=L(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;return m}function Que(){var m;return r.substr(Q,2)===H?(m=H,Q+=2):(m=t,I===0&&Qe(j)),m===t&&(r.charCodeAt(Q)===124?(m=$,Q++):(m=t,I===0&&Qe(V))),m}function FE(){var m,b,N,U,ce,Se;if(m=Q,b=Q1(),b!==t)if(r.charCodeAt(Q)===61?(N=W,Q++):(N=t,I===0&&Qe(Z)),N!==t)if(U=p1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(Me=m,b=A(b,U),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;else Q=m,m=t;if(m===t)if(m=Q,b=Q1(),b!==t)if(r.charCodeAt(Q)===61?(N=W,Q++):(N=t,I===0&&Qe(Z)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=ae(b),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;return m}function bue(){var m,b,N,U,ce,Se,ht,Bt,Jr,hi,rs;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(r.charCodeAt(Q)===40?(N=ge,Q++):(N=t,I===0&&Qe(re)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Mr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(Q)===41?(ht=O,Q++):(ht=t,I===0&&Qe(F)),ht!==t){for(Bt=[],Jr=He();Jr!==t;)Bt.push(Jr),Jr=He();if(Bt!==t){for(Jr=[],hi=Bp();hi!==t;)Jr.push(hi),hi=Bp();if(Jr!==t){for(hi=[],rs=He();rs!==t;)hi.push(rs),rs=He();hi!==t?(Me=m,b=ue(ce,Jr),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(r.charCodeAt(Q)===123?(N=he,Q++):(N=t,I===0&&Qe(ke)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Mr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(Q)===125?(ht=Fe,Q++):(ht=t,I===0&&Qe(Ne)),ht!==t){for(Bt=[],Jr=He();Jr!==t;)Bt.push(Jr),Jr=He();if(Bt!==t){for(Jr=[],hi=Bp();hi!==t;)Jr.push(hi),hi=Bp();if(Jr!==t){for(hi=[],rs=He();rs!==t;)hi.push(rs),rs=He();hi!==t?(Me=m,b=oe(ce,Jr),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){for(N=[],U=FE();U!==t;)N.push(U),U=FE();if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t){if(ce=[],Se=h1(),Se!==t)for(;Se!==t;)ce.push(Se),Se=h1();else ce=t;if(ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=le(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){if(N=[],U=FE(),U!==t)for(;U!==t;)N.push(U),U=FE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=we(N),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}}}return m}function f1(){var m,b,N,U,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){if(N=[],U=NE(),U!==t)for(;U!==t;)N.push(U),U=NE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=fe(N),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t;return m}function h1(){var m,b,N;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t?(N=Bp(),N!==t?(Me=m,b=Ae(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();b!==t?(N=NE(),N!==t?(Me=m,b=Ae(N),m=b):(Q=m,m=t)):(Q=m,m=t)}return m}function Bp(){var m,b,N,U,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();return b!==t?(qe.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(ne)),N===t&&(N=null),N!==t?(U=Sue(),U!==t?(ce=NE(),ce!==t?(Me=m,b=Y(N,U,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function Sue(){var m;return r.substr(Q,2)===pe?(m=pe,Q+=2):(m=t,I===0&&Qe(ie)),m===t&&(r.substr(Q,2)===de?(m=de,Q+=2):(m=t,I===0&&Qe(tt)),m===t&&(r.charCodeAt(Q)===62?(m=Pt,Q++):(m=t,I===0&&Qe(It)),m===t&&(r.substr(Q,3)===Or?(m=Or,Q+=3):(m=t,I===0&&Qe(ii)),m===t&&(r.substr(Q,2)===gi?(m=gi,Q+=2):(m=t,I===0&&Qe(hr)),m===t&&(r.charCodeAt(Q)===60?(m=fi,Q++):(m=t,I===0&&Qe(ni))))))),m}function NE(){var m,b,N;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();return b!==t?(N=p1(),N!==t?(Me=m,b=Ae(N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function p1(){var m,b,N;if(m=Q,b=[],N=d1(),N!==t)for(;N!==t;)b.push(N),N=d1();else b=t;return b!==t&&(Me=m,b=Ls(b)),m=b,m}function d1(){var m,b;return m=Q,b=vue(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=xue(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=Pue(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=Due(),b!==t&&(Me=m,b=pr(b)),m=b))),m}function vue(){var m,b,N,U;return m=Q,r.substr(Q,2)===Ei?(b=Ei,Q+=2):(b=t,I===0&&Qe(_n)),b!==t?(N=Fue(),N!==t?(r.charCodeAt(Q)===39?(U=oa,Q++):(U=t,I===0&&Qe(aA)),U!==t?(Me=m,b=eg(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function xue(){var m,b,N,U;return m=Q,r.charCodeAt(Q)===39?(b=oa,Q++):(b=t,I===0&&Qe(aA)),b!==t?(N=kue(),N!==t?(r.charCodeAt(Q)===39?(U=oa,Q++):(U=t,I===0&&Qe(aA)),U!==t?(Me=m,b=eg(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function Pue(){var m,b,N,U;if(m=Q,r.substr(Q,2)===Zn?(b=Zn,Q+=2):(b=t,I===0&&Qe(AA)),b!==t&&(Me=m,b=aa()),m=b,m===t)if(m=Q,r.charCodeAt(Q)===34?(b=up,Q++):(b=t,I===0&&Qe(lA)),b!==t){for(N=[],U=C1();U!==t;)N.push(U),U=C1();N!==t?(r.charCodeAt(Q)===34?(U=up,Q++):(U=t,I===0&&Qe(lA)),U!==t?(Me=m,b=cA(N),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;return m}function Due(){var m,b,N;if(m=Q,b=[],N=m1(),N!==t)for(;N!==t;)b.push(N),N=m1();else b=t;return b!==t&&(Me=m,b=cA(b)),m=b,m}function C1(){var m,b;return m=Q,b=w1(),b!==t&&(Me=m,b=wr(b)),m=b,m===t&&(m=Q,b=B1(),b!==t&&(Me=m,b=wl(b)),m=b,m===t&&(m=Q,b=qb(),b!==t&&(Me=m,b=tg(b)),m=b,m===t&&(m=Q,b=Rue(),b!==t&&(Me=m,b=po(b)),m=b))),m}function m1(){var m,b;return m=Q,b=w1(),b!==t&&(Me=m,b=rg(b)),m=b,m===t&&(m=Q,b=B1(),b!==t&&(Me=m,b=gp(b)),m=b,m===t&&(m=Q,b=qb(),b!==t&&(Me=m,b=fp(b)),m=b,m===t&&(m=Q,b=Tue(),b!==t&&(Me=m,b=vr(b)),m=b,m===t&&(m=Q,b=Lue(),b!==t&&(Me=m,b=po(b)),m=b)))),m}function kue(){var m,b,N;for(m=Q,b=[],se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Co));N!==t;)b.push(N),se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Co));return b!==t&&(Me=m,b=Dn(b)),m=b,m}function Rue(){var m,b,N;if(m=Q,b=[],N=E1(),N===t&&(ig.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Qt))),N!==t)for(;N!==t;)b.push(N),N=E1(),N===t&&(ig.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Qt)));else b=t;return b!==t&&(Me=m,b=Dn(b)),m=b,m}function E1(){var m,b,N;return m=Q,r.substr(Q,2)===Bl?(b=Bl,Q+=2):(b=t,I===0&&Qe(kn)),b!==t&&(Me=m,b=$n()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=es,Q++):(b=t,I===0&&Qe(gt)),b!==t?(mo.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(At)),N!==t?(Me=m,b=an(N),m=b):(Q=m,m=t)):(Q=m,m=t)),m}function Fue(){var m,b,N;for(m=Q,b=[],N=I1(),N===t&&(se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Co)));N!==t;)b.push(N),N=I1(),N===t&&(se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Co)));return b!==t&&(Me=m,b=Dn(b)),m=b,m}function I1(){var m,b,N;return m=Q,r.substr(Q,2)===S?(b=S,Q+=2):(b=t,I===0&&Qe(Tt)),b!==t&&(Me=m,b=ng()),m=b,m===t&&(m=Q,r.substr(Q,2)===Ql?(b=Ql,Q+=2):(b=t,I===0&&Qe(hp)),b!==t&&(Me=m,b=pp()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=es,Q++):(b=t,I===0&&Qe(gt)),b!==t?(dp.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Cp)),N!==t?(Me=m,b=mp(),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===G?(b=G,Q+=2):(b=t,I===0&&Qe(yt)),b!==t&&(Me=m,b=uA()),m=b,m===t&&(m=Q,r.substr(Q,2)===ji?(b=ji,Q+=2):(b=t,I===0&&Qe(bl)),b!==t&&(Me=m,b=Xe()),m=b,m===t&&(m=Q,r.substr(Q,2)===Aa?(b=Aa,Q+=2):(b=t,I===0&&Qe(sg)),b!==t&&(Me=m,b=bE()),m=b,m===t&&(m=Q,r.substr(Q,2)===Ep?(b=Ep,Q+=2):(b=t,I===0&&Qe(SE)),b!==t&&(Me=m,b=ar()),m=b,m===t&&(m=Q,r.substr(Q,2)===Rn?(b=Rn,Q+=2):(b=t,I===0&&Qe(Sl)),b!==t&&(Me=m,b=Ip()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=es,Q++):(b=t,I===0&&Qe(gt)),b!==t?(Ts.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(la)),N!==t?(Me=m,b=an(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Nue()))))))))),m}function Nue(){var m,b,N,U,ce,Se,ht,Bt,Jr,hi,rs,Jb;return m=Q,r.charCodeAt(Q)===92?(b=es,Q++):(b=t,I===0&&Qe(gt)),b!==t?(N=Gb(),N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Te?(b=Te,Q+=2):(b=t,I===0&&Qe(og)),b!==t?(N=Q,U=Q,ce=Gb(),ce!==t?(Se=Ln(),Se!==t?(ce=[ce,Se],U=ce):(Q=U,U=t)):(Q=U,U=t),U===t&&(U=Gb()),U!==t?N=r.substring(N,Q):N=U,N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===vl?(b=vl,Q+=2):(b=t,I===0&&Qe(Os)),b!==t?(N=Q,U=Q,ce=Ln(),ce!==t?(Se=Ln(),Se!==t?(ht=Ln(),ht!==t?(Bt=Ln(),Bt!==t?(ce=[ce,Se,ht,Bt],U=ce):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t),U!==t?N=r.substring(N,Q):N=U,N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===xl?(b=xl,Q+=2):(b=t,I===0&&Qe(gA)),b!==t?(N=Q,U=Q,ce=Ln(),ce!==t?(Se=Ln(),Se!==t?(ht=Ln(),ht!==t?(Bt=Ln(),Bt!==t?(Jr=Ln(),Jr!==t?(hi=Ln(),hi!==t?(rs=Ln(),rs!==t?(Jb=Ln(),Jb!==t?(ce=[ce,Se,ht,Bt,Jr,hi,rs,Jb],U=ce):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t),U!==t?N=r.substring(N,Q):N=U,N!==t?(Me=m,b=ag(N),m=b):(Q=m,m=t)):(Q=m,m=t)))),m}function Gb(){var m;return Ag.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(ca)),m}function Ln(){var m;return ua.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(rt)),m}function Lue(){var m,b,N,U,ce;if(m=Q,b=[],N=Q,r.charCodeAt(Q)===92?(U=es,Q++):(U=t,I===0&&Qe(gt)),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t),N===t&&(N=Q,U=Q,I++,ce=b1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t)),N!==t)for(;N!==t;)b.push(N),N=Q,r.charCodeAt(Q)===92?(U=es,Q++):(U=t,I===0&&Qe(gt)),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t),N===t&&(N=Q,U=Q,I++,ce=b1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t));else b=t;return b!==t&&(Me=m,b=Dn(b)),m=b,m}function Yb(){var m,b,N,U,ce,Se;if(m=Q,r.charCodeAt(Q)===45?(b=fA,Q++):(b=t,I===0&&Qe(Pl)),b===t&&(r.charCodeAt(Q)===43?(b=Ms,Q++):(b=t,I===0&&Qe(Dl))),b===t&&(b=null),b!==t){if(N=[],qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne));else N=t;if(N!==t)if(r.charCodeAt(Q)===46?(U=vE,Q++):(U=t,I===0&&Qe(yp)),U!==t){if(ce=[],qe.test(r.charAt(Q))?(Se=r.charAt(Q),Q++):(Se=t,I===0&&Qe(ne)),Se!==t)for(;Se!==t;)ce.push(Se),qe.test(r.charAt(Q))?(Se=r.charAt(Q),Q++):(Se=t,I===0&&Qe(ne));else ce=t;ce!==t?(Me=m,b=lg(b,N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;if(m===t){if(m=Q,r.charCodeAt(Q)===45?(b=fA,Q++):(b=t,I===0&&Qe(Pl)),b===t&&(r.charCodeAt(Q)===43?(b=Ms,Q++):(b=t,I===0&&Qe(Dl))),b===t&&(b=null),b!==t){if(N=[],qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne));else N=t;N!==t?(Me=m,b=wp(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;if(m===t&&(m=Q,b=qb(),b!==t&&(Me=m,b=xE(b)),m=b,m===t&&(m=Q,b=Rl(),b!==t&&(Me=m,b=kl(b)),m=b,m===t)))if(m=Q,r.charCodeAt(Q)===40?(b=ge,Q++):(b=t,I===0&&Qe(re)),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=y1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.charCodeAt(Q)===41?(Se=O,Q++):(Se=t,I===0&&Qe(F)),Se!==t?(Me=m,b=PE(U),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t}return m}function jb(){var m,b,N,U,ce,Se,ht,Bt;if(m=Q,b=Yb(),b!==t){for(N=[],U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===42?(Se=cg,Q++):(Se=t,I===0&&Qe(hA)),Se===t&&(r.charCodeAt(Q)===47?(Se=Rr,Q++):(Se=t,I===0&&Qe(DE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=Yb(),Bt!==t?(Me=U,ce=Ks(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t;for(;U!==t;){for(N.push(U),U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===42?(Se=cg,Q++):(Se=t,I===0&&Qe(hA)),Se===t&&(r.charCodeAt(Q)===47?(Se=Rr,Q++):(Se=t,I===0&&Qe(DE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=Yb(),Bt!==t?(Me=U,ce=Ks(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t}N!==t?(Me=m,b=Us(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;return m}function y1(){var m,b,N,U,ce,Se,ht,Bt;if(m=Q,b=jb(),b!==t){for(N=[],U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===43?(Se=Ms,Q++):(Se=t,I===0&&Qe(Dl)),Se===t&&(r.charCodeAt(Q)===45?(Se=fA,Q++):(Se=t,I===0&&Qe(Pl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=jb(),Bt!==t?(Me=U,ce=ug(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t;for(;U!==t;){for(N.push(U),U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===43?(Se=Ms,Q++):(Se=t,I===0&&Qe(Dl)),Se===t&&(r.charCodeAt(Q)===45?(Se=fA,Q++):(Se=t,I===0&&Qe(Pl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=jb(),Bt!==t?(Me=U,ce=ug(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t}N!==t?(Me=m,b=Us(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;return m}function w1(){var m,b,N,U,ce,Se;if(m=Q,r.substr(Q,3)===pA?(b=pA,Q+=3):(b=t,I===0&&Qe(R)),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=y1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.substr(Q,2)===q?(Se=q,Q+=2):(Se=t,I===0&&Qe(Ce)),Se!==t?(Me=m,b=Ke(U),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;return m}function B1(){var m,b,N,U;return m=Q,r.substr(Q,2)===Re?(b=Re,Q+=2):(b=t,I===0&&Qe(ze)),b!==t?(N=Mr(),N!==t?(r.charCodeAt(Q)===41?(U=O,Q++):(U=t,I===0&&Qe(F)),U!==t?(Me=m,b=dt(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function qb(){var m,b,N,U,ce,Se;return m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Fn)),b!==t?(N=Rl(),N!==t?(r.substr(Q,2)===Db?(U=Db,Q+=2):(U=t,I===0&&Qe($M)),U!==t?(ce=f1(),ce!==t?(r.charCodeAt(Q)===125?(Se=Fe,Q++):(Se=t,I===0&&Qe(Ne)),Se!==t?(Me=m,b=e1(N,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Fn)),b!==t?(N=Rl(),N!==t?(r.substr(Q,3)===kb?(U=kb,Q+=3):(U=t,I===0&&Qe(t1)),U!==t?(Me=m,b=r1(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Fn)),b!==t?(N=Rl(),N!==t?(r.substr(Q,2)===Rb?(U=Rb,Q+=2):(U=t,I===0&&Qe(i1)),U!==t?(ce=f1(),ce!==t?(r.charCodeAt(Q)===125?(Se=Fe,Q++):(Se=t,I===0&&Qe(Ne)),Se!==t?(Me=m,b=n1(N,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Fn)),b!==t?(N=Rl(),N!==t?(r.substr(Q,3)===Fb?(U=Fb,Q+=3):(U=t,I===0&&Qe(s1)),U!==t?(Me=m,b=o1(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Fn)),b!==t?(N=Rl(),N!==t?(r.charCodeAt(Q)===125?(U=Fe,Q++):(U=t,I===0&&Qe(Ne)),U!==t?(Me=m,b=Nb(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.charCodeAt(Q)===36?(b=a1,Q++):(b=t,I===0&&Qe(A1)),b!==t?(N=Rl(),N!==t?(Me=m,b=Nb(N),m=b):(Q=m,m=t)):(Q=m,m=t)))))),m}function Tue(){var m,b,N;return m=Q,b=Oue(),b!==t?(Me=Q,N=l1(b),N?N=void 0:N=t,N!==t?(Me=m,b=c1(b),m=b):(Q=m,m=t)):(Q=m,m=t),m}function Oue(){var m,b,N,U,ce;if(m=Q,b=[],N=Q,U=Q,I++,ce=S1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t),N!==t)for(;N!==t;)b.push(N),N=Q,U=Q,I++,ce=S1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t);else b=t;return b!==t&&(Me=m,b=Dn(b)),m=b,m}function Q1(){var m,b,N;if(m=Q,b=[],Lb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Tb)),N!==t)for(;N!==t;)b.push(N),Lb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Tb));else b=t;return b!==t&&(Me=m,b=Ob()),m=b,m}function Rl(){var m,b,N;if(m=Q,b=[],Mb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Kb)),N!==t)for(;N!==t;)b.push(N),Mb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Kb));else b=t;return b!==t&&(Me=m,b=Ob()),m=b,m}function b1(){var m;return u1.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(gg)),m}function S1(){var m;return Ub.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(Hb)),m}function He(){var m,b;if(m=[],kE.test(r.charAt(Q))?(b=r.charAt(Q),Q++):(b=t,I===0&&Qe(RE)),b!==t)for(;b!==t;)m.push(b),kE.test(r.charAt(Q))?(b=r.charAt(Q),Q++):(b=t,I===0&&Qe(RE));else m=t;return m}if(k=n(),k!==t&&Q===r.length)return k;throw k!==t&&Q<r.length&&Qe(wt()),ki(E,d<r.length?r.charAt(d):null,d<r.length?Et(d,d+1):Et(d,d))}NK.exports={SyntaxError:Ml,parse:Oge}});var MK=w((uXe,OK)=>{\"use strict\";function Mge(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Ul(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name=\"SyntaxError\",typeof Error.captureStackTrace==\"function\"&&Error.captureStackTrace(this,Ul)}Mge(Ul,Error);Ul.buildMessage=function(r,e){var t={literal:function(c){return'\"'+n(c.text)+'\"'},class:function(c){var u=\"\",g;for(g=0;g<c.parts.length;g++)u+=c.parts[g]instanceof Array?s(c.parts[g][0])+\"-\"+s(c.parts[g][1]):s(c.parts[g]);return\"[\"+(c.inverted?\"^\":\"\")+u+\"]\"},any:function(c){return\"any character\"},end:function(c){return\"end of input\"},other:function(c){return c.description}};function i(c){return c.charCodeAt(0).toString(16).toUpperCase()}function n(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"').replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function s(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\]/g,\"\\\\]\").replace(/\\^/g,\"\\\\^\").replace(/-/g,\"\\\\-\").replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function o(c){return t[c.type](c)}function a(c){var u=new Array(c.length),g,f;for(g=0;g<c.length;g++)u[g]=o(c[g]);if(u.sort(),u.length>0){for(g=1,f=1;g<u.length;g++)u[g-1]!==u[g]&&(u[f]=u[g],f++);u.length=f}switch(u.length){case 1:return u[0];case 2:return u[0]+\" or \"+u[1];default:return u.slice(0,-1).join(\", \")+\", or \"+u[u.length-1]}}function l(c){return c?'\"'+n(c)+'\"':\"end of input\"}return\"Expected \"+a(r)+\" but \"+l(e)+\" found.\"};function Kge(r,e){e=e!==void 0?e:{};var t={},i={resolution:le},n=le,s=\"/\",o=ge(\"/\",!1),a=function(ne,Y){return{from:ne,descriptor:Y}},l=function(ne){return{descriptor:ne}},c=\"@\",u=ge(\"@\",!1),g=function(ne,Y){return{fullName:ne,description:Y}},f=function(ne){return{fullName:ne}},h=function(){return W()},p=/^[^\\/@]/,C=re([\"/\",\"@\"],!0,!1),y=/^[^\\/]/,B=re([\"/\"],!0,!1),v=0,D=0,L=[{line:1,column:1}],H=0,j=[],$=0,V;if(\"startRule\"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule \"`+e.startRule+'\".');n=i[e.startRule]}function W(){return r.substring(D,v)}function Z(){return ke(D,v)}function A(ne,Y){throw Y=Y!==void 0?Y:ke(D,v),oe([ue(ne)],r.substring(D,v),Y)}function ae(ne,Y){throw Y=Y!==void 0?Y:ke(D,v),Ne(ne,Y)}function ge(ne,Y){return{type:\"literal\",text:ne,ignoreCase:Y}}function re(ne,Y,pe){return{type:\"class\",parts:ne,inverted:Y,ignoreCase:pe}}function O(){return{type:\"any\"}}function F(){return{type:\"end\"}}function ue(ne){return{type:\"other\",description:ne}}function he(ne){var Y=L[ne],pe;if(Y)return Y;for(pe=ne-1;!L[pe];)pe--;for(Y=L[pe],Y={line:Y.line,column:Y.column};pe<ne;)r.charCodeAt(pe)===10?(Y.line++,Y.column=1):Y.column++,pe++;return L[ne]=Y,Y}function ke(ne,Y){var pe=he(ne),ie=he(Y);return{start:{offset:ne,line:pe.line,column:pe.column},end:{offset:Y,line:ie.line,column:ie.column}}}function Fe(ne){v<H||(v>H&&(H=v,j=[]),j.push(ne))}function Ne(ne,Y){return new Ul(ne,null,null,Y)}function oe(ne,Y,pe){return new Ul(Ul.buildMessage(ne,Y),ne,Y,pe)}function le(){var ne,Y,pe,ie;return ne=v,Y=we(),Y!==t?(r.charCodeAt(v)===47?(pe=s,v++):(pe=t,$===0&&Fe(o)),pe!==t?(ie=we(),ie!==t?(D=ne,Y=a(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=we(),Y!==t&&(D=ne,Y=l(Y)),ne=Y),ne}function we(){var ne,Y,pe,ie;return ne=v,Y=fe(),Y!==t?(r.charCodeAt(v)===64?(pe=c,v++):(pe=t,$===0&&Fe(u)),pe!==t?(ie=qe(),ie!==t?(D=ne,Y=g(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=fe(),Y!==t&&(D=ne,Y=f(Y)),ne=Y),ne}function fe(){var ne,Y,pe,ie,de;return ne=v,r.charCodeAt(v)===64?(Y=c,v++):(Y=t,$===0&&Fe(u)),Y!==t?(pe=Ae(),pe!==t?(r.charCodeAt(v)===47?(ie=s,v++):(ie=t,$===0&&Fe(o)),ie!==t?(de=Ae(),de!==t?(D=ne,Y=h(),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=Ae(),Y!==t&&(D=ne,Y=h()),ne=Y),ne}function Ae(){var ne,Y,pe;if(ne=v,Y=[],p.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(C)),pe!==t)for(;pe!==t;)Y.push(pe),p.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(C));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}function qe(){var ne,Y,pe;if(ne=v,Y=[],y.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(B)),pe!==t)for(;pe!==t;)Y.push(pe),y.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(B));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}if(V=n(),V!==t&&v===r.length)return V;throw V!==t&&v<r.length&&Fe(F()),oe(j,H<r.length?r.charAt(H):null,H<r.length?ke(H,H+1):ke(H,H))}OK.exports={SyntaxError:Ul,parse:Kge}});var Gl=w((fXe,Hl)=>{\"use strict\";function UK(r){return typeof r>\"u\"||r===null}function Uge(r){return typeof r==\"object\"&&r!==null}function Hge(r){return Array.isArray(r)?r:UK(r)?[]:[r]}function Gge(r,e){var t,i,n,s;if(e)for(s=Object.keys(e),t=0,i=s.length;t<i;t+=1)n=s[t],r[n]=e[n];return r}function Yge(r,e){var t=\"\",i;for(i=0;i<e;i+=1)t+=r;return t}function jge(r){return r===0&&Number.NEGATIVE_INFINITY===1/r}Hl.exports.isNothing=UK;Hl.exports.isObject=Uge;Hl.exports.toArray=Hge;Hl.exports.repeat=Yge;Hl.exports.isNegativeZero=jge;Hl.exports.extend=Gge});var Qg=w((hXe,HK)=>{\"use strict\";function Op(r,e){Error.call(this),this.name=\"YAMLException\",this.reason=r,this.mark=e,this.message=(this.reason||\"(unknown reason)\")+(this.mark?\" \"+this.mark.toString():\"\"),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||\"\"}Op.prototype=Object.create(Error.prototype);Op.prototype.constructor=Op;Op.prototype.toString=function(e){var t=this.name+\": \";return t+=this.reason||\"(unknown reason)\",!e&&this.mark&&(t+=\" \"+this.mark.toString()),t};HK.exports=Op});var jK=w((pXe,YK)=>{\"use strict\";var GK=Gl();function SS(r,e,t,i,n){this.name=r,this.buffer=e,this.position=t,this.line=i,this.column=n}SS.prototype.getSnippet=function(e,t){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i=\"\",n=this.position;n>0&&`\\0\\r\n\\x85\\u2028\\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>t/2-1){i=\" ... \",n+=5;break}for(s=\"\",o=this.position;o<this.buffer.length&&`\\0\\r\n\\x85\\u2028\\u2029`.indexOf(this.buffer.charAt(o))===-1;)if(o+=1,o-this.position>t/2-1){s=\" ... \",o-=5;break}return a=this.buffer.slice(n,o),GK.repeat(\" \",e)+i+a+s+`\n`+GK.repeat(\" \",e+this.position-n+i.length)+\"^\"};SS.prototype.toString=function(e){var t,i=\"\";return this.name&&(i+='in \"'+this.name+'\" '),i+=\"at line \"+(this.line+1)+\", column \"+(this.column+1),e||(t=this.getSnippet(),t&&(i+=`:\n`+t)),i};YK.exports=SS});var si=w((dXe,JK)=>{\"use strict\";var qK=Qg(),qge=[\"kind\",\"resolve\",\"construct\",\"instanceOf\",\"predicate\",\"represent\",\"defaultStyle\",\"styleAliases\"],Jge=[\"scalar\",\"sequence\",\"mapping\"];function Wge(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(i){e[String(i)]=t})}),e}function zge(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(qge.indexOf(t)===-1)throw new qK('Unknown option \"'+t+'\" is met in definition of \"'+r+'\" YAML type.')}),this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=Wge(e.styleAliases||null),Jge.indexOf(this.kind)===-1)throw new qK('Unknown kind \"'+this.kind+'\" is specified for \"'+r+'\" YAML type.')}JK.exports=zge});var Yl=w((CXe,zK)=>{\"use strict\";var WK=Gl(),nI=Qg(),Vge=si();function vS(r,e,t){var i=[];return r.include.forEach(function(n){t=vS(n,e,t)}),r[e].forEach(function(n){t.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),t.push(n)}),t.filter(function(n,s){return i.indexOf(s)===-1})}function Xge(){var r={scalar:{},sequence:{},mapping:{},fallback:{}},e,t;function i(n){r[n.kind][n.tag]=r.fallback[n.tag]=n}for(e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(i);return r}function bg(r){this.include=r.include||[],this.implicit=r.implicit||[],this.explicit=r.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&e.loadKind!==\"scalar\")throw new nI(\"There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.\")}),this.compiledImplicit=vS(this,\"implicit\",[]),this.compiledExplicit=vS(this,\"explicit\",[]),this.compiledTypeMap=Xge(this.compiledImplicit,this.compiledExplicit)}bg.DEFAULT=null;bg.create=function(){var e,t;switch(arguments.length){case 1:e=bg.DEFAULT,t=arguments[0];break;case 2:e=arguments[0],t=arguments[1];break;default:throw new nI(\"Wrong number of arguments for Schema.create function\")}if(e=WK.toArray(e),t=WK.toArray(t),!e.every(function(i){return i instanceof bg}))throw new nI(\"Specified list of super schemas (or a single Schema object) contains a non-Schema object.\");if(!t.every(function(i){return i instanceof Vge}))throw new nI(\"Specified list of YAML types (or a single Type object) contains a non-Type object.\");return new bg({include:e,explicit:t})};zK.exports=bg});var XK=w((mXe,VK)=>{\"use strict\";var _ge=si();VK.exports=new _ge(\"tag:yaml.org,2002:str\",{kind:\"scalar\",construct:function(r){return r!==null?r:\"\"}})});var ZK=w((EXe,_K)=>{\"use strict\";var Zge=si();_K.exports=new Zge(\"tag:yaml.org,2002:seq\",{kind:\"sequence\",construct:function(r){return r!==null?r:[]}})});var eU=w((IXe,$K)=>{\"use strict\";var $ge=si();$K.exports=new $ge(\"tag:yaml.org,2002:map\",{kind:\"mapping\",construct:function(r){return r!==null?r:{}}})});var sI=w((yXe,tU)=>{\"use strict\";var efe=Yl();tU.exports=new efe({explicit:[XK(),ZK(),eU()]})});var iU=w((wXe,rU)=>{\"use strict\";var tfe=si();function rfe(r){if(r===null)return!0;var e=r.length;return e===1&&r===\"~\"||e===4&&(r===\"null\"||r===\"Null\"||r===\"NULL\")}function ife(){return null}function nfe(r){return r===null}rU.exports=new tfe(\"tag:yaml.org,2002:null\",{kind:\"scalar\",resolve:rfe,construct:ife,predicate:nfe,represent:{canonical:function(){return\"~\"},lowercase:function(){return\"null\"},uppercase:function(){return\"NULL\"},camelcase:function(){return\"Null\"}},defaultStyle:\"lowercase\"})});var sU=w((BXe,nU)=>{\"use strict\";var sfe=si();function ofe(r){if(r===null)return!1;var e=r.length;return e===4&&(r===\"true\"||r===\"True\"||r===\"TRUE\")||e===5&&(r===\"false\"||r===\"False\"||r===\"FALSE\")}function afe(r){return r===\"true\"||r===\"True\"||r===\"TRUE\"}function Afe(r){return Object.prototype.toString.call(r)===\"[object Boolean]\"}nU.exports=new sfe(\"tag:yaml.org,2002:bool\",{kind:\"scalar\",resolve:ofe,construct:afe,predicate:Afe,represent:{lowercase:function(r){return r?\"true\":\"false\"},uppercase:function(r){return r?\"TRUE\":\"FALSE\"},camelcase:function(r){return r?\"True\":\"False\"}},defaultStyle:\"lowercase\"})});var aU=w((QXe,oU)=>{\"use strict\";var lfe=Gl(),cfe=si();function ufe(r){return 48<=r&&r<=57||65<=r&&r<=70||97<=r&&r<=102}function gfe(r){return 48<=r&&r<=55}function ffe(r){return 48<=r&&r<=57}function hfe(r){if(r===null)return!1;var e=r.length,t=0,i=!1,n;if(!e)return!1;if(n=r[t],(n===\"-\"||n===\"+\")&&(n=r[++t]),n===\"0\"){if(t+1===e)return!0;if(n=r[++t],n===\"b\"){for(t++;t<e;t++)if(n=r[t],n!==\"_\"){if(n!==\"0\"&&n!==\"1\")return!1;i=!0}return i&&n!==\"_\"}if(n===\"x\"){for(t++;t<e;t++)if(n=r[t],n!==\"_\"){if(!ufe(r.charCodeAt(t)))return!1;i=!0}return i&&n!==\"_\"}for(;t<e;t++)if(n=r[t],n!==\"_\"){if(!gfe(r.charCodeAt(t)))return!1;i=!0}return i&&n!==\"_\"}if(n===\"_\")return!1;for(;t<e;t++)if(n=r[t],n!==\"_\"){if(n===\":\")break;if(!ffe(r.charCodeAt(t)))return!1;i=!0}return!i||n===\"_\"?!1:n!==\":\"?!0:/^(:[0-5]?[0-9])+$/.test(r.slice(t))}function pfe(r){var e=r,t=1,i,n,s=[];return e.indexOf(\"_\")!==-1&&(e=e.replace(/_/g,\"\")),i=e[0],(i===\"-\"||i===\"+\")&&(i===\"-\"&&(t=-1),e=e.slice(1),i=e[0]),e===\"0\"?0:i===\"0\"?e[1]===\"b\"?t*parseInt(e.slice(2),2):e[1]===\"x\"?t*parseInt(e,16):t*parseInt(e,8):e.indexOf(\":\")!==-1?(e.split(\":\").forEach(function(o){s.unshift(parseInt(o,10))}),e=0,n=1,s.forEach(function(o){e+=o*n,n*=60}),t*e):t*parseInt(e,10)}function dfe(r){return Object.prototype.toString.call(r)===\"[object Number]\"&&r%1===0&&!lfe.isNegativeZero(r)}oU.exports=new cfe(\"tag:yaml.org,2002:int\",{kind:\"scalar\",resolve:hfe,construct:pfe,predicate:dfe,represent:{binary:function(r){return r>=0?\"0b\"+r.toString(2):\"-0b\"+r.toString(2).slice(1)},octal:function(r){return r>=0?\"0\"+r.toString(8):\"-0\"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?\"0x\"+r.toString(16).toUpperCase():\"-0x\"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:\"decimal\",styleAliases:{binary:[2,\"bin\"],octal:[8,\"oct\"],decimal:[10,\"dec\"],hexadecimal:[16,\"hex\"]}})});var cU=w((bXe,lU)=>{\"use strict\";var AU=Gl(),Cfe=si(),mfe=new RegExp(\"^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))$\");function Efe(r){return!(r===null||!mfe.test(r)||r[r.length-1]===\"_\")}function Ife(r){var e,t,i,n;return e=r.replace(/_/g,\"\").toLowerCase(),t=e[0]===\"-\"?-1:1,n=[],\"+-\".indexOf(e[0])>=0&&(e=e.slice(1)),e===\".inf\"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===\".nan\"?NaN:e.indexOf(\":\")>=0?(e.split(\":\").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),t*e):t*parseFloat(e,10)}var yfe=/^[-+]?[0-9]+e/;function wfe(r,e){var t;if(isNaN(r))switch(e){case\"lowercase\":return\".nan\";case\"uppercase\":return\".NAN\";case\"camelcase\":return\".NaN\"}else if(Number.POSITIVE_INFINITY===r)switch(e){case\"lowercase\":return\".inf\";case\"uppercase\":return\".INF\";case\"camelcase\":return\".Inf\"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case\"lowercase\":return\"-.inf\";case\"uppercase\":return\"-.INF\";case\"camelcase\":return\"-.Inf\"}else if(AU.isNegativeZero(r))return\"-0.0\";return t=r.toString(10),yfe.test(t)?t.replace(\"e\",\".e\"):t}function Bfe(r){return Object.prototype.toString.call(r)===\"[object Number]\"&&(r%1!==0||AU.isNegativeZero(r))}lU.exports=new Cfe(\"tag:yaml.org,2002:float\",{kind:\"scalar\",resolve:Efe,construct:Ife,predicate:Bfe,represent:wfe,defaultStyle:\"lowercase\"})});var xS=w((SXe,uU)=>{\"use strict\";var Qfe=Yl();uU.exports=new Qfe({include:[sI()],implicit:[iU(),sU(),aU(),cU()]})});var PS=w((vXe,gU)=>{\"use strict\";var bfe=Yl();gU.exports=new bfe({include:[xS()]})});var dU=w((xXe,pU)=>{\"use strict\";var Sfe=si(),fU=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$\"),hU=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\\\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\\\.([0-9]*))?(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$\");function vfe(r){return r===null?!1:fU.exec(r)!==null||hU.exec(r)!==null}function xfe(r){var e,t,i,n,s,o,a,l=0,c=null,u,g,f;if(e=fU.exec(r),e===null&&(e=hU.exec(r)),e===null)throw new Error(\"Date resolve error\");if(t=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(t,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+=\"0\";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]===\"-\"&&(c=-c)),f=new Date(Date.UTC(t,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function Pfe(r){return r.toISOString()}pU.exports=new Sfe(\"tag:yaml.org,2002:timestamp\",{kind:\"scalar\",resolve:vfe,construct:xfe,instanceOf:Date,represent:Pfe})});var mU=w((PXe,CU)=>{\"use strict\";var Dfe=si();function kfe(r){return r===\"<<\"||r===null}CU.exports=new Dfe(\"tag:yaml.org,2002:merge\",{kind:\"scalar\",resolve:kfe})});var yU=w((DXe,IU)=>{\"use strict\";var jl;try{EU=J,jl=EU(\"buffer\").Buffer}catch{}var EU,Rfe=si(),DS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\\r`;function Ffe(r){if(r===null)return!1;var e,t,i=0,n=r.length,s=DS;for(t=0;t<n;t++)if(e=s.indexOf(r.charAt(t)),!(e>64)){if(e<0)return!1;i+=6}return i%8===0}function Nfe(r){var e,t,i=r.replace(/[\\r\\n=]/g,\"\"),n=i.length,s=DS,o=0,a=[];for(e=0;e<n;e++)e%4===0&&e&&(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return t=n%4*6,t===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):t===18?(a.push(o>>10&255),a.push(o>>2&255)):t===12&&a.push(o>>4&255),jl?jl.from?jl.from(a):new jl(a):a}function Lfe(r){var e=\"\",t=0,i,n,s=r.length,o=DS;for(i=0;i<s;i++)i%3===0&&i&&(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[i];return n=s%3,n===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):n===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):n===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function Tfe(r){return jl&&jl.isBuffer(r)}IU.exports=new Rfe(\"tag:yaml.org,2002:binary\",{kind:\"scalar\",resolve:Ffe,construct:Nfe,predicate:Tfe,represent:Lfe})});var BU=w((kXe,wU)=>{\"use strict\";var Ofe=si(),Mfe=Object.prototype.hasOwnProperty,Kfe=Object.prototype.toString;function Ufe(r){if(r===null)return!0;var e=[],t,i,n,s,o,a=r;for(t=0,i=a.length;t<i;t+=1){if(n=a[t],o=!1,Kfe.call(n)!==\"[object Object]\")return!1;for(s in n)if(Mfe.call(n,s))if(!o)o=!0;else return!1;if(!o)return!1;if(e.indexOf(s)===-1)e.push(s);else return!1}return!0}function Hfe(r){return r!==null?r:[]}wU.exports=new Ofe(\"tag:yaml.org,2002:omap\",{kind:\"sequence\",resolve:Ufe,construct:Hfe})});var bU=w((RXe,QU)=>{\"use strict\";var Gfe=si(),Yfe=Object.prototype.toString;function jfe(r){if(r===null)return!0;var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e<t;e+=1){if(i=o[e],Yfe.call(i)!==\"[object Object]\"||(n=Object.keys(i),n.length!==1))return!1;s[e]=[n[0],i[n[0]]]}return!0}function qfe(r){if(r===null)return[];var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e<t;e+=1)i=o[e],n=Object.keys(i),s[e]=[n[0],i[n[0]]];return s}QU.exports=new Gfe(\"tag:yaml.org,2002:pairs\",{kind:\"sequence\",resolve:jfe,construct:qfe})});var vU=w((FXe,SU)=>{\"use strict\";var Jfe=si(),Wfe=Object.prototype.hasOwnProperty;function zfe(r){if(r===null)return!0;var e,t=r;for(e in t)if(Wfe.call(t,e)&&t[e]!==null)return!1;return!0}function Vfe(r){return r!==null?r:{}}SU.exports=new Jfe(\"tag:yaml.org,2002:set\",{kind:\"mapping\",resolve:zfe,construct:Vfe})});var Sg=w((NXe,xU)=>{\"use strict\";var Xfe=Yl();xU.exports=new Xfe({include:[PS()],implicit:[dU(),mU()],explicit:[yU(),BU(),bU(),vU()]})});var DU=w((LXe,PU)=>{\"use strict\";var _fe=si();function Zfe(){return!0}function $fe(){}function ehe(){return\"\"}function the(r){return typeof r>\"u\"}PU.exports=new _fe(\"tag:yaml.org,2002:js/undefined\",{kind:\"scalar\",resolve:Zfe,construct:$fe,predicate:the,represent:ehe})});var RU=w((TXe,kU)=>{\"use strict\";var rhe=si();function ihe(r){if(r===null||r.length===0)return!1;var e=r,t=/\\/([gim]*)$/.exec(r),i=\"\";return!(e[0]===\"/\"&&(t&&(i=t[1]),i.length>3||e[e.length-i.length-1]!==\"/\"))}function nhe(r){var e=r,t=/\\/([gim]*)$/.exec(r),i=\"\";return e[0]===\"/\"&&(t&&(i=t[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function she(r){var e=\"/\"+r.source+\"/\";return r.global&&(e+=\"g\"),r.multiline&&(e+=\"m\"),r.ignoreCase&&(e+=\"i\"),e}function ohe(r){return Object.prototype.toString.call(r)===\"[object RegExp]\"}kU.exports=new rhe(\"tag:yaml.org,2002:js/regexp\",{kind:\"scalar\",resolve:ihe,construct:nhe,predicate:ohe,represent:she})});var LU=w((OXe,NU)=>{\"use strict\";var oI;try{FU=J,oI=FU(\"esprima\")}catch{typeof window<\"u\"&&(oI=window.esprima)}var FU,ahe=si();function Ahe(r){if(r===null)return!1;try{var e=\"(\"+r+\")\",t=oI.parse(e,{range:!0});return!(t.type!==\"Program\"||t.body.length!==1||t.body[0].type!==\"ExpressionStatement\"||t.body[0].expression.type!==\"ArrowFunctionExpression\"&&t.body[0].expression.type!==\"FunctionExpression\")}catch{return!1}}function lhe(r){var e=\"(\"+r+\")\",t=oI.parse(e,{range:!0}),i=[],n;if(t.type!==\"Program\"||t.body.length!==1||t.body[0].type!==\"ExpressionStatement\"||t.body[0].expression.type!==\"ArrowFunctionExpression\"&&t.body[0].expression.type!==\"FunctionExpression\")throw new Error(\"Failed to resolve function\");return t.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=t.body[0].expression.body.range,t.body[0].expression.body.type===\"BlockStatement\"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,\"return \"+e.slice(n[0],n[1]))}function che(r){return r.toString()}function uhe(r){return Object.prototype.toString.call(r)===\"[object Function]\"}NU.exports=new ahe(\"tag:yaml.org,2002:js/function\",{kind:\"scalar\",resolve:Ahe,construct:lhe,predicate:uhe,represent:che})});var Mp=w((MXe,OU)=>{\"use strict\";var TU=Yl();OU.exports=TU.DEFAULT=new TU({include:[Sg()],explicit:[DU(),RU(),LU()]})});var r2=w((KXe,Kp)=>{\"use strict\";var da=Gl(),jU=Qg(),ghe=jK(),qU=Sg(),fhe=Mp(),wA=Object.prototype.hasOwnProperty,aI=1,JU=2,WU=3,AI=4,kS=1,hhe=2,MU=3,phe=/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/,dhe=/[\\x85\\u2028\\u2029]/,Che=/[,\\[\\]\\{\\}]/,zU=/^(?:!|!!|![a-z\\-]+!)$/i,VU=/^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;function KU(r){return Object.prototype.toString.call(r)}function Bo(r){return r===10||r===13}function Jl(r){return r===9||r===32}function un(r){return r===9||r===32||r===10||r===13}function vg(r){return r===44||r===91||r===93||r===123||r===125}function mhe(r){var e;return 48<=r&&r<=57?r-48:(e=r|32,97<=e&&e<=102?e-97+10:-1)}function Ehe(r){return r===120?2:r===117?4:r===85?8:0}function Ihe(r){return 48<=r&&r<=57?r-48:-1}function UU(r){return r===48?\"\\0\":r===97?\"\\x07\":r===98?\"\\b\":r===116||r===9?\"\t\":r===110?`\n`:r===118?\"\\v\":r===102?\"\\f\":r===114?\"\\r\":r===101?\"\\x1B\":r===32?\" \":r===34?'\"':r===47?\"/\":r===92?\"\\\\\":r===78?\"\\x85\":r===95?\"\\xA0\":r===76?\"\\u2028\":r===80?\"\\u2029\":\"\"}function yhe(r){return r<=65535?String.fromCharCode(r):String.fromCharCode((r-65536>>10)+55296,(r-65536&1023)+56320)}var XU=new Array(256),_U=new Array(256);for(ql=0;ql<256;ql++)XU[ql]=UU(ql)?1:0,_U[ql]=UU(ql);var ql;function whe(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||fhe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function ZU(r,e){return new jU(e,new ghe(r.filename,r.input,r.position,r.line,r.position-r.lineStart))}function ft(r,e){throw ZU(r,e)}function lI(r,e){r.onWarning&&r.onWarning.call(null,ZU(r,e))}var HU={YAML:function(e,t,i){var n,s,o;e.version!==null&&ft(e,\"duplication of %YAML directive\"),i.length!==1&&ft(e,\"YAML directive accepts exactly one argument\"),n=/^([0-9]+)\\.([0-9]+)$/.exec(i[0]),n===null&&ft(e,\"ill-formed argument of the YAML directive\"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&ft(e,\"unacceptable YAML version of the document\"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&lI(e,\"unsupported YAML version of the document\")},TAG:function(e,t,i){var n,s;i.length!==2&&ft(e,\"TAG directive accepts exactly two arguments\"),n=i[0],s=i[1],zU.test(n)||ft(e,\"ill-formed tag handle (first argument) of the TAG directive\"),wA.call(e.tagMap,n)&&ft(e,'there is a previously declared suffix for \"'+n+'\" tag handle'),VU.test(s)||ft(e,\"ill-formed tag prefix (second argument) of the TAG directive\"),e.tagMap[n]=s}};function yA(r,e,t,i){var n,s,o,a;if(e<t){if(a=r.input.slice(e,t),i)for(n=0,s=a.length;n<s;n+=1)o=a.charCodeAt(n),o===9||32<=o&&o<=1114111||ft(r,\"expected valid JSON character\");else phe.test(a)&&ft(r,\"the stream contains non-printable characters\");r.result+=a}}function GU(r,e,t,i){var n,s,o,a;for(da.isObject(t)||ft(r,\"cannot merge mappings; the provided source object is unacceptable\"),n=Object.keys(t),o=0,a=n.length;o<a;o+=1)s=n[o],wA.call(e,s)||(e[s]=t[s],i[s]=!0)}function xg(r,e,t,i,n,s,o,a){var l,c;if(Array.isArray(n))for(n=Array.prototype.slice.call(n),l=0,c=n.length;l<c;l+=1)Array.isArray(n[l])&&ft(r,\"nested arrays are not supported inside keys\"),typeof n==\"object\"&&KU(n[l])===\"[object Object]\"&&(n[l]=\"[object Object]\");if(typeof n==\"object\"&&KU(n)===\"[object Object]\"&&(n=\"[object Object]\"),n=String(n),e===null&&(e={}),i===\"tag:yaml.org,2002:merge\")if(Array.isArray(s))for(l=0,c=s.length;l<c;l+=1)GU(r,e,s[l],t);else GU(r,e,s,t);else!r.json&&!wA.call(t,n)&&wA.call(e,n)&&(r.line=o||r.line,r.position=a||r.position,ft(r,\"duplicated mapping key\")),e[n]=s,delete t[n];return e}function RS(r){var e;e=r.input.charCodeAt(r.position),e===10?r.position++:e===13?(r.position++,r.input.charCodeAt(r.position)===10&&r.position++):ft(r,\"a line break is expected\"),r.line+=1,r.lineStart=r.position}function zr(r,e,t){for(var i=0,n=r.input.charCodeAt(r.position);n!==0;){for(;Jl(n);)n=r.input.charCodeAt(++r.position);if(e&&n===35)do n=r.input.charCodeAt(++r.position);while(n!==10&&n!==13&&n!==0);if(Bo(n))for(RS(r),n=r.input.charCodeAt(r.position),i++,r.lineIndent=0;n===32;)r.lineIndent++,n=r.input.charCodeAt(++r.position);else break}return t!==-1&&i!==0&&r.lineIndent<t&&lI(r,\"deficient indentation\"),i}function cI(r){var e=r.position,t;return t=r.input.charCodeAt(e),!!((t===45||t===46)&&t===r.input.charCodeAt(e+1)&&t===r.input.charCodeAt(e+2)&&(e+=3,t=r.input.charCodeAt(e),t===0||un(t)))}function FS(r,e){e===1?r.result+=\" \":e>1&&(r.result+=da.repeat(`\n`,e-1))}function Bhe(r,e,t){var i,n,s,o,a,l,c,u,g=r.kind,f=r.result,h;if(h=r.input.charCodeAt(r.position),un(h)||vg(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=r.input.charCodeAt(r.position+1),un(n)||t&&vg(n)))return!1;for(r.kind=\"scalar\",r.result=\"\",s=o=r.position,a=!1;h!==0;){if(h===58){if(n=r.input.charCodeAt(r.position+1),un(n)||t&&vg(n))break}else if(h===35){if(i=r.input.charCodeAt(r.position-1),un(i))break}else{if(r.position===r.lineStart&&cI(r)||t&&vg(h))break;if(Bo(h))if(l=r.line,c=r.lineStart,u=r.lineIndent,zr(r,!1,-1),r.lineIndent>=e){a=!0,h=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=c,r.lineIndent=u;break}}a&&(yA(r,s,o,!1),FS(r,r.line-l),s=o=r.position,a=!1),Jl(h)||(o=r.position+1),h=r.input.charCodeAt(++r.position)}return yA(r,s,o,!1),r.result?!0:(r.kind=g,r.result=f,!1)}function Qhe(r,e){var t,i,n;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind=\"scalar\",r.result=\"\",r.position++,i=n=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(yA(r,i,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)i=r.position,r.position++,n=r.position;else return!0;else Bo(t)?(yA(r,i,n,!0),FS(r,zr(r,!1,e)),i=n=r.position):r.position===r.lineStart&&cI(r)?ft(r,\"unexpected end of the document within a single quoted scalar\"):(r.position++,n=r.position);ft(r,\"unexpected end of the stream within a single quoted scalar\")}function bhe(r,e){var t,i,n,s,o,a;if(a=r.input.charCodeAt(r.position),a!==34)return!1;for(r.kind=\"scalar\",r.result=\"\",r.position++,t=i=r.position;(a=r.input.charCodeAt(r.position))!==0;){if(a===34)return yA(r,t,r.position,!0),r.position++,!0;if(a===92){if(yA(r,t,r.position,!0),a=r.input.charCodeAt(++r.position),Bo(a))zr(r,!1,e);else if(a<256&&XU[a])r.result+=_U[a],r.position++;else if((o=Ehe(a))>0){for(n=o,s=0;n>0;n--)a=r.input.charCodeAt(++r.position),(o=mhe(a))>=0?s=(s<<4)+o:ft(r,\"expected hexadecimal character\");r.result+=yhe(s),r.position++}else ft(r,\"unknown escape sequence\");t=i=r.position}else Bo(a)?(yA(r,t,i,!0),FS(r,zr(r,!1,e)),t=i=r.position):r.position===r.lineStart&&cI(r)?ft(r,\"unexpected end of the document within a double quoted scalar\"):(r.position++,i=r.position)}ft(r,\"unexpected end of the stream within a double quoted scalar\")}function She(r,e){var t=!0,i,n=r.tag,s,o=r.anchor,a,l,c,u,g,f={},h,p,C,y;if(y=r.input.charCodeAt(r.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),y=r.input.charCodeAt(++r.position);y!==0;){if(zr(r,!0,e),y=r.input.charCodeAt(r.position),y===l)return r.position++,r.tag=n,r.anchor=o,r.kind=g?\"mapping\":\"sequence\",r.result=s,!0;t||ft(r,\"missed comma between flow collection entries\"),p=h=C=null,c=u=!1,y===63&&(a=r.input.charCodeAt(r.position+1),un(a)&&(c=u=!0,r.position++,zr(r,!0,e))),i=r.line,Pg(r,e,aI,!1,!0),p=r.tag,h=r.result,zr(r,!0,e),y=r.input.charCodeAt(r.position),(u||r.line===i)&&y===58&&(c=!0,y=r.input.charCodeAt(++r.position),zr(r,!0,e),Pg(r,e,aI,!1,!0),C=r.result),g?xg(r,s,f,p,h,C):c?s.push(xg(r,null,f,p,h,C)):s.push(h),zr(r,!0,e),y=r.input.charCodeAt(r.position),y===44?(t=!0,y=r.input.charCodeAt(++r.position)):t=!1}ft(r,\"unexpected end of the stream within a flow collection\")}function vhe(r,e){var t,i,n=kS,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=r.input.charCodeAt(r.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(r.kind=\"scalar\",r.result=\"\";g!==0;)if(g=r.input.charCodeAt(++r.position),g===43||g===45)kS===n?n=g===43?MU:hhe:ft(r,\"repeat of a chomping mode identifier\");else if((u=Ihe(g))>=0)u===0?ft(r,\"bad explicit indentation width of a block scalar; it cannot be less than one\"):o?ft(r,\"repeat of an indentation width identifier\"):(a=e+u-1,o=!0);else break;if(Jl(g)){do g=r.input.charCodeAt(++r.position);while(Jl(g));if(g===35)do g=r.input.charCodeAt(++r.position);while(!Bo(g)&&g!==0)}for(;g!==0;){for(RS(r),r.lineIndent=0,g=r.input.charCodeAt(r.position);(!o||r.lineIndent<a)&&g===32;)r.lineIndent++,g=r.input.charCodeAt(++r.position);if(!o&&r.lineIndent>a&&(a=r.lineIndent),Bo(g)){l++;continue}if(r.lineIndent<a){n===MU?r.result+=da.repeat(`\n`,s?1+l:l):n===kS&&s&&(r.result+=`\n`);break}for(i?Jl(g)?(c=!0,r.result+=da.repeat(`\n`,s?1+l:l)):c?(c=!1,r.result+=da.repeat(`\n`,l+1)):l===0?s&&(r.result+=\" \"):r.result+=da.repeat(`\n`,l):r.result+=da.repeat(`\n`,s?1+l:l),s=!0,o=!0,l=0,t=r.position;!Bo(g)&&g!==0;)g=r.input.charCodeAt(++r.position);yA(r,t,r.position,!1)}return!0}function YU(r,e){var t,i=r.tag,n=r.anchor,s=[],o,a=!1,l;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),l=r.input.charCodeAt(r.position);l!==0&&!(l!==45||(o=r.input.charCodeAt(r.position+1),!un(o)));){if(a=!0,r.position++,zr(r,!0,-1)&&r.lineIndent<=e){s.push(null),l=r.input.charCodeAt(r.position);continue}if(t=r.line,Pg(r,e,WU,!1,!0),s.push(r.result),zr(r,!0,-1),l=r.input.charCodeAt(r.position),(r.line===t||r.lineIndent>e)&&l!==0)ft(r,\"bad indentation of a sequence entry\");else if(r.lineIndent<e)break}return a?(r.tag=i,r.anchor=n,r.kind=\"sequence\",r.result=s,!0):!1}function xhe(r,e,t){var i,n,s,o,a=r.tag,l=r.anchor,c={},u={},g=null,f=null,h=null,p=!1,C=!1,y;for(r.anchor!==null&&(r.anchorMap[r.anchor]=c),y=r.input.charCodeAt(r.position);y!==0;){if(i=r.input.charCodeAt(r.position+1),s=r.line,o=r.position,(y===63||y===58)&&un(i))y===63?(p&&(xg(r,c,u,g,f,null),g=f=h=null),C=!0,p=!0,n=!0):p?(p=!1,n=!0):ft(r,\"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line\"),r.position+=1,y=i;else if(Pg(r,t,JU,!1,!0))if(r.line===s){for(y=r.input.charCodeAt(r.position);Jl(y);)y=r.input.charCodeAt(++r.position);if(y===58)y=r.input.charCodeAt(++r.position),un(y)||ft(r,\"a whitespace character is expected after the key-value separator within a block mapping\"),p&&(xg(r,c,u,g,f,null),g=f=h=null),C=!0,p=!1,n=!1,g=r.tag,f=r.result;else if(C)ft(r,\"can not read an implicit mapping pair; a colon is missed\");else return r.tag=a,r.anchor=l,!0}else if(C)ft(r,\"can not read a block mapping entry; a multiline key may not be an implicit key\");else return r.tag=a,r.anchor=l,!0;else break;if((r.line===s||r.lineIndent>e)&&(Pg(r,e,AI,!0,n)&&(p?f=r.result:h=r.result),p||(xg(r,c,u,g,f,h,s,o),g=f=h=null),zr(r,!0,-1),y=r.input.charCodeAt(r.position)),r.lineIndent>e&&y!==0)ft(r,\"bad indentation of a mapping entry\");else if(r.lineIndent<e)break}return p&&xg(r,c,u,g,f,null),C&&(r.tag=a,r.anchor=l,r.kind=\"mapping\",r.result=c),C}function Phe(r){var e,t=!1,i=!1,n,s,o;if(o=r.input.charCodeAt(r.position),o!==33)return!1;if(r.tag!==null&&ft(r,\"duplication of a tag property\"),o=r.input.charCodeAt(++r.position),o===60?(t=!0,o=r.input.charCodeAt(++r.position)):o===33?(i=!0,n=\"!!\",o=r.input.charCodeAt(++r.position)):n=\"!\",e=r.position,t){do o=r.input.charCodeAt(++r.position);while(o!==0&&o!==62);r.position<r.length?(s=r.input.slice(e,r.position),o=r.input.charCodeAt(++r.position)):ft(r,\"unexpected end of the stream within a verbatim tag\")}else{for(;o!==0&&!un(o);)o===33&&(i?ft(r,\"tag suffix cannot contain exclamation marks\"):(n=r.input.slice(e-1,r.position+1),zU.test(n)||ft(r,\"named tag handle cannot contain such characters\"),i=!0,e=r.position+1)),o=r.input.charCodeAt(++r.position);s=r.input.slice(e,r.position),Che.test(s)&&ft(r,\"tag suffix cannot contain flow indicator characters\")}return s&&!VU.test(s)&&ft(r,\"tag name cannot contain such characters: \"+s),t?r.tag=s:wA.call(r.tagMap,n)?r.tag=r.tagMap[n]+s:n===\"!\"?r.tag=\"!\"+s:n===\"!!\"?r.tag=\"tag:yaml.org,2002:\"+s:ft(r,'undeclared tag handle \"'+n+'\"'),!0}function Dhe(r){var e,t;if(t=r.input.charCodeAt(r.position),t!==38)return!1;for(r.anchor!==null&&ft(r,\"duplication of an anchor property\"),t=r.input.charCodeAt(++r.position),e=r.position;t!==0&&!un(t)&&!vg(t);)t=r.input.charCodeAt(++r.position);return r.position===e&&ft(r,\"name of an anchor node must contain at least one character\"),r.anchor=r.input.slice(e,r.position),!0}function khe(r){var e,t,i;if(i=r.input.charCodeAt(r.position),i!==42)return!1;for(i=r.input.charCodeAt(++r.position),e=r.position;i!==0&&!un(i)&&!vg(i);)i=r.input.charCodeAt(++r.position);return r.position===e&&ft(r,\"name of an alias node must contain at least one character\"),t=r.input.slice(e,r.position),wA.call(r.anchorMap,t)||ft(r,'unidentified alias \"'+t+'\"'),r.result=r.anchorMap[t],zr(r,!0,-1),!0}function Pg(r,e,t,i,n){var s,o,a,l=1,c=!1,u=!1,g,f,h,p,C;if(r.listener!==null&&r.listener(\"open\",r),r.tag=null,r.anchor=null,r.kind=null,r.result=null,s=o=a=AI===t||WU===t,i&&zr(r,!0,-1)&&(c=!0,r.lineIndent>e?l=1:r.lineIndent===e?l=0:r.lineIndent<e&&(l=-1)),l===1)for(;Phe(r)||Dhe(r);)zr(r,!0,-1)?(c=!0,a=s,r.lineIndent>e?l=1:r.lineIndent===e?l=0:r.lineIndent<e&&(l=-1)):a=!1;if(a&&(a=c||n),(l===1||AI===t)&&(aI===t||JU===t?p=e:p=e+1,C=r.position-r.lineStart,l===1?a&&(YU(r,C)||xhe(r,C,p))||She(r,p)?u=!0:(o&&vhe(r,p)||Qhe(r,p)||bhe(r,p)?u=!0:khe(r)?(u=!0,(r.tag!==null||r.anchor!==null)&&ft(r,\"alias node should not have any properties\")):Bhe(r,p,aI===t)&&(u=!0,r.tag===null&&(r.tag=\"?\")),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):l===0&&(u=a&&YU(r,C))),r.tag!==null&&r.tag!==\"!\")if(r.tag===\"?\"){for(r.result!==null&&r.kind!==\"scalar\"&&ft(r,'unacceptable node kind for !<?> tag; it should be \"scalar\", not \"'+r.kind+'\"'),g=0,f=r.implicitTypes.length;g<f;g+=1)if(h=r.implicitTypes[g],h.resolve(r.result)){r.result=h.construct(r.result),r.tag=h.tag,r.anchor!==null&&(r.anchorMap[r.anchor]=r.result);break}}else wA.call(r.typeMap[r.kind||\"fallback\"],r.tag)?(h=r.typeMap[r.kind||\"fallback\"][r.tag],r.result!==null&&h.kind!==r.kind&&ft(r,\"unacceptable node kind for !<\"+r.tag+'> tag; it should be \"'+h.kind+'\", not \"'+r.kind+'\"'),h.resolve(r.result)?(r.result=h.construct(r.result),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):ft(r,\"cannot resolve a node with !<\"+r.tag+\"> explicit tag\")):ft(r,\"unknown tag !<\"+r.tag+\">\");return r.listener!==null&&r.listener(\"close\",r),r.tag!==null||r.anchor!==null||u}function Rhe(r){var e=r.position,t,i,n,s=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap={},r.anchorMap={};(o=r.input.charCodeAt(r.position))!==0&&(zr(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(s=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!un(o);)o=r.input.charCodeAt(++r.position);for(i=r.input.slice(t,r.position),n=[],i.length<1&&ft(r,\"directive name must not be less than one character in length\");o!==0;){for(;Jl(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!Bo(o));break}if(Bo(o))break;for(t=r.position;o!==0&&!un(o);)o=r.input.charCodeAt(++r.position);n.push(r.input.slice(t,r.position))}o!==0&&RS(r),wA.call(HU,i)?HU[i](r,i,n):lI(r,'unknown document directive \"'+i+'\"')}if(zr(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,zr(r,!0,-1)):s&&ft(r,\"directives end mark is expected\"),Pg(r,r.lineIndent-1,AI,!1,!0),zr(r,!0,-1),r.checkLineBreaks&&dhe.test(r.input.slice(e,r.position))&&lI(r,\"non-ASCII line breaks are interpreted as content\"),r.documents.push(r.result),r.position===r.lineStart&&cI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,zr(r,!0,-1));return}if(r.position<r.length-1)ft(r,\"end of the stream or a document separator is expected\");else return}function $U(r,e){r=String(r),e=e||{},r.length!==0&&(r.charCodeAt(r.length-1)!==10&&r.charCodeAt(r.length-1)!==13&&(r+=`\n`),r.charCodeAt(0)===65279&&(r=r.slice(1)));var t=new whe(r,e),i=r.indexOf(\"\\0\");for(i!==-1&&(t.position=i,ft(t,\"null byte is not allowed in input\")),t.input+=\"\\0\";t.input.charCodeAt(t.position)===32;)t.lineIndent+=1,t.position+=1;for(;t.position<t.length-1;)Rhe(t);return t.documents}function e2(r,e,t){e!==null&&typeof e==\"object\"&&typeof t>\"u\"&&(t=e,e=null);var i=$U(r,t);if(typeof e!=\"function\")return i;for(var n=0,s=i.length;n<s;n+=1)e(i[n])}function t2(r,e){var t=$U(r,e);if(t.length!==0){if(t.length===1)return t[0];throw new jU(\"expected a single document in the stream, but found more\")}}function Fhe(r,e,t){return typeof e==\"object\"&&e!==null&&typeof t>\"u\"&&(t=e,e=null),e2(r,e,da.extend({schema:qU},t))}function Nhe(r,e){return t2(r,da.extend({schema:qU},e))}Kp.exports.loadAll=e2;Kp.exports.load=t2;Kp.exports.safeLoadAll=Fhe;Kp.exports.safeLoad=Nhe});var b2=w((UXe,OS)=>{\"use strict\";var Hp=Gl(),Gp=Qg(),Lhe=Mp(),The=Sg(),c2=Object.prototype.toString,u2=Object.prototype.hasOwnProperty,Ohe=9,Up=10,Mhe=13,Khe=32,Uhe=33,Hhe=34,g2=35,Ghe=37,Yhe=38,jhe=39,qhe=42,f2=44,Jhe=45,h2=58,Whe=61,zhe=62,Vhe=63,Xhe=64,p2=91,d2=93,_he=96,C2=123,Zhe=124,m2=125,Fi={};Fi[0]=\"\\\\0\";Fi[7]=\"\\\\a\";Fi[8]=\"\\\\b\";Fi[9]=\"\\\\t\";Fi[10]=\"\\\\n\";Fi[11]=\"\\\\v\";Fi[12]=\"\\\\f\";Fi[13]=\"\\\\r\";Fi[27]=\"\\\\e\";Fi[34]='\\\\\"';Fi[92]=\"\\\\\\\\\";Fi[133]=\"\\\\N\";Fi[160]=\"\\\\_\";Fi[8232]=\"\\\\L\";Fi[8233]=\"\\\\P\";var $he=[\"y\",\"Y\",\"yes\",\"Yes\",\"YES\",\"on\",\"On\",\"ON\",\"n\",\"N\",\"no\",\"No\",\"NO\",\"off\",\"Off\",\"OFF\"];function epe(r,e){var t,i,n,s,o,a,l;if(e===null)return{};for(t={},i=Object.keys(e),n=0,s=i.length;n<s;n+=1)o=i[n],a=String(e[o]),o.slice(0,2)===\"!!\"&&(o=\"tag:yaml.org,2002:\"+o.slice(2)),l=r.compiledTypeMap.fallback[o],l&&u2.call(l.styleAliases,a)&&(a=l.styleAliases[a]),t[o]=a;return t}function i2(r){var e,t,i;if(e=r.toString(16).toUpperCase(),r<=255)t=\"x\",i=2;else if(r<=65535)t=\"u\",i=4;else if(r<=4294967295)t=\"U\",i=8;else throw new Gp(\"code point within a string may not be greater than 0xFFFFFFFF\");return\"\\\\\"+t+Hp.repeat(\"0\",i-e.length)+e}function tpe(r){this.schema=r.schema||Lhe,this.indent=Math.max(1,r.indent||2),this.noArrayIndent=r.noArrayIndent||!1,this.skipInvalid=r.skipInvalid||!1,this.flowLevel=Hp.isNothing(r.flowLevel)?-1:r.flowLevel,this.styleMap=epe(this.schema,r.styles||null),this.sortKeys=r.sortKeys||!1,this.lineWidth=r.lineWidth||80,this.noRefs=r.noRefs||!1,this.noCompatMode=r.noCompatMode||!1,this.condenseFlow=r.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result=\"\",this.duplicates=[],this.usedDuplicates=null}function n2(r,e){for(var t=Hp.repeat(\" \",e),i=0,n=-1,s=\"\",o,a=r.length;i<a;)n=r.indexOf(`\n`,i),n===-1?(o=r.slice(i),i=a):(o=r.slice(i,n+1),i=n+1),o.length&&o!==`\n`&&(s+=t),s+=o;return s}function NS(r,e){return`\n`+Hp.repeat(\" \",r.indent*e)}function rpe(r,e){var t,i,n;for(t=0,i=r.implicitTypes.length;t<i;t+=1)if(n=r.implicitTypes[t],n.resolve(e))return!0;return!1}function TS(r){return r===Khe||r===Ohe}function Dg(r){return 32<=r&&r<=126||161<=r&&r<=55295&&r!==8232&&r!==8233||57344<=r&&r<=65533&&r!==65279||65536<=r&&r<=1114111}function ipe(r){return Dg(r)&&!TS(r)&&r!==65279&&r!==Mhe&&r!==Up}function s2(r,e){return Dg(r)&&r!==65279&&r!==f2&&r!==p2&&r!==d2&&r!==C2&&r!==m2&&r!==h2&&(r!==g2||e&&ipe(e))}function npe(r){return Dg(r)&&r!==65279&&!TS(r)&&r!==Jhe&&r!==Vhe&&r!==h2&&r!==f2&&r!==p2&&r!==d2&&r!==C2&&r!==m2&&r!==g2&&r!==Yhe&&r!==qhe&&r!==Uhe&&r!==Zhe&&r!==Whe&&r!==zhe&&r!==jhe&&r!==Hhe&&r!==Ghe&&r!==Xhe&&r!==_he}function E2(r){var e=/^\\n* /;return e.test(r)}var I2=1,y2=2,w2=3,B2=4,uI=5;function spe(r,e,t,i,n){var s,o,a,l=!1,c=!1,u=i!==-1,g=-1,f=npe(r.charCodeAt(0))&&!TS(r.charCodeAt(r.length-1));if(e)for(s=0;s<r.length;s++){if(o=r.charCodeAt(s),!Dg(o))return uI;a=s>0?r.charCodeAt(s-1):null,f=f&&s2(o,a)}else{for(s=0;s<r.length;s++){if(o=r.charCodeAt(s),o===Up)l=!0,u&&(c=c||s-g-1>i&&r[g+1]!==\" \",g=s);else if(!Dg(o))return uI;a=s>0?r.charCodeAt(s-1):null,f=f&&s2(o,a)}c=c||u&&s-g-1>i&&r[g+1]!==\" \"}return!l&&!c?f&&!n(r)?I2:y2:t>9&&E2(r)?uI:c?B2:w2}function ope(r,e,t,i){r.dump=function(){if(e.length===0)return\"''\";if(!r.noCompatMode&&$he.indexOf(e)!==-1)return\"'\"+e+\"'\";var n=r.indent*Math.max(1,t),s=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-n),o=i||r.flowLevel>-1&&t>=r.flowLevel;function a(l){return rpe(r,l)}switch(spe(e,o,r.indent,s,a)){case I2:return e;case y2:return\"'\"+e.replace(/'/g,\"''\")+\"'\";case w2:return\"|\"+o2(e,r.indent)+a2(n2(e,n));case B2:return\">\"+o2(e,r.indent)+a2(n2(ape(e,s),n));case uI:return'\"'+Ape(e,s)+'\"';default:throw new Gp(\"impossible error: invalid scalar style\")}}()}function o2(r,e){var t=E2(r)?String(e):\"\",i=r[r.length-1]===`\n`,n=i&&(r[r.length-2]===`\n`||r===`\n`),s=n?\"+\":i?\"\":\"-\";return t+s+`\n`}function a2(r){return r[r.length-1]===`\n`?r.slice(0,-1):r}function ape(r,e){for(var t=/(\\n+)([^\\n]*)/g,i=function(){var c=r.indexOf(`\n`);return c=c!==-1?c:r.length,t.lastIndex=c,A2(r.slice(0,c),e)}(),n=r[0]===`\n`||r[0]===\" \",s,o;o=t.exec(r);){var a=o[1],l=o[2];s=l[0]===\" \",i+=a+(!n&&!s&&l!==\"\"?`\n`:\"\")+A2(l,e),n=s}return i}function A2(r,e){if(r===\"\"||r[0]===\" \")return r;for(var t=/ [^ ]/g,i,n=0,s,o=0,a=0,l=\"\";i=t.exec(r);)a=i.index,a-n>e&&(s=o>n?o:a,l+=`\n`+r.slice(n,s),n=s+1),o=a;return l+=`\n`,r.length-n>e&&o>n?l+=r.slice(n,o)+`\n`+r.slice(o+1):l+=r.slice(n),l.slice(1)}function Ape(r){for(var e=\"\",t,i,n,s=0;s<r.length;s++){if(t=r.charCodeAt(s),t>=55296&&t<=56319&&(i=r.charCodeAt(s+1),i>=56320&&i<=57343)){e+=i2((t-55296)*1024+i-56320+65536),s++;continue}n=Fi[t],e+=!n&&Dg(t)?r[s]:n||i2(t)}return e}function lpe(r,e,t){var i=\"\",n=r.tag,s,o;for(s=0,o=t.length;s<o;s+=1)Wl(r,e,t[s],!1,!1)&&(s!==0&&(i+=\",\"+(r.condenseFlow?\"\":\" \")),i+=r.dump);r.tag=n,r.dump=\"[\"+i+\"]\"}function cpe(r,e,t,i){var n=\"\",s=r.tag,o,a;for(o=0,a=t.length;o<a;o+=1)Wl(r,e+1,t[o],!0,!0)&&((!i||o!==0)&&(n+=NS(r,e)),r.dump&&Up===r.dump.charCodeAt(0)?n+=\"-\":n+=\"- \",n+=r.dump);r.tag=s,r.dump=n||\"[]\"}function upe(r,e,t){var i=\"\",n=r.tag,s=Object.keys(t),o,a,l,c,u;for(o=0,a=s.length;o<a;o+=1)u=\"\",o!==0&&(u+=\", \"),r.condenseFlow&&(u+='\"'),l=s[o],c=t[l],Wl(r,e,l,!1,!1)&&(r.dump.length>1024&&(u+=\"? \"),u+=r.dump+(r.condenseFlow?'\"':\"\")+\":\"+(r.condenseFlow?\"\":\" \"),Wl(r,e,c,!1,!1)&&(u+=r.dump,i+=u));r.tag=n,r.dump=\"{\"+i+\"}\"}function gpe(r,e,t,i){var n=\"\",s=r.tag,o=Object.keys(t),a,l,c,u,g,f;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys==\"function\")o.sort(r.sortKeys);else if(r.sortKeys)throw new Gp(\"sortKeys must be a boolean or a function\");for(a=0,l=o.length;a<l;a+=1)f=\"\",(!i||a!==0)&&(f+=NS(r,e)),c=o[a],u=t[c],Wl(r,e+1,c,!0,!0,!0)&&(g=r.tag!==null&&r.tag!==\"?\"||r.dump&&r.dump.length>1024,g&&(r.dump&&Up===r.dump.charCodeAt(0)?f+=\"?\":f+=\"? \"),f+=r.dump,g&&(f+=NS(r,e)),Wl(r,e+1,u,!0,g)&&(r.dump&&Up===r.dump.charCodeAt(0)?f+=\":\":f+=\": \",f+=r.dump,n+=f));r.tag=s,r.dump=n||\"{}\"}function l2(r,e,t){var i,n,s,o,a,l;for(n=t?r.explicitTypes:r.implicitTypes,s=0,o=n.length;s<o;s+=1)if(a=n[s],(a.instanceOf||a.predicate)&&(!a.instanceOf||typeof e==\"object\"&&e instanceof a.instanceOf)&&(!a.predicate||a.predicate(e))){if(r.tag=t?a.tag:\"?\",a.represent){if(l=r.styleMap[a.tag]||a.defaultStyle,c2.call(a.represent)===\"[object Function]\")i=a.represent(e,l);else if(u2.call(a.represent,l))i=a.represent[l](e,l);else throw new Gp(\"!<\"+a.tag+'> tag resolver accepts not \"'+l+'\" style');r.dump=i}return!0}return!1}function Wl(r,e,t,i,n,s){r.tag=null,r.dump=t,l2(r,t,!1)||l2(r,t,!0);var o=c2.call(r.dump);i&&(i=r.flowLevel<0||r.flowLevel>e);var a=o===\"[object Object]\"||o===\"[object Array]\",l,c;if(a&&(l=r.duplicates.indexOf(t),c=l!==-1),(r.tag!==null&&r.tag!==\"?\"||c||r.indent!==2&&e>0)&&(n=!1),c&&r.usedDuplicates[l])r.dump=\"*ref_\"+l;else{if(a&&c&&!r.usedDuplicates[l]&&(r.usedDuplicates[l]=!0),o===\"[object Object]\")i&&Object.keys(r.dump).length!==0?(gpe(r,e,r.dump,n),c&&(r.dump=\"&ref_\"+l+r.dump)):(upe(r,e,r.dump),c&&(r.dump=\"&ref_\"+l+\" \"+r.dump));else if(o===\"[object Array]\"){var u=r.noArrayIndent&&e>0?e-1:e;i&&r.dump.length!==0?(cpe(r,u,r.dump,n),c&&(r.dump=\"&ref_\"+l+r.dump)):(lpe(r,u,r.dump),c&&(r.dump=\"&ref_\"+l+\" \"+r.dump))}else if(o===\"[object String]\")r.tag!==\"?\"&&ope(r,r.dump,e,s);else{if(r.skipInvalid)return!1;throw new Gp(\"unacceptable kind of an object to dump \"+o)}r.tag!==null&&r.tag!==\"?\"&&(r.dump=\"!<\"+r.tag+\"> \"+r.dump)}return!0}function fpe(r,e){var t=[],i=[],n,s;for(LS(r,t,i),n=0,s=i.length;n<s;n+=1)e.duplicates.push(t[i[n]]);e.usedDuplicates=new Array(s)}function LS(r,e,t){var i,n,s;if(r!==null&&typeof r==\"object\")if(n=e.indexOf(r),n!==-1)t.indexOf(n)===-1&&t.push(n);else if(e.push(r),Array.isArray(r))for(n=0,s=r.length;n<s;n+=1)LS(r[n],e,t);else for(i=Object.keys(r),n=0,s=i.length;n<s;n+=1)LS(r[i[n]],e,t)}function Q2(r,e){e=e||{};var t=new tpe(e);return t.noRefs||fpe(r,t),Wl(t,0,r,!0,!0)?t.dump+`\n`:\"\"}function hpe(r,e){return Q2(r,Hp.extend({schema:The},e))}OS.exports.dump=Q2;OS.exports.safeDump=hpe});var v2=w((HXe,Fr)=>{\"use strict\";var gI=r2(),S2=b2();function fI(r){return function(){throw new Error(\"Function \"+r+\" is deprecated and cannot be used.\")}}Fr.exports.Type=si();Fr.exports.Schema=Yl();Fr.exports.FAILSAFE_SCHEMA=sI();Fr.exports.JSON_SCHEMA=xS();Fr.exports.CORE_SCHEMA=PS();Fr.exports.DEFAULT_SAFE_SCHEMA=Sg();Fr.exports.DEFAULT_FULL_SCHEMA=Mp();Fr.exports.load=gI.load;Fr.exports.loadAll=gI.loadAll;Fr.exports.safeLoad=gI.safeLoad;Fr.exports.safeLoadAll=gI.safeLoadAll;Fr.exports.dump=S2.dump;Fr.exports.safeDump=S2.safeDump;Fr.exports.YAMLException=Qg();Fr.exports.MINIMAL_SCHEMA=sI();Fr.exports.SAFE_SCHEMA=Sg();Fr.exports.DEFAULT_SCHEMA=Mp();Fr.exports.scan=fI(\"scan\");Fr.exports.parse=fI(\"parse\");Fr.exports.compose=fI(\"compose\");Fr.exports.addConstructor=fI(\"addConstructor\")});var P2=w((GXe,x2)=>{\"use strict\";var ppe=v2();x2.exports=ppe});var k2=w((YXe,D2)=>{\"use strict\";function dpe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function zl(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name=\"SyntaxError\",typeof Error.captureStackTrace==\"function\"&&Error.captureStackTrace(this,zl)}dpe(zl,Error);zl.buildMessage=function(r,e){var t={literal:function(c){return'\"'+n(c.text)+'\"'},class:function(c){var u=\"\",g;for(g=0;g<c.parts.length;g++)u+=c.parts[g]instanceof Array?s(c.parts[g][0])+\"-\"+s(c.parts[g][1]):s(c.parts[g]);return\"[\"+(c.inverted?\"^\":\"\")+u+\"]\"},any:function(c){return\"any character\"},end:function(c){return\"end of input\"},other:function(c){return c.description}};function i(c){return c.charCodeAt(0).toString(16).toUpperCase()}function n(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"').replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function s(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\]/g,\"\\\\]\").replace(/\\^/g,\"\\\\^\").replace(/-/g,\"\\\\-\").replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function o(c){return t[c.type](c)}function a(c){var u=new Array(c.length),g,f;for(g=0;g<c.length;g++)u[g]=o(c[g]);if(u.sort(),u.length>0){for(g=1,f=1;g<u.length;g++)u[g-1]!==u[g]&&(u[f]=u[g],f++);u.length=f}switch(u.length){case 1:return u[0];case 2:return u[0]+\" or \"+u[1];default:return u.slice(0,-1).join(\", \")+\", or \"+u[u.length-1]}}function l(c){return c?'\"'+n(c)+'\"':\"end of input\"}return\"Expected \"+a(r)+\" but \"+l(e)+\" found.\"};function Cpe(r,e){e=e!==void 0?e:{};var t={},i={Start:Os},n=Os,s=function(R){return[].concat(...R)},o=\"-\",a=ar(\"-\",!1),l=function(R){return R},c=function(R){return Object.assign({},...R)},u=\"#\",g=ar(\"#\",!1),f=Sl(),h=function(){return{}},p=\":\",C=ar(\":\",!1),y=function(R,q){return{[R]:q}},B=\",\",v=ar(\",\",!1),D=function(R,q){return q},L=function(R,q,Ce){return Object.assign({},...[R].concat(q).map(Ke=>({[Ke]:Ce})))},H=function(R){return R},j=function(R){return R},$=Ts(\"correct indentation\"),V=\" \",W=ar(\" \",!1),Z=function(R){return R.length===pA*ug},A=function(R){return R.length===(pA+1)*ug},ae=function(){return pA++,!0},ge=function(){return pA--,!0},re=function(){return sg()},O=Ts(\"pseudostring\"),F=/^[^\\r\\n\\t ?:,\\][{}#&*!|>'\"%@`\\-]/,ue=Rn([\"\\r\",`\n`,\"\t\",\" \",\"?\",\":\",\",\",\"]\",\"[\",\"{\",\"}\",\"#\",\"&\",\"*\",\"!\",\"|\",\">\",\"'\",'\"',\"%\",\"@\",\"`\",\"-\"],!0,!1),he=/^[^\\r\\n\\t ,\\][{}:#\"']/,ke=Rn([\"\\r\",`\n`,\"\t\",\" \",\",\",\"]\",\"[\",\"{\",\"}\",\":\",\"#\",'\"',\"'\"],!0,!1),Fe=function(){return sg().replace(/^ *| *$/g,\"\")},Ne=\"--\",oe=ar(\"--\",!1),le=/^[a-zA-Z\\/0-9]/,we=Rn([[\"a\",\"z\"],[\"A\",\"Z\"],\"/\",[\"0\",\"9\"]],!1,!1),fe=/^[^\\r\\n\\t :,]/,Ae=Rn([\"\\r\",`\n`,\"\t\",\" \",\":\",\",\"],!0,!1),qe=\"null\",ne=ar(\"null\",!1),Y=function(){return null},pe=\"true\",ie=ar(\"true\",!1),de=function(){return!0},tt=\"false\",Pt=ar(\"false\",!1),It=function(){return!1},Or=Ts(\"string\"),ii='\"',gi=ar('\"',!1),hr=function(){return\"\"},fi=function(R){return R},ni=function(R){return R.join(\"\")},Ls=/^[^\"\\\\\\0-\\x1F\\x7F]/,pr=Rn(['\"',\"\\\\\",[\"\\0\",\"\u001f\"],\"\\x7F\"],!0,!1),Ei='\\\\\"',_n=ar('\\\\\"',!1),oa=function(){return'\"'},aA=\"\\\\\\\\\",eg=ar(\"\\\\\\\\\",!1),Zn=function(){return\"\\\\\"},AA=\"\\\\/\",aa=ar(\"\\\\/\",!1),up=function(){return\"/\"},lA=\"\\\\b\",cA=ar(\"\\\\b\",!1),wr=function(){return\"\\b\"},wl=\"\\\\f\",tg=ar(\"\\\\f\",!1),po=function(){return\"\\f\"},rg=\"\\\\n\",gp=ar(\"\\\\n\",!1),fp=function(){return`\n`},vr=\"\\\\r\",se=ar(\"\\\\r\",!1),Co=function(){return\"\\r\"},Dn=\"\\\\t\",ig=ar(\"\\\\t\",!1),Qt=function(){return\"\t\"},Bl=\"\\\\u\",kn=ar(\"\\\\u\",!1),$n=function(R,q,Ce,Ke){return String.fromCharCode(parseInt(`0x${R}${q}${Ce}${Ke}`))},es=/^[0-9a-fA-F]/,gt=Rn([[\"0\",\"9\"],[\"a\",\"f\"],[\"A\",\"F\"]],!1,!1),mo=Ts(\"blank space\"),At=/^[ \\t]/,an=Rn([\" \",\"\t\"],!1,!1),S=Ts(\"white space\"),Tt=/^[ \\t\\n\\r]/,ng=Rn([\" \",\"\t\",`\n`,\"\\r\"],!1,!1),Ql=`\\r\n`,hp=ar(`\\r\n`,!1),pp=`\n`,dp=ar(`\n`,!1),Cp=\"\\r\",mp=ar(\"\\r\",!1),G=0,yt=0,uA=[{line:1,column:1}],ji=0,bl=[],Xe=0,Aa;if(\"startRule\"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule \"`+e.startRule+'\".');n=i[e.startRule]}function sg(){return r.substring(yt,G)}function bE(){return An(yt,G)}function Ep(R,q){throw q=q!==void 0?q:An(yt,G),vl([Ts(R)],r.substring(yt,G),q)}function SE(R,q){throw q=q!==void 0?q:An(yt,G),og(R,q)}function ar(R,q){return{type:\"literal\",text:R,ignoreCase:q}}function Rn(R,q,Ce){return{type:\"class\",parts:R,inverted:q,ignoreCase:Ce}}function Sl(){return{type:\"any\"}}function Ip(){return{type:\"end\"}}function Ts(R){return{type:\"other\",description:R}}function la(R){var q=uA[R],Ce;if(q)return q;for(Ce=R-1;!uA[Ce];)Ce--;for(q=uA[Ce],q={line:q.line,column:q.column};Ce<R;)r.charCodeAt(Ce)===10?(q.line++,q.column=1):q.column++,Ce++;return uA[R]=q,q}function An(R,q){var Ce=la(R),Ke=la(q);return{start:{offset:R,line:Ce.line,column:Ce.column},end:{offset:q,line:Ke.line,column:Ke.column}}}function Te(R){G<ji||(G>ji&&(ji=G,bl=[]),bl.push(R))}function og(R,q){return new zl(R,null,null,q)}function vl(R,q,Ce){return new zl(zl.buildMessage(R,q),R,q,Ce)}function Os(){var R;return R=ag(),R}function xl(){var R,q,Ce;for(R=G,q=[],Ce=gA();Ce!==t;)q.push(Ce),Ce=gA();return q!==t&&(yt=R,q=s(q)),R=q,R}function gA(){var R,q,Ce,Ke,Re;return R=G,q=ua(),q!==t?(r.charCodeAt(G)===45?(Ce=o,G++):(Ce=t,Xe===0&&Te(a)),Ce!==t?(Ke=Rr(),Ke!==t?(Re=ca(),Re!==t?(yt=R,q=l(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R}function ag(){var R,q,Ce;for(R=G,q=[],Ce=Ag();Ce!==t;)q.push(Ce),Ce=Ag();return q!==t&&(yt=R,q=c(q)),R=q,R}function Ag(){var R,q,Ce,Ke,Re,ze,dt,Ft,Fn;if(R=G,q=Rr(),q===t&&(q=null),q!==t){if(Ce=G,r.charCodeAt(G)===35?(Ke=u,G++):(Ke=t,Xe===0&&Te(g)),Ke!==t){if(Re=[],ze=G,dt=G,Xe++,Ft=Us(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Te(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t),ze!==t)for(;ze!==t;)Re.push(ze),ze=G,dt=G,Xe++,Ft=Us(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Te(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t);else Re=t;Re!==t?(Ke=[Ke,Re],Ce=Ke):(G=Ce,Ce=t)}else G=Ce,Ce=t;if(Ce===t&&(Ce=null),Ce!==t){if(Ke=[],Re=Ks(),Re!==t)for(;Re!==t;)Ke.push(Re),Re=Ks();else Ke=t;Ke!==t?(yt=R,q=h(),R=q):(G=R,R=t)}else G=R,R=t}else G=R,R=t;if(R===t&&(R=G,q=ua(),q!==t?(Ce=Pl(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Te(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=ua(),q!==t?(Ce=Ms(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Te(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))){if(R=G,q=ua(),q!==t)if(Ce=Ms(),Ce!==t)if(Ke=Rr(),Ke!==t)if(Re=vE(),Re!==t){if(ze=[],dt=Ks(),dt!==t)for(;dt!==t;)ze.push(dt),dt=Ks();else ze=t;ze!==t?(yt=R,q=y(Ce,Re),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;else G=R,R=t;else G=R,R=t;if(R===t)if(R=G,q=ua(),q!==t)if(Ce=Ms(),Ce!==t){if(Ke=[],Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Te(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Fn=Ms(),Fn!==t?(yt=Re,ze=D(Ce,Fn),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t),Re!==t)for(;Re!==t;)Ke.push(Re),Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Te(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Fn=Ms(),Fn!==t?(yt=Re,ze=D(Ce,Fn),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t);else Ke=t;Ke!==t?(Re=Rr(),Re===t&&(Re=null),Re!==t?(r.charCodeAt(G)===58?(ze=p,G++):(ze=t,Xe===0&&Te(C)),ze!==t?(dt=Rr(),dt===t&&(dt=null),dt!==t?(Ft=ca(),Ft!==t?(yt=R,q=L(Ce,Ke,Ft),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)}else G=R,R=t;else G=R,R=t}return R}function ca(){var R,q,Ce,Ke,Re,ze,dt;if(R=G,q=G,Xe++,Ce=G,Ke=Us(),Ke!==t?(Re=rt(),Re!==t?(r.charCodeAt(G)===45?(ze=o,G++):(ze=t,Xe===0&&Te(a)),ze!==t?(dt=Rr(),dt!==t?(Ke=[Ke,Re,ze,dt],Ce=Ke):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t),Xe--,Ce!==t?(G=q,q=void 0):q=t,q!==t?(Ce=Ks(),Ce!==t?(Ke=Eo(),Ke!==t?(Re=xl(),Re!==t?(ze=fA(),ze!==t?(yt=R,q=H(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=Us(),q!==t?(Ce=Eo(),Ce!==t?(Ke=ag(),Ke!==t?(Re=fA(),Re!==t?(yt=R,q=H(Ke),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))if(R=G,q=Dl(),q!==t){if(Ce=[],Ke=Ks(),Ke!==t)for(;Ke!==t;)Ce.push(Ke),Ke=Ks();else Ce=t;Ce!==t?(yt=R,q=j(q),R=q):(G=R,R=t)}else G=R,R=t;return R}function ua(){var R,q,Ce;for(Xe++,R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));return q!==t?(yt=G,Ce=Z(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),Xe--,R===t&&(q=t,Xe===0&&Te($)),R}function rt(){var R,q,Ce;for(R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));return q!==t?(yt=G,Ce=A(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),R}function Eo(){var R;return yt=G,R=ae(),R?R=void 0:R=t,R}function fA(){var R;return yt=G,R=ge(),R?R=void 0:R=t,R}function Pl(){var R;return R=kl(),R===t&&(R=yp()),R}function Ms(){var R,q,Ce;if(R=kl(),R===t){if(R=G,q=[],Ce=lg(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=lg();else q=t;q!==t&&(yt=R,q=re()),R=q}return R}function Dl(){var R;return R=wp(),R===t&&(R=xE(),R===t&&(R=kl(),R===t&&(R=yp()))),R}function vE(){var R;return R=wp(),R===t&&(R=kl(),R===t&&(R=lg())),R}function yp(){var R,q,Ce,Ke,Re,ze;if(Xe++,R=G,F.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(ue)),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(he.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Te(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(he.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Te(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(O)),R}function lg(){var R,q,Ce,Ke,Re;if(R=G,r.substr(G,2)===Ne?(q=Ne,G+=2):(q=t,Xe===0&&Te(oe)),q===t&&(q=null),q!==t)if(le.test(r.charAt(G))?(Ce=r.charAt(G),G++):(Ce=t,Xe===0&&Te(we)),Ce!==t){for(Ke=[],fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Te(Ae));Re!==t;)Ke.push(Re),fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Te(Ae));Ke!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;return R}function wp(){var R,q;return R=G,r.substr(G,4)===qe?(q=qe,G+=4):(q=t,Xe===0&&Te(ne)),q!==t&&(yt=R,q=Y()),R=q,R}function xE(){var R,q;return R=G,r.substr(G,4)===pe?(q=pe,G+=4):(q=t,Xe===0&&Te(ie)),q!==t&&(yt=R,q=de()),R=q,R===t&&(R=G,r.substr(G,5)===tt?(q=tt,G+=5):(q=t,Xe===0&&Te(Pt)),q!==t&&(yt=R,q=It()),R=q),R}function kl(){var R,q,Ce,Ke;return Xe++,R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Te(gi)),q!==t?(r.charCodeAt(G)===34?(Ce=ii,G++):(Ce=t,Xe===0&&Te(gi)),Ce!==t?(yt=R,q=hr(),R=q):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Te(gi)),q!==t?(Ce=PE(),Ce!==t?(r.charCodeAt(G)===34?(Ke=ii,G++):(Ke=t,Xe===0&&Te(gi)),Ke!==t?(yt=R,q=fi(Ce),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)),Xe--,R===t&&(q=t,Xe===0&&Te(Or)),R}function PE(){var R,q,Ce;if(R=G,q=[],Ce=cg(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=cg();else q=t;return q!==t&&(yt=R,q=ni(q)),R=q,R}function cg(){var R,q,Ce,Ke,Re,ze;return Ls.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Te(pr)),R===t&&(R=G,r.substr(G,2)===Ei?(q=Ei,G+=2):(q=t,Xe===0&&Te(_n)),q!==t&&(yt=R,q=oa()),R=q,R===t&&(R=G,r.substr(G,2)===aA?(q=aA,G+=2):(q=t,Xe===0&&Te(eg)),q!==t&&(yt=R,q=Zn()),R=q,R===t&&(R=G,r.substr(G,2)===AA?(q=AA,G+=2):(q=t,Xe===0&&Te(aa)),q!==t&&(yt=R,q=up()),R=q,R===t&&(R=G,r.substr(G,2)===lA?(q=lA,G+=2):(q=t,Xe===0&&Te(cA)),q!==t&&(yt=R,q=wr()),R=q,R===t&&(R=G,r.substr(G,2)===wl?(q=wl,G+=2):(q=t,Xe===0&&Te(tg)),q!==t&&(yt=R,q=po()),R=q,R===t&&(R=G,r.substr(G,2)===rg?(q=rg,G+=2):(q=t,Xe===0&&Te(gp)),q!==t&&(yt=R,q=fp()),R=q,R===t&&(R=G,r.substr(G,2)===vr?(q=vr,G+=2):(q=t,Xe===0&&Te(se)),q!==t&&(yt=R,q=Co()),R=q,R===t&&(R=G,r.substr(G,2)===Dn?(q=Dn,G+=2):(q=t,Xe===0&&Te(ig)),q!==t&&(yt=R,q=Qt()),R=q,R===t&&(R=G,r.substr(G,2)===Bl?(q=Bl,G+=2):(q=t,Xe===0&&Te(kn)),q!==t?(Ce=hA(),Ce!==t?(Ke=hA(),Ke!==t?(Re=hA(),Re!==t?(ze=hA(),ze!==t?(yt=R,q=$n(Ce,Ke,Re,ze),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)))))))))),R}function hA(){var R;return es.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Te(gt)),R}function Rr(){var R,q;if(Xe++,R=[],At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(an)),q!==t)for(;q!==t;)R.push(q),At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(an));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(mo)),R}function DE(){var R,q;if(Xe++,R=[],Tt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(ng)),q!==t)for(;q!==t;)R.push(q),Tt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(ng));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(S)),R}function Ks(){var R,q,Ce,Ke,Re,ze;if(R=G,q=Us(),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=Us(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=Us(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)}else G=R,R=t;return R}function Us(){var R;return r.substr(G,2)===Ql?(R=Ql,G+=2):(R=t,Xe===0&&Te(hp)),R===t&&(r.charCodeAt(G)===10?(R=pp,G++):(R=t,Xe===0&&Te(dp)),R===t&&(r.charCodeAt(G)===13?(R=Cp,G++):(R=t,Xe===0&&Te(mp)))),R}let ug=2,pA=0;if(Aa=n(),Aa!==t&&G===r.length)return Aa;throw Aa!==t&&G<r.length&&Te(Ip()),vl(bl,ji<r.length?r.charAt(ji):null,ji<r.length?An(ji,ji+1):An(ji,ji))}D2.exports={SyntaxError:zl,parse:Cpe}});var O2=w((zXe,KS)=>{\"use strict\";var wpe=r=>{let e=!1,t=!1,i=!1;for(let n=0;n<r.length;n++){let s=r[n];e&&/[a-zA-Z]/.test(s)&&s.toUpperCase()===s?(r=r.slice(0,n)+\"-\"+r.slice(n),e=!1,i=t,t=!0,n++):t&&i&&/[a-zA-Z]/.test(s)&&s.toLowerCase()===s?(r=r.slice(0,n-1)+\"-\"+r.slice(n-1),i=t,t=!1,e=!0):(e=s.toLowerCase()===s&&s.toUpperCase()!==s,i=t,t=s.toUpperCase()===s&&s.toLowerCase()!==s)}return r},T2=(r,e)=>{if(!(typeof r==\"string\"||Array.isArray(r)))throw new TypeError(\"Expected the input to be `string | string[]`\");e=Object.assign({pascalCase:!1},e);let t=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(r)?r=r.map(n=>n.trim()).filter(n=>n.length).join(\"-\"):r=r.trim(),r.length===0?\"\":r.length===1?e.pascalCase?r.toUpperCase():r.toLowerCase():(r!==r.toLowerCase()&&(r=wpe(r)),r=r.replace(/^[_.\\- ]+/,\"\").toLowerCase().replace(/[_.\\- ]+(\\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\\d+(\\w|$)/g,n=>n.toUpperCase()),t(r))};KS.exports=T2;KS.exports.default=T2});var M2=w((VXe,Bpe)=>{Bpe.exports=[{name:\"AppVeyor\",constant:\"APPVEYOR\",env:\"APPVEYOR\",pr:\"APPVEYOR_PULL_REQUEST_NUMBER\"},{name:\"Azure Pipelines\",constant:\"AZURE_PIPELINES\",env:\"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI\",pr:\"SYSTEM_PULLREQUEST_PULLREQUESTID\"},{name:\"Appcircle\",constant:\"APPCIRCLE\",env:\"AC_APPCIRCLE\"},{name:\"Bamboo\",constant:\"BAMBOO\",env:\"bamboo_planKey\"},{name:\"Bitbucket Pipelines\",constant:\"BITBUCKET\",env:\"BITBUCKET_COMMIT\",pr:\"BITBUCKET_PR_ID\"},{name:\"Bitrise\",constant:\"BITRISE\",env:\"BITRISE_IO\",pr:\"BITRISE_PULL_REQUEST\"},{name:\"Buddy\",constant:\"BUDDY\",env:\"BUDDY_WORKSPACE_ID\",pr:\"BUDDY_EXECUTION_PULL_REQUEST_ID\"},{name:\"Buildkite\",constant:\"BUILDKITE\",env:\"BUILDKITE\",pr:{env:\"BUILDKITE_PULL_REQUEST\",ne:\"false\"}},{name:\"CircleCI\",constant:\"CIRCLE\",env:\"CIRCLECI\",pr:\"CIRCLE_PULL_REQUEST\"},{name:\"Cirrus CI\",constant:\"CIRRUS\",env:\"CIRRUS_CI\",pr:\"CIRRUS_PR\"},{name:\"AWS CodeBuild\",constant:\"CODEBUILD\",env:\"CODEBUILD_BUILD_ARN\"},{name:\"Codefresh\",constant:\"CODEFRESH\",env:\"CF_BUILD_ID\",pr:{any:[\"CF_PULL_REQUEST_NUMBER\",\"CF_PULL_REQUEST_ID\"]}},{name:\"Codeship\",constant:\"CODESHIP\",env:{CI_NAME:\"codeship\"}},{name:\"Drone\",constant:\"DRONE\",env:\"DRONE\",pr:{DRONE_BUILD_EVENT:\"pull_request\"}},{name:\"dsari\",constant:\"DSARI\",env:\"DSARI\"},{name:\"GitHub Actions\",constant:\"GITHUB_ACTIONS\",env:\"GITHUB_ACTIONS\",pr:{GITHUB_EVENT_NAME:\"pull_request\"}},{name:\"GitLab CI\",constant:\"GITLAB\",env:\"GITLAB_CI\",pr:\"CI_MERGE_REQUEST_ID\"},{name:\"GoCD\",constant:\"GOCD\",env:\"GO_PIPELINE_LABEL\"},{name:\"LayerCI\",constant:\"LAYERCI\",env:\"LAYERCI\",pr:\"LAYERCI_PULL_REQUEST\"},{name:\"Hudson\",constant:\"HUDSON\",env:\"HUDSON_URL\"},{name:\"Jenkins\",constant:\"JENKINS\",env:[\"JENKINS_URL\",\"BUILD_ID\"],pr:{any:[\"ghprbPullId\",\"CHANGE_ID\"]}},{name:\"Magnum CI\",constant:\"MAGNUM\",env:\"MAGNUM\"},{name:\"Netlify CI\",constant:\"NETLIFY\",env:\"NETLIFY\",pr:{env:\"PULL_REQUEST\",ne:\"false\"}},{name:\"Nevercode\",constant:\"NEVERCODE\",env:\"NEVERCODE\",pr:{env:\"NEVERCODE_PULL_REQUEST\",ne:\"false\"}},{name:\"Render\",constant:\"RENDER\",env:\"RENDER\",pr:{IS_PULL_REQUEST:\"true\"}},{name:\"Sail CI\",constant:\"SAIL\",env:\"SAILCI\",pr:\"SAIL_PULL_REQUEST_NUMBER\"},{name:\"Semaphore\",constant:\"SEMAPHORE\",env:\"SEMAPHORE\",pr:\"PULL_REQUEST_NUMBER\"},{name:\"Screwdriver\",constant:\"SCREWDRIVER\",env:\"SCREWDRIVER\",pr:{env:\"SD_PULL_REQUEST\",ne:\"false\"}},{name:\"Shippable\",constant:\"SHIPPABLE\",env:\"SHIPPABLE\",pr:{IS_PULL_REQUEST:\"true\"}},{name:\"Solano CI\",constant:\"SOLANO\",env:\"TDDIUM\",pr:\"TDDIUM_PR_ID\"},{name:\"Strider CD\",constant:\"STRIDER\",env:\"STRIDER\"},{name:\"TaskCluster\",constant:\"TASKCLUSTER\",env:[\"TASK_ID\",\"RUN_ID\"]},{name:\"TeamCity\",constant:\"TEAMCITY\",env:\"TEAMCITY_VERSION\"},{name:\"Travis CI\",constant:\"TRAVIS\",env:\"TRAVIS\",pr:{env:\"TRAVIS_PULL_REQUEST\",ne:\"false\"}},{name:\"Vercel\",constant:\"VERCEL\",env:\"NOW_BUILDER\"},{name:\"Visual Studio App Center\",constant:\"APPCENTER\",env:\"APPCENTER_BUILD_ID\"}]});var Vl=w(On=>{\"use strict\";var U2=M2(),Qo=process.env;Object.defineProperty(On,\"_vendors\",{value:U2.map(function(r){return r.constant})});On.name=null;On.isPR=null;U2.forEach(function(r){let t=(Array.isArray(r.env)?r.env:[r.env]).every(function(i){return K2(i)});if(On[r.constant]=t,t)switch(On.name=r.name,typeof r.pr){case\"string\":On.isPR=!!Qo[r.pr];break;case\"object\":\"env\"in r.pr?On.isPR=r.pr.env in Qo&&Qo[r.pr.env]!==r.pr.ne:\"any\"in r.pr?On.isPR=r.pr.any.some(function(i){return!!Qo[i]}):On.isPR=K2(r.pr);break;default:On.isPR=null}});On.isCI=!!(Qo.CI||Qo.CONTINUOUS_INTEGRATION||Qo.BUILD_NUMBER||Qo.RUN_ID||On.name);function K2(r){return typeof r==\"string\"?!!Qo[r]:Object.keys(r).every(function(e){return Qo[e]===r[e]})}});var gn={};ut(gn,{KeyRelationship:()=>Xl,applyCascade:()=>zp,base64RegExp:()=>q2,colorStringAlphaRegExp:()=>j2,colorStringRegExp:()=>Y2,computeKey:()=>BA,getPrintable:()=>Vr,hasExactLength:()=>X2,hasForbiddenKeys:()=>tde,hasKeyRelationship:()=>JS,hasMaxLength:()=>Mpe,hasMinLength:()=>Ope,hasMutuallyExclusiveKeys:()=>rde,hasRequiredKeys:()=>ede,hasUniqueItems:()=>Kpe,isArray:()=>Ppe,isAtLeast:()=>Gpe,isAtMost:()=>Ype,isBase64:()=>Zpe,isBoolean:()=>Spe,isDate:()=>xpe,isDict:()=>kpe,isEnum:()=>Wi,isHexColor:()=>_pe,isISO8601:()=>Xpe,isInExclusiveRange:()=>qpe,isInInclusiveRange:()=>jpe,isInstanceOf:()=>Fpe,isInteger:()=>Jpe,isJSON:()=>$pe,isLiteral:()=>Qpe,isLowerCase:()=>Wpe,isNegative:()=>Upe,isNullable:()=>Tpe,isNumber:()=>vpe,isObject:()=>Rpe,isOneOf:()=>Npe,isOptional:()=>Lpe,isPositive:()=>Hpe,isString:()=>Wp,isTuple:()=>Dpe,isUUID4:()=>Vpe,isUnknown:()=>V2,isUpperCase:()=>zpe,iso8601RegExp:()=>qS,makeCoercionFn:()=>_l,makeSetter:()=>z2,makeTrait:()=>W2,makeValidator:()=>bt,matchesRegExp:()=>Vp,plural:()=>EI,pushError:()=>pt,simpleKeyRegExp:()=>G2,uuid4RegExp:()=>J2});function bt({test:r}){return W2(r)()}function Vr(r){return r===null?\"null\":r===void 0?\"undefined\":r===\"\"?\"an empty string\":JSON.stringify(r)}function BA(r,e){var t,i,n;return typeof e==\"number\"?`${(t=r==null?void 0:r.p)!==null&&t!==void 0?t:\".\"}[${e}]`:G2.test(e)?`${(i=r==null?void 0:r.p)!==null&&i!==void 0?i:\"\"}.${e}`:`${(n=r==null?void 0:r.p)!==null&&n!==void 0?n:\".\"}[${JSON.stringify(e)}]`}function _l(r,e){return t=>{let i=r[e];return r[e]=t,_l(r,e).bind(null,i)}}function z2(r,e){return t=>{r[e]=t}}function EI(r,e,t){return r===1?e:t}function pt({errors:r,p:e}={},t){return r==null||r.push(`${e!=null?e:\".\"}: ${t}`),!1}function Qpe(r){return bt({test:(e,t)=>e!==r?pt(t,`Expected a literal (got ${Vr(r)})`):!0})}function Wi(r){let e=Array.isArray(r)?r:Object.values(r),t=new Set(e);return bt({test:(i,n)=>t.has(i)?!0:pt(n,`Expected a valid enumeration value (got ${Vr(i)})`)})}var G2,Y2,j2,q2,J2,qS,W2,V2,Wp,bpe,Spe,vpe,xpe,Ppe,Dpe,kpe,Rpe,Fpe,Npe,zp,Lpe,Tpe,Ope,Mpe,X2,Kpe,Upe,Hpe,Gpe,Ype,jpe,qpe,Jpe,Vp,Wpe,zpe,Vpe,Xpe,_pe,Zpe,$pe,ede,tde,rde,Xl,ide,JS,ns=Yue(()=>{G2=/^[a-zA-Z_][a-zA-Z0-9_]*$/,Y2=/^#[0-9a-f]{6}$/i,j2=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,q2=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,J2=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,qS=/^(?:[1-9]\\d{3}(-?)(?:(?:0[1-9]|1[0-2])\\1(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])\\1(?:29|30)|(?:0[13578]|1[02])(?:\\1)31|00[1-9]|0[1-9]\\d|[12]\\d{2}|3(?:[0-5]\\d|6[0-5]))|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\\2)29|-?366))T(?:[01]\\d|2[0-3])(:?)[0-5]\\d(?:\\3[0-5]\\d)?(?:Z|[+-][01]\\d(?:\\3[0-5]\\d)?)$/,W2=r=>()=>r;V2=()=>bt({test:(r,e)=>!0});Wp=()=>bt({test:(r,e)=>typeof r!=\"string\"?pt(e,`Expected a string (got ${Vr(r)})`):!0});bpe=new Map([[\"true\",!0],[\"True\",!0],[\"1\",!0],[1,!0],[\"false\",!1],[\"False\",!1],[\"0\",!1],[0,!1]]),Spe=()=>bt({test:(r,e)=>{var t;if(typeof r!=\"boolean\"){if(typeof(e==null?void 0:e.coercions)<\"u\"){if(typeof(e==null?void 0:e.coercion)>\"u\")return pt(e,\"Unbound coercion result\");let i=bpe.get(r);if(typeof i<\"u\")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:\".\",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a boolean (got ${Vr(r)})`)}return!0}}),vpe=()=>bt({test:(r,e)=>{var t;if(typeof r!=\"number\"){if(typeof(e==null?void 0:e.coercions)<\"u\"){if(typeof(e==null?void 0:e.coercion)>\"u\")return pt(e,\"Unbound coercion result\");let i;if(typeof r==\"string\"){let n;try{n=JSON.parse(r)}catch{}if(typeof n==\"number\")if(JSON.stringify(n)===r)i=n;else return pt(e,`Received a number that can't be safely represented by the runtime (${r})`)}if(typeof i<\"u\")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:\".\",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a number (got ${Vr(r)})`)}return!0}}),xpe=()=>bt({test:(r,e)=>{var t;if(!(r instanceof Date)){if(typeof(e==null?void 0:e.coercions)<\"u\"){if(typeof(e==null?void 0:e.coercion)>\"u\")return pt(e,\"Unbound coercion result\");let i;if(typeof r==\"string\"&&qS.test(r))i=new Date(r);else{let n;if(typeof r==\"string\"){let s;try{s=JSON.parse(r)}catch{}typeof s==\"number\"&&(n=s)}else typeof r==\"number\"&&(n=r);if(typeof n<\"u\")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return pt(e,`Received a timestamp that can't be safely represented by the runtime (${r})`)}if(typeof i<\"u\")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:\".\",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a date (got ${Vr(r)})`)}return!0}}),Ppe=(r,{delimiter:e}={})=>bt({test:(t,i)=>{var n;if(typeof t==\"string\"&&typeof e<\"u\"&&typeof(i==null?void 0:i.coercions)<\"u\"){if(typeof(i==null?void 0:i.coercion)>\"u\")return pt(i,\"Unbound coercion result\");t=t.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:\".\",i.coercion.bind(null,t)])}if(!Array.isArray(t))return pt(i,`Expected an array (got ${Vr(t)})`);let s=!0;for(let o=0,a=t.length;o<a&&(s=r(t[o],Object.assign(Object.assign({},i),{p:BA(i,o),coercion:_l(t,o)}))&&s,!(!s&&(i==null?void 0:i.errors)==null));++o);return s}}),Dpe=(r,{delimiter:e}={})=>{let t=X2(r.length);return bt({test:(i,n)=>{var s;if(typeof i==\"string\"&&typeof e<\"u\"&&typeof(n==null?void 0:n.coercions)<\"u\"){if(typeof(n==null?void 0:n.coercion)>\"u\")return pt(n,\"Unbound coercion result\");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:\".\",n.coercion.bind(null,i)])}if(!Array.isArray(i))return pt(n,`Expected a tuple (got ${Vr(i)})`);let o=t(i,Object.assign({},n));for(let a=0,l=i.length;a<l&&a<r.length&&(o=r[a](i[a],Object.assign(Object.assign({},n),{p:BA(n,a),coercion:_l(i,a)}))&&o,!(!o&&(n==null?void 0:n.errors)==null));++a);return o}})},kpe=(r,{keys:e=null}={})=>bt({test:(t,i)=>{if(typeof t!=\"object\"||t===null)return pt(i,`Expected an object (got ${Vr(t)})`);let n=Object.keys(t),s=!0;for(let o=0,a=n.length;o<a&&(s||(i==null?void 0:i.errors)!=null);++o){let l=n[o],c=t[l];if(l===\"__proto__\"||l===\"constructor\"){s=pt(Object.assign(Object.assign({},i),{p:BA(i,l)}),\"Unsafe property name\");continue}if(e!==null&&!e(l,i)){s=!1;continue}if(!r(c,Object.assign(Object.assign({},i),{p:BA(i,l),coercion:_l(t,l)}))){s=!1;continue}}return s}}),Rpe=(r,{extra:e=null}={})=>{let t=Object.keys(r);return bt({test:(i,n)=>{if(typeof i!=\"object\"||i===null)return pt(n,`Expected an object (got ${Vr(i)})`);let s=new Set([...t,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l===\"constructor\"||l===\"__proto__\")a=pt(Object.assign(Object.assign({},n),{p:BA(n,l)}),\"Unsafe property name\");else{let c=Object.prototype.hasOwnProperty.call(r,l)?r[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c<\"u\"?a=c(u,Object.assign(Object.assign({},n),{p:BA(n,l),coercion:_l(i,l)}))&&a:e===null?a=pt(Object.assign(Object.assign({},n),{p:BA(n,l)}),`Extraneous property (got ${Vr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:z2(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Fpe=r=>bt({test:(e,t)=>e instanceof r?!0:pt(t,`Expected an instance of ${r.name} (got ${Vr(e)})`)}),Npe=(r,{exclusive:e=!1}={})=>bt({test:(t,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)<\"u\"?[]:void 0;for(let c=0,u=r.length;c<u;++c){let g=typeof(i==null?void 0:i.errors)<\"u\"?[]:void 0,f=typeof(i==null?void 0:i.coercions)<\"u\"?[]:void 0;if(r[c](t,Object.assign(Object.assign({},i),{errors:g,coercions:f,p:`${(n=i==null?void 0:i.p)!==null&&n!==void 0?n:\".\"}#${c+1}`}))){if(a.push([`#${c+1}`,f]),!e)break}else l==null||l.push(g[0])}if(a.length===1){let[,c]=a[0];return typeof c<\"u\"&&((s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...c)),!0}return a.length>1?pt(i,`Expected to match exactly a single predicate (matched ${a.join(\", \")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),zp=(r,e)=>bt({test:(t,i)=>{var n,s;let o={value:t},a=typeof(i==null?void 0:i.coercions)<\"u\"?_l(o,\"value\"):void 0,l=typeof(i==null?void 0:i.coercions)<\"u\"?[]:void 0;if(!r(t,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l<\"u\")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)<\"u\"){if(o.value!==t){if(typeof(i==null?void 0:i.coercion)>\"u\")return pt(i,\"Unbound coercion result\");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:\".\",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),Lpe=r=>bt({test:(e,t)=>typeof e>\"u\"?!0:r(e,t)}),Tpe=r=>bt({test:(e,t)=>e===null?!0:r(e,t)}),Ope=r=>bt({test:(e,t)=>e.length>=r?!0:pt(t,`Expected to have a length of at least ${r} elements (got ${e.length})`)}),Mpe=r=>bt({test:(e,t)=>e.length<=r?!0:pt(t,`Expected to have a length of at most ${r} elements (got ${e.length})`)}),X2=r=>bt({test:(e,t)=>e.length!==r?pt(t,`Expected to have a length of exactly ${r} elements (got ${e.length})`):!0}),Kpe=({map:r}={})=>bt({test:(e,t)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;s<o;++s){let a=e[s],l=typeof r<\"u\"?r(a):a;if(i.has(l)){if(n.has(l))continue;pt(t,`Expected to contain unique elements; got a duplicate with ${Vr(e)}`),n.add(l)}else i.add(l)}return n.size===0}}),Upe=()=>bt({test:(r,e)=>r<=0?!0:pt(e,`Expected to be negative (got ${r})`)}),Hpe=()=>bt({test:(r,e)=>r>=0?!0:pt(e,`Expected to be positive (got ${r})`)}),Gpe=r=>bt({test:(e,t)=>e>=r?!0:pt(t,`Expected to be at least ${r} (got ${e})`)}),Ype=r=>bt({test:(e,t)=>e<=r?!0:pt(t,`Expected to be at most ${r} (got ${e})`)}),jpe=(r,e)=>bt({test:(t,i)=>t>=r&&t<=e?!0:pt(i,`Expected to be in the [${r}; ${e}] range (got ${t})`)}),qpe=(r,e)=>bt({test:(t,i)=>t>=r&&t<e?!0:pt(i,`Expected to be in the [${r}; ${e}[ range (got ${t})`)}),Jpe=({unsafe:r=!1}={})=>bt({test:(e,t)=>e!==Math.round(e)?pt(t,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:pt(t,`Expected to be a safe integer (got ${e})`)}),Vp=r=>bt({test:(e,t)=>r.test(e)?!0:pt(t,`Expected to match the pattern ${r.toString()} (got ${Vr(e)})`)}),Wpe=()=>bt({test:(r,e)=>r!==r.toLowerCase()?pt(e,`Expected to be all-lowercase (got ${r})`):!0}),zpe=()=>bt({test:(r,e)=>r!==r.toUpperCase()?pt(e,`Expected to be all-uppercase (got ${r})`):!0}),Vpe=()=>bt({test:(r,e)=>J2.test(r)?!0:pt(e,`Expected to be a valid UUID v4 (got ${Vr(r)})`)}),Xpe=()=>bt({test:(r,e)=>qS.test(r)?!1:pt(e,`Expected to be a valid ISO 8601 date string (got ${Vr(r)})`)}),_pe=({alpha:r=!1})=>bt({test:(e,t)=>(r?Y2.test(e):j2.test(e))?!0:pt(t,`Expected to be a valid hexadecimal color string (got ${Vr(e)})`)}),Zpe=()=>bt({test:(r,e)=>q2.test(r)?!0:pt(e,`Expected to be a valid base 64 string (got ${Vr(r)})`)}),$pe=(r=V2())=>bt({test:(e,t)=>{let i;try{i=JSON.parse(e)}catch{return pt(t,`Expected to be a valid JSON string (got ${Vr(e)})`)}return r(i,t)}}),ede=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?pt(i,`Missing required ${EI(s.length,\"property\",\"properties\")} ${s.map(o=>`\"${o}\"`).join(\", \")}`):!0}})},tde=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?pt(i,`Forbidden ${EI(s.length,\"property\",\"properties\")} ${s.map(o=>`\"${o}\"`).join(\", \")}`):!0}})},rde=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?pt(i,`Mutually exclusive properties ${s.map(o=>`\"${o}\"`).join(\", \")}`):!0}})};(function(r){r.Forbids=\"Forbids\",r.Requires=\"Requires\"})(Xl||(Xl={}));ide={[Xl.Forbids]:{expect:!1,message:\"forbids using\"},[Xl.Requires]:{expect:!0,message:\"requires using\"}},JS=(r,e,t,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(t),o=ide[e];return bt({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(r)||n.has(a[r]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?pt(l,`Property \"${r}\" ${o.message} ${EI(u.length,\"property\",\"properties\")} ${u.map(g=>`\"${g}\"`).join(\", \")}`):!0}})}});var fH=w((V_e,gH)=>{\"use strict\";gH.exports=(r,...e)=>new Promise(t=>{t(r(...e))})});var Tg=w((X_e,ev)=>{\"use strict\";var Ide=fH(),hH=r=>{if(r<1)throw new TypeError(\"Expected `concurrency` to be a number from 1 and up\");let e=[],t=0,i=()=>{t--,e.length>0&&e.shift()()},n=(a,l,...c)=>{t++;let u=Ide(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{t<r?n(a,l,...c):e.push(n.bind(null,a,l,...c))},o=(a,...l)=>new Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>t},pendingCount:{get:()=>e.length}}),o};ev.exports=hH;ev.exports.default=hH});var ed=w((Z_e,pH)=>{var yde=\"2.0.0\",wde=Number.MAX_SAFE_INTEGER||9007199254740991,Bde=16;pH.exports={SEMVER_SPEC_VERSION:yde,MAX_LENGTH:256,MAX_SAFE_INTEGER:wde,MAX_SAFE_COMPONENT_LENGTH:Bde}});var td=w(($_e,dH)=>{var Qde=typeof process==\"object\"&&process.env&&process.env.NODE_DEBUG&&/\\bsemver\\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error(\"SEMVER\",...r):()=>{};dH.exports=Qde});var Zl=w((bA,CH)=>{var{MAX_SAFE_COMPONENT_LENGTH:tv}=ed(),bde=td();bA=CH.exports={};var Sde=bA.re=[],$e=bA.src=[],et=bA.t={},vde=0,St=(r,e,t)=>{let i=vde++;bde(i,e),et[r]=i,$e[i]=e,Sde[i]=new RegExp(e,t?\"g\":void 0)};St(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\");St(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\");St(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\");St(\"MAINVERSION\",`(${$e[et.NUMERICIDENTIFIER]})\\\\.(${$e[et.NUMERICIDENTIFIER]})\\\\.(${$e[et.NUMERICIDENTIFIER]})`);St(\"MAINVERSIONLOOSE\",`(${$e[et.NUMERICIDENTIFIERLOOSE]})\\\\.(${$e[et.NUMERICIDENTIFIERLOOSE]})\\\\.(${$e[et.NUMERICIDENTIFIERLOOSE]})`);St(\"PRERELEASEIDENTIFIER\",`(?:${$e[et.NUMERICIDENTIFIER]}|${$e[et.NONNUMERICIDENTIFIER]})`);St(\"PRERELEASEIDENTIFIERLOOSE\",`(?:${$e[et.NUMERICIDENTIFIERLOOSE]}|${$e[et.NONNUMERICIDENTIFIER]})`);St(\"PRERELEASE\",`(?:-(${$e[et.PRERELEASEIDENTIFIER]}(?:\\\\.${$e[et.PRERELEASEIDENTIFIER]})*))`);St(\"PRERELEASELOOSE\",`(?:-?(${$e[et.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${$e[et.PRERELEASEIDENTIFIERLOOSE]})*))`);St(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\");St(\"BUILD\",`(?:\\\\+(${$e[et.BUILDIDENTIFIER]}(?:\\\\.${$e[et.BUILDIDENTIFIER]})*))`);St(\"FULLPLAIN\",`v?${$e[et.MAINVERSION]}${$e[et.PRERELEASE]}?${$e[et.BUILD]}?`);St(\"FULL\",`^${$e[et.FULLPLAIN]}$`);St(\"LOOSEPLAIN\",`[v=\\\\s]*${$e[et.MAINVERSIONLOOSE]}${$e[et.PRERELEASELOOSE]}?${$e[et.BUILD]}?`);St(\"LOOSE\",`^${$e[et.LOOSEPLAIN]}$`);St(\"GTLT\",\"((?:<|>)?=?)\");St(\"XRANGEIDENTIFIERLOOSE\",`${$e[et.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);St(\"XRANGEIDENTIFIER\",`${$e[et.NUMERICIDENTIFIER]}|x|X|\\\\*`);St(\"XRANGEPLAIN\",`[v=\\\\s]*(${$e[et.XRANGEIDENTIFIER]})(?:\\\\.(${$e[et.XRANGEIDENTIFIER]})(?:\\\\.(${$e[et.XRANGEIDENTIFIER]})(?:${$e[et.PRERELEASE]})?${$e[et.BUILD]}?)?)?`);St(\"XRANGEPLAINLOOSE\",`[v=\\\\s]*(${$e[et.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${$e[et.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${$e[et.XRANGEIDENTIFIERLOOSE]})(?:${$e[et.PRERELEASELOOSE]})?${$e[et.BUILD]}?)?)?`);St(\"XRANGE\",`^${$e[et.GTLT]}\\\\s*${$e[et.XRANGEPLAIN]}$`);St(\"XRANGELOOSE\",`^${$e[et.GTLT]}\\\\s*${$e[et.XRANGEPLAINLOOSE]}$`);St(\"COERCE\",`(^|[^\\\\d])(\\\\d{1,${tv}})(?:\\\\.(\\\\d{1,${tv}}))?(?:\\\\.(\\\\d{1,${tv}}))?(?:$|[^\\\\d])`);St(\"COERCERTL\",$e[et.COERCE],!0);St(\"LONETILDE\",\"(?:~>?)\");St(\"TILDETRIM\",`(\\\\s*)${$e[et.LONETILDE]}\\\\s+`,!0);bA.tildeTrimReplace=\"$1~\";St(\"TILDE\",`^${$e[et.LONETILDE]}${$e[et.XRANGEPLAIN]}$`);St(\"TILDELOOSE\",`^${$e[et.LONETILDE]}${$e[et.XRANGEPLAINLOOSE]}$`);St(\"LONECARET\",\"(?:\\\\^)\");St(\"CARETTRIM\",`(\\\\s*)${$e[et.LONECARET]}\\\\s+`,!0);bA.caretTrimReplace=\"$1^\";St(\"CARET\",`^${$e[et.LONECARET]}${$e[et.XRANGEPLAIN]}$`);St(\"CARETLOOSE\",`^${$e[et.LONECARET]}${$e[et.XRANGEPLAINLOOSE]}$`);St(\"COMPARATORLOOSE\",`^${$e[et.GTLT]}\\\\s*(${$e[et.LOOSEPLAIN]})$|^$`);St(\"COMPARATOR\",`^${$e[et.GTLT]}\\\\s*(${$e[et.FULLPLAIN]})$|^$`);St(\"COMPARATORTRIM\",`(\\\\s*)${$e[et.GTLT]}\\\\s*(${$e[et.LOOSEPLAIN]}|${$e[et.XRANGEPLAIN]})`,!0);bA.comparatorTrimReplace=\"$1$2$3\";St(\"HYPHENRANGE\",`^\\\\s*(${$e[et.XRANGEPLAIN]})\\\\s+-\\\\s+(${$e[et.XRANGEPLAIN]})\\\\s*$`);St(\"HYPHENRANGELOOSE\",`^\\\\s*(${$e[et.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${$e[et.XRANGEPLAINLOOSE]})\\\\s*$`);St(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\");St(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\");St(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")});var rd=w((eZe,mH)=>{var xde=[\"includePrerelease\",\"loose\",\"rtl\"],Pde=r=>r?typeof r!=\"object\"?{loose:!0}:xde.filter(e=>r[e]).reduce((e,t)=>(e[t]=!0,e),{}):{};mH.exports=Pde});var bI=w((tZe,yH)=>{var EH=/^[0-9]+$/,IH=(r,e)=>{let t=EH.test(r),i=EH.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:r<e?-1:1},Dde=(r,e)=>IH(e,r);yH.exports={compareIdentifiers:IH,rcompareIdentifiers:Dde}});var Li=w((rZe,bH)=>{var SI=td(),{MAX_LENGTH:wH,MAX_SAFE_INTEGER:vI}=ed(),{re:BH,t:QH}=Zl(),kde=rd(),{compareIdentifiers:id}=bI(),Un=class{constructor(e,t){if(t=kde(t),e instanceof Un){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!=\"string\")throw new TypeError(`Invalid Version: ${e}`);if(e.length>wH)throw new TypeError(`version is longer than ${wH} characters`);SI(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let i=e.trim().match(t.loose?BH[QH.LOOSE]:BH[QH.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>vI||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>vI||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>vI||this.patch<0)throw new TypeError(\"Invalid patch version\");i[4]?this.prerelease=i[4].split(\".\").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s<vI)return s}return n}):this.prerelease=[],this.build=i[5]?i[5].split(\".\"):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(\".\")}`),this.version}toString(){return this.version}compare(e){if(SI(\"SemVer.compare\",this.version,this.options,e),!(e instanceof Un)){if(typeof e==\"string\"&&e===this.version)return 0;e=new Un(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof Un||(e=new Un(e,this.options)),id(this.major,e.major)||id(this.minor,e.minor)||id(this.patch,e.patch)}comparePre(e){if(e instanceof Un||(e=new Un(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{let i=this.prerelease[t],n=e.prerelease[t];if(SI(\"prerelease compare\",t,i,n),i===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(i===void 0)return-1;if(i===n)continue;return id(i,n)}while(++t)}compareBuild(e){e instanceof Un||(e=new Un(e,this.options));let t=0;do{let i=this.build[t],n=e.build[t];if(SI(\"prerelease compare\",t,i,n),i===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(i===void 0)return-1;if(i===n)continue;return id(i,n)}while(++t)}inc(e,t){switch(e){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",t);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",t);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",t),this.inc(\"pre\",t);break;case\"prerelease\":this.prerelease.length===0&&this.inc(\"patch\",t),this.inc(\"pre\",t);break;case\"major\":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case\"pre\":if(this.prerelease.length===0)this.prerelease=[0];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]==\"number\"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};bH.exports=Un});var $l=w((iZe,PH)=>{var{MAX_LENGTH:Rde}=ed(),{re:SH,t:vH}=Zl(),xH=Li(),Fde=rd(),Nde=(r,e)=>{if(e=Fde(e),r instanceof xH)return r;if(typeof r!=\"string\"||r.length>Rde||!(e.loose?SH[vH.LOOSE]:SH[vH.FULL]).test(r))return null;try{return new xH(r,e)}catch{return null}};PH.exports=Nde});var kH=w((nZe,DH)=>{var Lde=$l(),Tde=(r,e)=>{let t=Lde(r,e);return t?t.version:null};DH.exports=Tde});var FH=w((sZe,RH)=>{var Ode=$l(),Mde=(r,e)=>{let t=Ode(r.trim().replace(/^[=v]+/,\"\"),e);return t?t.version:null};RH.exports=Mde});var LH=w((oZe,NH)=>{var Kde=Li(),Ude=(r,e,t,i)=>{typeof t==\"string\"&&(i=t,t=void 0);try{return new Kde(r,t).inc(e,i).version}catch{return null}};NH.exports=Ude});var ss=w((aZe,OH)=>{var TH=Li(),Hde=(r,e,t)=>new TH(r,t).compare(new TH(e,t));OH.exports=Hde});var xI=w((AZe,MH)=>{var Gde=ss(),Yde=(r,e,t)=>Gde(r,e,t)===0;MH.exports=Yde});var HH=w((lZe,UH)=>{var KH=$l(),jde=xI(),qde=(r,e)=>{if(jde(r,e))return null;{let t=KH(r),i=KH(e),n=t.prerelease.length||i.prerelease.length,s=n?\"pre\":\"\",o=n?\"prerelease\":\"\";for(let a in t)if((a===\"major\"||a===\"minor\"||a===\"patch\")&&t[a]!==i[a])return s+a;return o}};UH.exports=qde});var YH=w((cZe,GH)=>{var Jde=Li(),Wde=(r,e)=>new Jde(r,e).major;GH.exports=Wde});var qH=w((uZe,jH)=>{var zde=Li(),Vde=(r,e)=>new zde(r,e).minor;jH.exports=Vde});var WH=w((gZe,JH)=>{var Xde=Li(),_de=(r,e)=>new Xde(r,e).patch;JH.exports=_de});var VH=w((fZe,zH)=>{var Zde=$l(),$de=(r,e)=>{let t=Zde(r,e);return t&&t.prerelease.length?t.prerelease:null};zH.exports=$de});var _H=w((hZe,XH)=>{var eCe=ss(),tCe=(r,e,t)=>eCe(e,r,t);XH.exports=tCe});var $H=w((pZe,ZH)=>{var rCe=ss(),iCe=(r,e)=>rCe(r,e,!0);ZH.exports=iCe});var PI=w((dZe,tG)=>{var eG=Li(),nCe=(r,e,t)=>{let i=new eG(r,t),n=new eG(e,t);return i.compare(n)||i.compareBuild(n)};tG.exports=nCe});var iG=w((CZe,rG)=>{var sCe=PI(),oCe=(r,e)=>r.sort((t,i)=>sCe(t,i,e));rG.exports=oCe});var sG=w((mZe,nG)=>{var aCe=PI(),ACe=(r,e)=>r.sort((t,i)=>aCe(i,t,e));nG.exports=ACe});var nd=w((EZe,oG)=>{var lCe=ss(),cCe=(r,e,t)=>lCe(r,e,t)>0;oG.exports=cCe});var DI=w((IZe,aG)=>{var uCe=ss(),gCe=(r,e,t)=>uCe(r,e,t)<0;aG.exports=gCe});var rv=w((yZe,AG)=>{var fCe=ss(),hCe=(r,e,t)=>fCe(r,e,t)!==0;AG.exports=hCe});var kI=w((wZe,lG)=>{var pCe=ss(),dCe=(r,e,t)=>pCe(r,e,t)>=0;lG.exports=dCe});var RI=w((BZe,cG)=>{var CCe=ss(),mCe=(r,e,t)=>CCe(r,e,t)<=0;cG.exports=mCe});var iv=w((QZe,uG)=>{var ECe=xI(),ICe=rv(),yCe=nd(),wCe=kI(),BCe=DI(),QCe=RI(),bCe=(r,e,t,i)=>{switch(e){case\"===\":return typeof r==\"object\"&&(r=r.version),typeof t==\"object\"&&(t=t.version),r===t;case\"!==\":return typeof r==\"object\"&&(r=r.version),typeof t==\"object\"&&(t=t.version),r!==t;case\"\":case\"=\":case\"==\":return ECe(r,t,i);case\"!=\":return ICe(r,t,i);case\">\":return yCe(r,t,i);case\">=\":return wCe(r,t,i);case\"<\":return BCe(r,t,i);case\"<=\":return QCe(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};uG.exports=bCe});var fG=w((bZe,gG)=>{var SCe=Li(),vCe=$l(),{re:FI,t:NI}=Zl(),xCe=(r,e)=>{if(r instanceof SCe)return r;if(typeof r==\"number\"&&(r=String(r)),typeof r!=\"string\")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(FI[NI.COERCE]);else{let i;for(;(i=FI[NI.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),FI[NI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;FI[NI.COERCERTL].lastIndex=-1}return t===null?null:vCe(`${t[2]}.${t[3]||\"0\"}.${t[4]||\"0\"}`,e)};gG.exports=xCe});var pG=w((SZe,hG)=>{\"use strict\";hG.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var sd=w((vZe,dG)=>{\"use strict\";dG.exports=Ht;Ht.Node=ec;Ht.create=Ht;function Ht(r){var e=this;if(e instanceof Ht||(e=new Ht),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach==\"function\")r.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var t=0,i=arguments.length;t<i;t++)e.push(arguments[t]);return e}Ht.prototype.removeNode=function(r){if(r.list!==this)throw new Error(\"removing node which does not belong to this list\");var e=r.next,t=r.prev;return e&&(e.prev=t),t&&(t.next=e),r===this.head&&(this.head=e),r===this.tail&&(this.tail=t),r.list.length--,r.next=null,r.prev=null,r.list=null,e};Ht.prototype.unshiftNode=function(r){if(r!==this.head){r.list&&r.list.removeNode(r);var e=this.head;r.list=this,r.next=e,e&&(e.prev=r),this.head=r,this.tail||(this.tail=r),this.length++}};Ht.prototype.pushNode=function(r){if(r!==this.tail){r.list&&r.list.removeNode(r);var e=this.tail;r.list=this,r.prev=e,e&&(e.next=r),this.tail=r,this.head||(this.head=r),this.length++}};Ht.prototype.push=function(){for(var r=0,e=arguments.length;r<e;r++)DCe(this,arguments[r]);return this.length};Ht.prototype.unshift=function(){for(var r=0,e=arguments.length;r<e;r++)kCe(this,arguments[r]);return this.length};Ht.prototype.pop=function(){if(!!this.tail){var r=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,r}};Ht.prototype.shift=function(){if(!!this.head){var r=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,r}};Ht.prototype.forEach=function(r,e){e=e||this;for(var t=this.head,i=0;t!==null;i++)r.call(e,t.value,i,this),t=t.next};Ht.prototype.forEachReverse=function(r,e){e=e||this;for(var t=this.tail,i=this.length-1;t!==null;i--)r.call(e,t.value,i,this),t=t.prev};Ht.prototype.get=function(r){for(var e=0,t=this.head;t!==null&&e<r;e++)t=t.next;if(e===r&&t!==null)return t.value};Ht.prototype.getReverse=function(r){for(var e=0,t=this.tail;t!==null&&e<r;e++)t=t.prev;if(e===r&&t!==null)return t.value};Ht.prototype.map=function(r,e){e=e||this;for(var t=new Ht,i=this.head;i!==null;)t.push(r.call(e,i.value,this)),i=i.next;return t};Ht.prototype.mapReverse=function(r,e){e=e||this;for(var t=new Ht,i=this.tail;i!==null;)t.push(r.call(e,i.value,this)),i=i.prev;return t};Ht.prototype.reduce=function(r,e){var t,i=this.head;if(arguments.length>1)t=e;else if(this.head)i=this.head.next,t=this.head.value;else throw new TypeError(\"Reduce of empty list with no initial value\");for(var n=0;i!==null;n++)t=r(t,i.value,n),i=i.next;return t};Ht.prototype.reduceReverse=function(r,e){var t,i=this.tail;if(arguments.length>1)t=e;else if(this.tail)i=this.tail.prev,t=this.tail.value;else throw new TypeError(\"Reduce of empty list with no initial value\");for(var n=this.length-1;i!==null;n--)t=r(t,i.value,n),i=i.prev;return t};Ht.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r};Ht.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r};Ht.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Ht;if(e<r||e<0)return t;r<0&&(r=0),e>this.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&i<r;i++)n=n.next;for(;n!==null&&i<e;i++,n=n.next)t.push(n.value);return t};Ht.prototype.sliceReverse=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Ht;if(e<r||e<0)return t;r<0&&(r=0),e>this.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>r;i--,n=n.prev)t.push(n.value);return t};Ht.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,n=this.head;n!==null&&i<r;i++)n=n.next;for(var s=[],i=0;n&&i<e;i++)s.push(n.value),n=this.removeNode(n);n===null&&(n=this.tail),n!==this.head&&n!==this.tail&&(n=n.prev);for(var i=0;i<t.length;i++)n=PCe(this,n,t[i]);return s};Ht.prototype.reverse=function(){for(var r=this.head,e=this.tail,t=r;t!==null;t=t.prev){var i=t.prev;t.prev=t.next,t.next=i}return this.head=e,this.tail=r,this};function PCe(r,e,t){var i=e===r.head?new ec(t,null,e,r):new ec(t,e,e.next,r);return i.next===null&&(r.tail=i),i.prev===null&&(r.head=i),r.length++,i}function DCe(r,e){r.tail=new ec(e,r.tail,null,r),r.head||(r.head=r.tail),r.length++}function kCe(r,e){r.head=new ec(e,null,r.head,r),r.tail||(r.tail=r.head),r.length++}function ec(r,e,t,i){if(!(this instanceof ec))return new ec(r,e,t,i);this.list=i,this.value=r,e?(e.next=this,this.prev=e):this.prev=null,t?(t.prev=this,this.next=t):this.next=null}try{pG()(Ht)}catch{}});var yG=w((xZe,IG)=>{\"use strict\";var RCe=sd(),tc=Symbol(\"max\"),Ia=Symbol(\"length\"),Og=Symbol(\"lengthCalculator\"),ad=Symbol(\"allowStale\"),rc=Symbol(\"maxAge\"),Ea=Symbol(\"dispose\"),CG=Symbol(\"noDisposeOnSet\"),di=Symbol(\"lruList\"),Ws=Symbol(\"cache\"),EG=Symbol(\"updateAgeOnGet\"),nv=()=>1,ov=class{constructor(e){if(typeof e==\"number\"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!=\"number\"||e.max<0))throw new TypeError(\"max must be a non-negative number\");let t=this[tc]=e.max||1/0,i=e.length||nv;if(this[Og]=typeof i!=\"function\"?nv:i,this[ad]=e.stale||!1,e.maxAge&&typeof e.maxAge!=\"number\")throw new TypeError(\"maxAge must be a number\");this[rc]=e.maxAge||0,this[Ea]=e.dispose,this[CG]=e.noDisposeOnSet||!1,this[EG]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!=\"number\"||e<0)throw new TypeError(\"max must be a non-negative number\");this[tc]=e||1/0,od(this)}get max(){return this[tc]}set allowStale(e){this[ad]=!!e}get allowStale(){return this[ad]}set maxAge(e){if(typeof e!=\"number\")throw new TypeError(\"maxAge must be a non-negative number\");this[rc]=e,od(this)}get maxAge(){return this[rc]}set lengthCalculator(e){typeof e!=\"function\"&&(e=nv),e!==this[Og]&&(this[Og]=e,this[Ia]=0,this[di].forEach(t=>{t.length=this[Og](t.value,t.key),this[Ia]+=t.length})),od(this)}get lengthCalculator(){return this[Og]}get length(){return this[Ia]}get itemCount(){return this[di].length}rforEach(e,t){t=t||this;for(let i=this[di].tail;i!==null;){let n=i.prev;mG(this,e,i,t),i=n}}forEach(e,t){t=t||this;for(let i=this[di].head;i!==null;){let n=i.next;mG(this,e,i,t),i=n}}keys(){return this[di].toArray().map(e=>e.key)}values(){return this[di].toArray().map(e=>e.value)}reset(){this[Ea]&&this[di]&&this[di].length&&this[di].forEach(e=>this[Ea](e.key,e.value)),this[Ws]=new Map,this[di]=new RCe,this[Ia]=0}dump(){return this[di].map(e=>LI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[di]}set(e,t,i){if(i=i||this[rc],i&&typeof i!=\"number\")throw new TypeError(\"maxAge must be a number\");let n=i?Date.now():0,s=this[Og](t,e);if(this[Ws].has(e)){if(s>this[tc])return Mg(this,this[Ws].get(e)),!1;let l=this[Ws].get(e).value;return this[Ea]&&(this[CG]||this[Ea](e,l.value)),l.now=n,l.maxAge=i,l.value=t,this[Ia]+=s-l.length,l.length=s,this.get(e),od(this),!0}let o=new av(e,t,s,n,i);return o.length>this[tc]?(this[Ea]&&this[Ea](e,t),!1):(this[Ia]+=o.length,this[di].unshift(o),this[Ws].set(e,this[di].head),od(this),!0)}has(e){if(!this[Ws].has(e))return!1;let t=this[Ws].get(e).value;return!LI(this,t)}get(e){return sv(this,e,!0)}peek(e){return sv(this,e,!1)}pop(){let e=this[di].tail;return e?(Mg(this,e),e.value):null}del(e){Mg(this,this[Ws].get(e))}load(e){this.reset();let t=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-t;o>0&&this.set(n.k,n.v,o)}}}prune(){this[Ws].forEach((e,t)=>sv(this,t,!1))}},sv=(r,e,t)=>{let i=r[Ws].get(e);if(i){let n=i.value;if(LI(r,n)){if(Mg(r,i),!r[ad])return}else t&&(r[EG]&&(i.value.now=Date.now()),r[di].unshiftNode(i));return n.value}},LI=(r,e)=>{if(!e||!e.maxAge&&!r[rc])return!1;let t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[rc]&&t>r[rc]},od=r=>{if(r[Ia]>r[tc])for(let e=r[di].tail;r[Ia]>r[tc]&&e!==null;){let t=e.prev;Mg(r,e),e=t}},Mg=(r,e)=>{if(e){let t=e.value;r[Ea]&&r[Ea](t.key,t.value),r[Ia]-=t.length,r[Ws].delete(t.key),r[di].removeNode(e)}},av=class{constructor(e,t,i,n,s){this.key=e,this.value=t,this.length=i,this.now=n,this.maxAge=s||0}},mG=(r,e,t,i)=>{let n=t.value;LI(r,n)&&(Mg(r,t),r[ad]||(n=void 0)),n&&e.call(i,n.value,n.key,r)};IG.exports=ov});var os=w((PZe,bG)=>{var ic=class{constructor(e,t){if(t=NCe(t),e instanceof ic)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new ic(e.raw,t);if(e instanceof Av)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\\s*\\|\\|\\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!BG(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&KCe(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(\" \").trim()).join(\"||\").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(\",\")}:${e}`,n=wG.get(i);if(n)return n;let s=this.options.loose,o=s?Ti[Bi.HYPHENRANGELOOSE]:Ti[Bi.HYPHENRANGE];e=e.replace(o,VCe(this.options.includePrerelease)),Gr(\"hyphen replace\",e),e=e.replace(Ti[Bi.COMPARATORTRIM],TCe),Gr(\"comparator trim\",e,Ti[Bi.COMPARATORTRIM]),e=e.replace(Ti[Bi.TILDETRIM],OCe),e=e.replace(Ti[Bi.CARETTRIM],MCe),e=e.split(/\\s+/).join(\" \");let a=s?Ti[Bi.COMPARATORLOOSE]:Ti[Bi.COMPARATOR],l=e.split(\" \").map(f=>UCe(f,this.options)).join(\" \").split(/\\s+/).map(f=>zCe(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new Av(f,this.options)),c=l.length,u=new Map;for(let f of l){if(BG(f))return[f];u.set(f.value,f)}u.size>1&&u.has(\"\")&&u.delete(\"\");let g=[...u.values()];return wG.set(i,g),g}intersects(e,t){if(!(e instanceof ic))throw new TypeError(\"a Range is required\");return this.set.some(i=>QG(i,t)&&e.set.some(n=>QG(n,t)&&i.every(s=>n.every(o=>s.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e==\"string\")try{e=new LCe(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(XCe(this.set[t],e,this.options))return!0;return!1}};bG.exports=ic;var FCe=yG(),wG=new FCe({max:1e3}),NCe=rd(),Av=Ad(),Gr=td(),LCe=Li(),{re:Ti,t:Bi,comparatorTrimReplace:TCe,tildeTrimReplace:OCe,caretTrimReplace:MCe}=Zl(),BG=r=>r.value===\"<0.0.0-0\",KCe=r=>r.value===\"\",QG=(r,e)=>{let t=!0,i=r.slice(),n=i.pop();for(;t&&i.length;)t=i.every(s=>n.intersects(s,e)),n=i.pop();return t},UCe=(r,e)=>(Gr(\"comp\",r,e),r=YCe(r,e),Gr(\"caret\",r),r=HCe(r,e),Gr(\"tildes\",r),r=qCe(r,e),Gr(\"xrange\",r),r=WCe(r,e),Gr(\"stars\",r),r),Vi=r=>!r||r.toLowerCase()===\"x\"||r===\"*\",HCe=(r,e)=>r.trim().split(/\\s+/).map(t=>GCe(t,e)).join(\" \"),GCe=(r,e)=>{let t=e.loose?Ti[Bi.TILDELOOSE]:Ti[Bi.TILDE];return r.replace(t,(i,n,s,o,a)=>{Gr(\"tilde\",r,i,n,s,o,a);let l;return Vi(n)?l=\"\":Vi(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:Vi(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Gr(\"replaceTilde pr\",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Gr(\"tilde return\",l),l})},YCe=(r,e)=>r.trim().split(/\\s+/).map(t=>jCe(t,e)).join(\" \"),jCe=(r,e)=>{Gr(\"caret\",r,e);let t=e.loose?Ti[Bi.CARETLOOSE]:Ti[Bi.CARET],i=e.includePrerelease?\"-0\":\"\";return r.replace(t,(n,s,o,a,l)=>{Gr(\"caret\",r,n,s,o,a,l);let c;return Vi(s)?c=\"\":Vi(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:Vi(a)?s===\"0\"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Gr(\"replaceCaret pr\",l),s===\"0\"?o===\"0\"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Gr(\"no pr\"),s===\"0\"?o===\"0\"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Gr(\"caret return\",c),c})},qCe=(r,e)=>(Gr(\"replaceXRanges\",r,e),r.split(/\\s+/).map(t=>JCe(t,e)).join(\" \")),JCe=(r,e)=>{r=r.trim();let t=e.loose?Ti[Bi.XRANGELOOSE]:Ti[Bi.XRANGE];return r.replace(t,(i,n,s,o,a,l)=>{Gr(\"xRange\",r,i,n,s,o,a,l);let c=Vi(s),u=c||Vi(o),g=u||Vi(a),f=g;return n===\"=\"&&f&&(n=\"\"),l=e.includePrerelease?\"-0\":\"\",c?n===\">\"||n===\"<\"?i=\"<0.0.0-0\":i=\"*\":n&&f?(u&&(o=0),a=0,n===\">\"?(n=\">=\",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n===\"<=\"&&(n=\"<\",u?s=+s+1:o=+o+1),n===\"<\"&&(l=\"-0\"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Gr(\"xRange return\",i),i})},WCe=(r,e)=>(Gr(\"replaceStars\",r,e),r.trim().replace(Ti[Bi.STAR],\"\")),zCe=(r,e)=>(Gr(\"replaceGTE0\",r,e),r.trim().replace(Ti[e.includePrerelease?Bi.GTE0PRE:Bi.GTE0],\"\")),VCe=r=>(e,t,i,n,s,o,a,l,c,u,g,f,h)=>(Vi(i)?t=\"\":Vi(n)?t=`>=${i}.0.0${r?\"-0\":\"\"}`:Vi(s)?t=`>=${i}.${n}.0${r?\"-0\":\"\"}`:o?t=`>=${t}`:t=`>=${t}${r?\"-0\":\"\"}`,Vi(c)?l=\"\":Vi(u)?l=`<${+c+1}.0.0-0`:Vi(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:r?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),XCe=(r,e,t)=>{for(let i=0;i<r.length;i++)if(!r[i].test(e))return!1;if(e.prerelease.length&&!t.includePrerelease){for(let i=0;i<r.length;i++)if(Gr(r[i].semver),r[i].semver!==Av.ANY&&r[i].semver.prerelease.length>0){let n=r[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Ad=w((DZe,DG)=>{var ld=Symbol(\"SemVer ANY\"),Kg=class{static get ANY(){return ld}constructor(e,t){if(t=_Ce(t),e instanceof Kg){if(e.loose===!!t.loose)return e;e=e.value}cv(\"comparator\",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===ld?this.value=\"\":this.value=this.operator+this.semver.version,cv(\"comp\",this)}parse(e){let t=this.options.loose?SG[vG.COMPARATORLOOSE]:SG[vG.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:\"\",this.operator===\"=\"&&(this.operator=\"\"),i[2]?this.semver=new xG(i[2],this.options.loose):this.semver=ld}toString(){return this.value}test(e){if(cv(\"Comparator.test\",e,this.options.loose),this.semver===ld||e===ld)return!0;if(typeof e==\"string\")try{e=new xG(e,this.options)}catch{return!1}return lv(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof Kg))throw new TypeError(\"a Comparator is required\");if((!t||typeof t!=\"object\")&&(t={loose:!!t,includePrerelease:!1}),this.operator===\"\")return this.value===\"\"?!0:new PG(e.value,t).test(this.value);if(e.operator===\"\")return e.value===\"\"?!0:new PG(this.value,t).test(e.semver);let i=(this.operator===\">=\"||this.operator===\">\")&&(e.operator===\">=\"||e.operator===\">\"),n=(this.operator===\"<=\"||this.operator===\"<\")&&(e.operator===\"<=\"||e.operator===\"<\"),s=this.semver.version===e.semver.version,o=(this.operator===\">=\"||this.operator===\"<=\")&&(e.operator===\">=\"||e.operator===\"<=\"),a=lv(this.semver,\"<\",e.semver,t)&&(this.operator===\">=\"||this.operator===\">\")&&(e.operator===\"<=\"||e.operator===\"<\"),l=lv(this.semver,\">\",e.semver,t)&&(this.operator===\"<=\"||this.operator===\"<\")&&(e.operator===\">=\"||e.operator===\">\");return i||n||s&&o||a||l}};DG.exports=Kg;var _Ce=rd(),{re:SG,t:vG}=Zl(),lv=iv(),cv=td(),xG=Li(),PG=os()});var cd=w((kZe,kG)=>{var ZCe=os(),$Ce=(r,e,t)=>{try{e=new ZCe(e,t)}catch{return!1}return e.test(r)};kG.exports=$Ce});var FG=w((RZe,RG)=>{var eme=os(),tme=(r,e)=>new eme(r,e).set.map(t=>t.map(i=>i.value).join(\" \").trim().split(\" \"));RG.exports=tme});var LG=w((FZe,NG)=>{var rme=Li(),ime=os(),nme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new ime(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new rme(i,t))}),i};NG.exports=nme});var OG=w((NZe,TG)=>{var sme=Li(),ome=os(),ame=(r,e,t)=>{let i=null,n=null,s=null;try{s=new ome(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new sme(i,t))}),i};TG.exports=ame});var UG=w((LZe,KG)=>{var uv=Li(),Ame=os(),MG=nd(),lme=(r,e)=>{r=new Ame(r,e);let t=new uv(\"0.0.0\");if(r.test(t)||(t=new uv(\"0.0.0-0\"),r.test(t)))return t;t=null;for(let i=0;i<r.set.length;++i){let n=r.set[i],s=null;n.forEach(o=>{let a=new uv(o.semver.version);switch(o.operator){case\">\":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case\"\":case\">=\":(!s||MG(a,s))&&(s=a);break;case\"<\":case\"<=\":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||MG(t,s))&&(t=s)}return t&&r.test(t)?t:null};KG.exports=lme});var GG=w((TZe,HG)=>{var cme=os(),ume=(r,e)=>{try{return new cme(r,e).range||\"*\"}catch{return null}};HG.exports=ume});var TI=w((OZe,JG)=>{var gme=Li(),qG=Ad(),{ANY:fme}=qG,hme=os(),pme=cd(),YG=nd(),jG=DI(),dme=RI(),Cme=kI(),mme=(r,e,t,i)=>{r=new gme(r,i),e=new hme(e,i);let n,s,o,a,l;switch(t){case\">\":n=YG,s=dme,o=jG,a=\">\",l=\">=\";break;case\"<\":n=jG,s=Cme,o=YG,a=\"<\",l=\"<=\";break;default:throw new TypeError('Must provide a hilo val of \"<\" or \">\"')}if(pme(r,e,i))return!1;for(let c=0;c<e.set.length;++c){let u=e.set[c],g=null,f=null;if(u.forEach(h=>{h.semver===fme&&(h=new qG(\">=0.0.0\")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(r,f.semver))return!1;if(f.operator===l&&o(r,f.semver))return!1}return!0};JG.exports=mme});var zG=w((MZe,WG)=>{var Eme=TI(),Ime=(r,e,t)=>Eme(r,e,\">\",t);WG.exports=Ime});var XG=w((KZe,VG)=>{var yme=TI(),wme=(r,e,t)=>yme(r,e,\"<\",t);VG.exports=wme});var $G=w((UZe,ZG)=>{var _G=os(),Bme=(r,e,t)=>(r=new _G(r,t),e=new _G(e,t),r.intersects(e));ZG.exports=Bme});var tY=w((HZe,eY)=>{var Qme=cd(),bme=ss();eY.exports=(r,e,t)=>{let i=[],n=null,s=null,o=r.sort((u,g)=>bme(u,g,t));for(let u of o)Qme(u,e,t)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push(\"*\"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(\" || \"),c=typeof e.raw==\"string\"?e.raw:String(e);return l.length<c.length?l:e}});var oY=w((GZe,sY)=>{var rY=os(),OI=Ad(),{ANY:gv}=OI,ud=cd(),fv=ss(),Sme=(r,e,t={})=>{if(r===e)return!0;r=new rY(r,t),e=new rY(e,t);let i=!1;e:for(let n of r.set){for(let s of e.set){let o=vme(n,s,t);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},vme=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===gv){if(e.length===1&&e[0].semver===gv)return!0;t.includePrerelease?r=[new OI(\">=0.0.0-0\")]:r=[new OI(\">=0.0.0\")]}if(e.length===1&&e[0].semver===gv){if(t.includePrerelease)return!0;e=[new OI(\">=0.0.0\")]}let i=new Set,n,s;for(let h of r)h.operator===\">\"||h.operator===\">=\"?n=iY(n,h,t):h.operator===\"<\"||h.operator===\"<=\"?s=nY(s,h,t):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=fv(n.semver,s.semver,t),o>0)return null;if(o===0&&(n.operator!==\">=\"||s.operator!==\"<=\"))return null}for(let h of i){if(n&&!ud(h,String(n),t)||s&&!ud(h,String(s),t))return null;for(let p of e)if(!ud(h,String(p),t))return!1;return!0}let a,l,c,u,g=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator===\"<\"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===\">\"||h.operator===\">=\",c=c||h.operator===\"<\"||h.operator===\"<=\",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===\">\"||h.operator===\">=\"){if(a=iY(n,h,t),a===h&&a!==n)return!1}else if(n.operator===\">=\"&&!ud(n.semver,String(h),t))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator===\"<\"||h.operator===\"<=\"){if(l=nY(s,h,t),l===h&&l!==s)return!1}else if(s.operator===\"<=\"&&!ud(s.semver,String(h),t))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},iY=(r,e,t)=>{if(!r)return e;let i=fv(r.semver,e.semver,t);return i>0?r:i<0||e.operator===\">\"&&r.operator===\">=\"?e:r},nY=(r,e,t)=>{if(!r)return e;let i=fv(r.semver,e.semver,t);return i<0?r:i>0||e.operator===\"<\"&&r.operator===\"<=\"?e:r};sY.exports=Sme});var Xr=w((YZe,aY)=>{var hv=Zl();aY.exports={re:hv.re,src:hv.src,tokens:hv.t,SEMVER_SPEC_VERSION:ed().SEMVER_SPEC_VERSION,SemVer:Li(),compareIdentifiers:bI().compareIdentifiers,rcompareIdentifiers:bI().rcompareIdentifiers,parse:$l(),valid:kH(),clean:FH(),inc:LH(),diff:HH(),major:YH(),minor:qH(),patch:WH(),prerelease:VH(),compare:ss(),rcompare:_H(),compareLoose:$H(),compareBuild:PI(),sort:iG(),rsort:sG(),gt:nd(),lt:DI(),eq:xI(),neq:rv(),gte:kI(),lte:RI(),cmp:iv(),coerce:fG(),Comparator:Ad(),Range:os(),satisfies:cd(),toComparators:FG(),maxSatisfying:LG(),minSatisfying:OG(),minVersion:UG(),validRange:GG(),outside:TI(),gtr:zG(),ltr:XG(),intersects:$G(),simplifyRange:tY(),subset:oY()}});var pv=w(MI=>{\"use strict\";Object.defineProperty(MI,\"__esModule\",{value:!0});MI.VERSION=void 0;MI.VERSION=\"9.1.0\"});var Gt=w((exports,module)=>{\"use strict\";var __spreadArray=exports&&exports.__spreadArray||function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i<n;i++)(s||!(i in e))&&(s||(s=Array.prototype.slice.call(e,0,i)),s[i]=e[i]);return r.concat(s||Array.prototype.slice.call(e))};Object.defineProperty(exports,\"__esModule\",{value:!0});exports.toFastProperties=exports.timer=exports.peek=exports.isES2015MapSupported=exports.PRINT_WARNING=exports.PRINT_ERROR=exports.packArray=exports.IDENTITY=exports.NOOP=exports.merge=exports.groupBy=exports.defaults=exports.assignNoOverwrite=exports.assign=exports.zipObject=exports.sortBy=exports.indexOf=exports.some=exports.difference=exports.every=exports.isObject=exports.isRegExp=exports.isArray=exports.partial=exports.uniq=exports.compact=exports.reduce=exports.findAll=exports.find=exports.cloneObj=exports.cloneArr=exports.contains=exports.has=exports.pick=exports.reject=exports.filter=exports.dropRight=exports.drop=exports.isFunction=exports.isUndefined=exports.isString=exports.forEach=exports.last=exports.first=exports.flatten=exports.map=exports.mapValues=exports.values=exports.keys=exports.isEmpty=void 0;exports.upperFirst=void 0;function isEmpty(r){return r&&r.length===0}exports.isEmpty=isEmpty;function keys(r){return r==null?[]:Object.keys(r)}exports.keys=keys;function values(r){for(var e=[],t=Object.keys(r),i=0;i<t.length;i++)e.push(r[t[i]]);return e}exports.values=values;function mapValues(r,e){for(var t=[],i=keys(r),n=0;n<i.length;n++){var s=i[n];t.push(e.call(null,r[s],s))}return t}exports.mapValues=mapValues;function map(r,e){for(var t=[],i=0;i<r.length;i++)t.push(e.call(null,r[i],i));return t}exports.map=map;function flatten(r){for(var e=[],t=0;t<r.length;t++){var i=r[t];Array.isArray(i)?e=e.concat(flatten(i)):e.push(i)}return e}exports.flatten=flatten;function first(r){return isEmpty(r)?void 0:r[0]}exports.first=first;function last(r){var e=r&&r.length;return e?r[e-1]:void 0}exports.last=last;function forEach(r,e){if(Array.isArray(r))for(var t=0;t<r.length;t++)e.call(null,r[t],t);else if(isObject(r))for(var i=keys(r),t=0;t<i.length;t++){var n=i[t],s=r[n];e.call(null,s,n)}else throw Error(\"non exhaustive match\")}exports.forEach=forEach;function isString(r){return typeof r==\"string\"}exports.isString=isString;function isUndefined(r){return r===void 0}exports.isUndefined=isUndefined;function isFunction(r){return r instanceof Function}exports.isFunction=isFunction;function drop(r,e){return e===void 0&&(e=1),r.slice(e,r.length)}exports.drop=drop;function dropRight(r,e){return e===void 0&&(e=1),r.slice(0,r.length-e)}exports.dropRight=dropRight;function filter(r,e){var t=[];if(Array.isArray(r))for(var i=0;i<r.length;i++){var n=r[i];e.call(null,n)&&t.push(n)}return t}exports.filter=filter;function reject(r,e){return filter(r,function(t){return!e(t)})}exports.reject=reject;function pick(r,e){for(var t=Object.keys(r),i={},n=0;n<t.length;n++){var s=t[n],o=r[s];e(o)&&(i[s]=o)}return i}exports.pick=pick;function has(r,e){return isObject(r)?r.hasOwnProperty(e):!1}exports.has=has;function contains(r,e){return find(r,function(t){return t===e})!==void 0}exports.contains=contains;function cloneArr(r){for(var e=[],t=0;t<r.length;t++)e.push(r[t]);return e}exports.cloneArr=cloneArr;function cloneObj(r){var e={};for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t]);return e}exports.cloneObj=cloneObj;function find(r,e){for(var t=0;t<r.length;t++){var i=r[t];if(e.call(null,i))return i}}exports.find=find;function findAll(r,e){for(var t=[],i=0;i<r.length;i++){var n=r[i];e.call(null,n)&&t.push(n)}return t}exports.findAll=findAll;function reduce(r,e,t){for(var i=Array.isArray(r),n=i?r:values(r),s=i?[]:keys(r),o=t,a=0;a<n.length;a++)o=e.call(null,o,n[a],i?a:s[a]);return o}exports.reduce=reduce;function compact(r){return reject(r,function(e){return e==null})}exports.compact=compact;function uniq(r,e){e===void 0&&(e=function(i){return i});var t=[];return reduce(r,function(i,n){var s=e(n);return contains(t,s)?i:(t.push(s),i.concat(n))},[])}exports.uniq=uniq;function partial(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];var i=[null],n=i.concat(e);return Function.bind.apply(r,n)}exports.partial=partial;function isArray(r){return Array.isArray(r)}exports.isArray=isArray;function isRegExp(r){return r instanceof RegExp}exports.isRegExp=isRegExp;function isObject(r){return r instanceof Object}exports.isObject=isObject;function every(r,e){for(var t=0;t<r.length;t++)if(!e(r[t],t))return!1;return!0}exports.every=every;function difference(r,e){return reject(r,function(t){return contains(e,t)})}exports.difference=difference;function some(r,e){for(var t=0;t<r.length;t++)if(e(r[t]))return!0;return!1}exports.some=some;function indexOf(r,e){for(var t=0;t<r.length;t++)if(r[t]===e)return t;return-1}exports.indexOf=indexOf;function sortBy(r,e){var t=cloneArr(r);return t.sort(function(i,n){return e(i)-e(n)}),t}exports.sortBy=sortBy;function zipObject(r,e){if(r.length!==e.length)throw Error(\"can't zipObject with different number of keys and values!\");for(var t={},i=0;i<r.length;i++)t[r[i]]=e[i];return t}exports.zipObject=zipObject;function assign(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var i=0;i<e.length;i++)for(var n=e[i],s=keys(n),o=0;o<s.length;o++){var a=s[o];r[a]=n[a]}return r}exports.assign=assign;function assignNoOverwrite(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var i=0;i<e.length;i++)for(var n=e[i],s=keys(n),o=0;o<s.length;o++){var a=s[o];has(r,a)||(r[a]=n[a])}return r}exports.assignNoOverwrite=assignNoOverwrite;function defaults(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return assignNoOverwrite.apply(void 0,__spreadArray([{}],r,!1))}exports.defaults=defaults;function groupBy(r,e){var t={};return forEach(r,function(i){var n=e(i),s=t[n];s?s.push(i):t[n]=[i]}),t}exports.groupBy=groupBy;function merge(r,e){for(var t=cloneObj(r),i=keys(e),n=0;n<i.length;n++){var s=i[n],o=e[s];t[s]=o}return t}exports.merge=merge;function NOOP(){}exports.NOOP=NOOP;function IDENTITY(r){return r}exports.IDENTITY=IDENTITY;function packArray(r){for(var e=[],t=0;t<r.length;t++){var i=r[t];e.push(i!==void 0?i:void 0)}return e}exports.packArray=packArray;function PRINT_ERROR(r){console&&console.error&&console.error(\"Error: \"+r)}exports.PRINT_ERROR=PRINT_ERROR;function PRINT_WARNING(r){console&&console.warn&&console.warn(\"Warning: \"+r)}exports.PRINT_WARNING=PRINT_WARNING;function isES2015MapSupported(){return typeof Map==\"function\"}exports.isES2015MapSupported=isES2015MapSupported;function peek(r){return r[r.length-1]}exports.peek=peek;function timer(r){var e=new Date().getTime(),t=r(),i=new Date().getTime(),n=i-e;return{time:n,value:t}}exports.timer=timer;function toFastProperties(toBecomeFast){function FakeConstructor(){}FakeConstructor.prototype=toBecomeFast;var fakeInstance=new FakeConstructor;function fakeAccess(){return typeof fakeInstance.bar}return fakeAccess(),fakeAccess(),toBecomeFast;eval(toBecomeFast)}exports.toFastProperties=toFastProperties;function upperFirst(r){if(!r)return r;var e=getCharacterFromCodePointAt(r,0);return e.toUpperCase()+r.substring(e.length)}exports.upperFirst=upperFirst;var surrogatePairPattern=/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/;function getCharacterFromCodePointAt(r,e){var t=r.substring(e,e+1);return surrogatePairPattern.test(t)?t:r[e]}});var UI=w((AY,KI)=>{(function(r,e){typeof define==\"function\"&&define.amd?define([],e):typeof KI==\"object\"&&KI.exports?KI.exports=e():r.regexpToAst=e()})(typeof self<\"u\"?self:AY,function(){function r(){}r.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},r.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},r.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar(\"/\");var C=this.disjunction();this.consumeChar(\"/\");for(var y={type:\"Flags\",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case\"g\":o(y,\"global\");break;case\"i\":o(y,\"ignoreCase\");break;case\"m\":o(y,\"multiLine\");break;case\"u\":o(y,\"unicode\");break;case\"y\":o(y,\"sticky\");break}if(this.idx!==this.input.length)throw Error(\"Redundant input: \"+this.input.substring(this.idx));return{type:\"Pattern\",flags:y,value:C,loc:this.loc(0)}},r.prototype.disjunction=function(){var p=[],C=this.idx;for(p.push(this.alternative());this.peekChar()===\"|\";)this.consumeChar(\"|\"),p.push(this.alternative());return{type:\"Disjunction\",value:p,loc:this.loc(C)}},r.prototype.alternative=function(){for(var p=[],C=this.idx;this.isTerm();)p.push(this.term());return{type:\"Alternative\",value:p,loc:this.loc(C)}},r.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},r.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case\"^\":return{type:\"StartAnchor\",loc:this.loc(p)};case\"$\":return{type:\"EndAnchor\",loc:this.loc(p)};case\"\\\\\":switch(this.popChar()){case\"b\":return{type:\"WordBoundary\",loc:this.loc(p)};case\"B\":return{type:\"NonWordBoundary\",loc:this.loc(p)}}throw Error(\"Invalid Assertion Escape\");case\"(\":this.consumeChar(\"?\");var C;switch(this.popChar()){case\"=\":C=\"Lookahead\";break;case\"!\":C=\"NegativeLookahead\";break}a(C);var y=this.disjunction();return this.consumeChar(\")\"),{type:C,value:y,loc:this.loc(p)}}l()},r.prototype.quantifier=function(p){var C,y=this.idx;switch(this.popChar()){case\"*\":C={atLeast:0,atMost:1/0};break;case\"+\":C={atLeast:1,atMost:1/0};break;case\"?\":C={atLeast:0,atMost:1};break;case\"{\":var B=this.integerIncludingZero();switch(this.popChar()){case\"}\":C={atLeast:B,atMost:B};break;case\",\":var v;this.isDigit()?(v=this.integerIncludingZero(),C={atLeast:B,atMost:v}):C={atLeast:B,atMost:1/0},this.consumeChar(\"}\");break}if(p===!0&&C===void 0)return;a(C);break}if(!(p===!0&&C===void 0))return a(C),this.peekChar(0)===\"?\"?(this.consumeChar(\"?\"),C.greedy=!1):C.greedy=!0,C.type=\"Quantifier\",C.loc=this.loc(y),C},r.prototype.atom=function(){var p,C=this.idx;switch(this.peekChar()){case\".\":p=this.dotAll();break;case\"\\\\\":p=this.atomEscape();break;case\"[\":p=this.characterClass();break;case\"(\":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(C),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},r.prototype.dotAll=function(){return this.consumeChar(\".\"),{type:\"Set\",complement:!0,value:[n(`\n`),n(\"\\r\"),n(\"\\u2028\"),n(\"\\u2029\")]}},r.prototype.atomEscape=function(){switch(this.consumeChar(\"\\\\\"),this.peekChar()){case\"1\":case\"2\":case\"3\":case\"4\":case\"5\":case\"6\":case\"7\":case\"8\":case\"9\":return this.decimalEscapeAtom();case\"d\":case\"D\":case\"s\":case\"S\":case\"w\":case\"W\":return this.characterClassEscape();case\"f\":case\"n\":case\"r\":case\"t\":case\"v\":return this.controlEscapeAtom();case\"c\":return this.controlLetterEscapeAtom();case\"0\":return this.nulCharacterAtom();case\"x\":return this.hexEscapeSequenceAtom();case\"u\":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:\"GroupBackReference\",value:p}},r.prototype.characterClassEscape=function(){var p,C=!1;switch(this.popChar()){case\"d\":p=u;break;case\"D\":p=u,C=!0;break;case\"s\":p=f;break;case\"S\":p=f,C=!0;break;case\"w\":p=g;break;case\"W\":p=g,C=!0;break}return a(p),{type:\"Set\",value:p,complement:C}},r.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case\"f\":p=n(\"\\f\");break;case\"n\":p=n(`\n`);break;case\"r\":p=n(\"\\r\");break;case\"t\":p=n(\"\t\");break;case\"v\":p=n(\"\\v\");break}return a(p),{type:\"Character\",value:p}},r.prototype.controlLetterEscapeAtom=function(){this.consumeChar(\"c\");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error(\"Invalid \");var C=p.toUpperCase().charCodeAt(0)-64;return{type:\"Character\",value:C}},r.prototype.nulCharacterAtom=function(){return this.consumeChar(\"0\"),{type:\"Character\",value:n(\"\\0\")}},r.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar(\"x\"),this.parseHexDigits(2)},r.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar(\"u\"),this.parseHexDigits(4)},r.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:\"Character\",value:n(p)}},r.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case`\n`:case\"\\r\":case\"\\u2028\":case\"\\u2029\":case\"\\\\\":case\"]\":throw Error(\"TBD\");default:var p=this.popChar();return{type:\"Character\",value:n(p)}}},r.prototype.characterClass=function(){var p=[],C=!1;for(this.consumeChar(\"[\"),this.peekChar(0)===\"^\"&&(this.consumeChar(\"^\"),C=!0);this.isClassAtom();){var y=this.classAtom(),B=y.type===\"Character\";if(B&&this.isRangeDash()){this.consumeChar(\"-\");var v=this.classAtom(),D=v.type===\"Character\";if(D){if(v.value<y.value)throw Error(\"Range out of order in character class\");p.push({from:y.value,to:v.value})}else s(y.value,p),p.push(n(\"-\")),s(v.value,p)}else s(y.value,p)}return this.consumeChar(\"]\"),{type:\"Set\",complement:C,value:p}},r.prototype.classAtom=function(){switch(this.peekChar()){case\"]\":case`\n`:case\"\\r\":case\"\\u2028\":case\"\\u2029\":throw Error(\"TBD\");case\"\\\\\":return this.classEscape();default:return this.classPatternCharacterAtom()}},r.prototype.classEscape=function(){switch(this.consumeChar(\"\\\\\"),this.peekChar()){case\"b\":return this.consumeChar(\"b\"),{type:\"Character\",value:n(\"\\b\")};case\"d\":case\"D\":case\"s\":case\"S\":case\"w\":case\"W\":return this.characterClassEscape();case\"f\":case\"n\":case\"r\":case\"t\":case\"v\":return this.controlEscapeAtom();case\"c\":return this.controlLetterEscapeAtom();case\"0\":return this.nulCharacterAtom();case\"x\":return this.hexEscapeSequenceAtom();case\"u\":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.group=function(){var p=!0;switch(this.consumeChar(\"(\"),this.peekChar(0)){case\"?\":this.consumeChar(\"?\"),this.consumeChar(\":\"),p=!1;break;default:this.groupIdx++;break}var C=this.disjunction();this.consumeChar(\")\");var y={type:\"Group\",capturing:p,value:C};return p&&(y.idx=this.groupIdx),y},r.prototype.positiveInteger=function(){var p=this.popChar();if(i.test(p)===!1)throw Error(\"Expecting a positive integer\");for(;t.test(this.peekChar(0));)p+=this.popChar();return parseInt(p,10)},r.prototype.integerIncludingZero=function(){var p=this.popChar();if(t.test(p)===!1)throw Error(\"Expecting an integer\");for(;t.test(this.peekChar(0));)p+=this.popChar();return parseInt(p,10)},r.prototype.patternCharacter=function(){var p=this.popChar();switch(p){case`\n`:case\"\\r\":case\"\\u2028\":case\"\\u2029\":case\"^\":case\"$\":case\"\\\\\":case\".\":case\"*\":case\"+\":case\"?\":case\"(\":case\")\":case\"[\":case\"|\":throw Error(\"TBD\");default:return{type:\"Character\",value:n(p)}}},r.prototype.isRegExpFlag=function(){switch(this.peekChar(0)){case\"g\":case\"i\":case\"m\":case\"u\":case\"y\":return!0;default:return!1}},r.prototype.isRangeDash=function(){return this.peekChar()===\"-\"&&this.isClassAtom(1)},r.prototype.isDigit=function(){return t.test(this.peekChar(0))},r.prototype.isClassAtom=function(p){switch(p===void 0&&(p=0),this.peekChar(p)){case\"]\":case`\n`:case\"\\r\":case\"\\u2028\":case\"\\u2029\":return!1;default:return!0}},r.prototype.isTerm=function(){return this.isAtom()||this.isAssertion()},r.prototype.isAtom=function(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case\".\":case\"\\\\\":case\"[\":case\"(\":return!0;default:return!1}},r.prototype.isAssertion=function(){switch(this.peekChar(0)){case\"^\":case\"$\":return!0;case\"\\\\\":switch(this.peekChar(1)){case\"b\":case\"B\":return!0;default:return!1}case\"(\":return this.peekChar(1)===\"?\"&&(this.peekChar(2)===\"=\"||this.peekChar(2)===\"!\");default:return!1}},r.prototype.isQuantifier=function(){var p=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(p)}},r.prototype.isPatternCharacter=function(){switch(this.peekChar()){case\"^\":case\"$\":case\"\\\\\":case\".\":case\"*\":case\"+\":case\"?\":case\"(\":case\")\":case\"[\":case\"|\":case\"/\":case`\n`:case\"\\r\":case\"\\u2028\":case\"\\u2029\":return!1;default:return!0}},r.prototype.parseHexDigits=function(p){for(var C=\"\",y=0;y<p;y++){var B=this.popChar();if(e.test(B)===!1)throw Error(\"Expecting a HexDecimal digits\");C+=B}var v=parseInt(C,16);return{type:\"Character\",value:v}},r.prototype.peekChar=function(p){return p===void 0&&(p=0),this.input[this.idx+p]},r.prototype.popChar=function(){var p=this.peekChar(0);return this.consumeChar(),p},r.prototype.consumeChar=function(p){if(p!==void 0&&this.input[this.idx]!==p)throw Error(\"Expected: '\"+p+\"' but found: '\"+this.input[this.idx]+\"' at offset: \"+this.idx);if(this.idx>=this.input.length)throw Error(\"Unexpected end of input\");this.idx++},r.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,t=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,C){p.length!==void 0?p.forEach(function(y){C.push(y)}):C.push(p)}function o(p,C){if(p[C]===!0)throw\"duplicate flag \"+C;p[C]=!0}function a(p){if(p===void 0)throw Error(\"Internal Error - Should never get here!\")}function l(){throw Error(\"Internal Error - Should never get here!\")}var c,u=[];for(c=n(\"0\");c<=n(\"9\");c++)u.push(c);var g=[n(\"_\")].concat(u);for(c=n(\"a\");c<=n(\"z\");c++)g.push(c);for(c=n(\"A\");c<=n(\"Z\");c++)g.push(c);var f=[n(\" \"),n(\"\\f\"),n(`\n`),n(\"\\r\"),n(\"\t\"),n(\"\\v\"),n(\"\t\"),n(\"\\xA0\"),n(\"\\u1680\"),n(\"\\u2000\"),n(\"\\u2001\"),n(\"\\u2002\"),n(\"\\u2003\"),n(\"\\u2004\"),n(\"\\u2005\"),n(\"\\u2006\"),n(\"\\u2007\"),n(\"\\u2008\"),n(\"\\u2009\"),n(\"\\u200A\"),n(\"\\u2028\"),n(\"\\u2029\"),n(\"\\u202F\"),n(\"\\u205F\"),n(\"\\u3000\"),n(\"\\uFEFF\")];function h(){}return h.prototype.visitChildren=function(p){for(var C in p){var y=p[C];p.hasOwnProperty(C)&&(y.type!==void 0?this.visit(y):Array.isArray(y)&&y.forEach(function(B){this.visit(B)},this))}},h.prototype.visit=function(p){switch(p.type){case\"Pattern\":this.visitPattern(p);break;case\"Flags\":this.visitFlags(p);break;case\"Disjunction\":this.visitDisjunction(p);break;case\"Alternative\":this.visitAlternative(p);break;case\"StartAnchor\":this.visitStartAnchor(p);break;case\"EndAnchor\":this.visitEndAnchor(p);break;case\"WordBoundary\":this.visitWordBoundary(p);break;case\"NonWordBoundary\":this.visitNonWordBoundary(p);break;case\"Lookahead\":this.visitLookahead(p);break;case\"NegativeLookahead\":this.visitNegativeLookahead(p);break;case\"Character\":this.visitCharacter(p);break;case\"Set\":this.visitSet(p);break;case\"Group\":this.visitGroup(p);break;case\"GroupBackReference\":this.visitGroupBackReference(p);break;case\"Quantifier\":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:r,BaseRegExpVisitor:h,VERSION:\"0.5.0\"}})});var GI=w(Ug=>{\"use strict\";Object.defineProperty(Ug,\"__esModule\",{value:!0});Ug.clearRegExpParserCache=Ug.getRegExpAst=void 0;var xme=UI(),HI={},Pme=new xme.RegExpParser;function Dme(r){var e=r.toString();if(HI.hasOwnProperty(e))return HI[e];var t=Pme.pattern(e);return HI[e]=t,t}Ug.getRegExpAst=Dme;function kme(){HI={}}Ug.clearRegExpParserCache=kme});var fY=w(pn=>{\"use strict\";var Rme=pn&&pn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(pn,\"__esModule\",{value:!0});pn.canMatchCharCode=pn.firstCharOptimizedIndices=pn.getOptimizedStartCodesIndices=pn.failedOptimizationPrefixMsg=void 0;var cY=UI(),as=Gt(),uY=GI(),ya=Cv(),gY=\"Complement Sets are not supported for first char optimization\";pn.failedOptimizationPrefixMsg=`Unable to use \"first char\" lexer optimizations:\n`;function Fme(r,e){e===void 0&&(e=!1);try{var t=(0,uY.getRegExpAst)(r),i=jI(t.value,{},t.flags.ignoreCase);return i}catch(s){if(s.message===gY)e&&(0,as.PRINT_WARNING)(\"\"+pn.failedOptimizationPrefixMsg+(\"\tUnable to optimize: < \"+r.toString()+` >\n`)+`\tComplement Sets cannot be automatically optimized.\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n=\"\";e&&(n=`\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,as.PRINT_ERROR)(pn.failedOptimizationPrefixMsg+`\n`+(\"\tFailed parsing: < \"+r.toString()+` >\n`)+(\"\tUsing the regexp-to-ast library version: \"+cY.VERSION+`\n`)+\"\tPlease open an issue at: https://github.com/bd82/regexp-to-ast/issues\"+n)}}return[]}pn.getOptimizedStartCodesIndices=Fme;function jI(r,e,t){switch(r.type){case\"Disjunction\":for(var i=0;i<r.value.length;i++)jI(r.value[i],e,t);break;case\"Alternative\":for(var n=r.value,i=0;i<n.length;i++){var s=n[i];switch(s.type){case\"EndAnchor\":case\"GroupBackReference\":case\"Lookahead\":case\"NegativeLookahead\":case\"StartAnchor\":case\"WordBoundary\":case\"NonWordBoundary\":continue}var o=s;switch(o.type){case\"Character\":YI(o.value,e,t);break;case\"Set\":if(o.complement===!0)throw Error(gY);(0,as.forEach)(o.value,function(c){if(typeof c==\"number\")YI(c,e,t);else{var u=c;if(t===!0)for(var g=u.from;g<=u.to;g++)YI(g,e,t);else{for(var g=u.from;g<=u.to&&g<ya.minOptimizationVal;g++)YI(g,e,t);if(u.to>=ya.minOptimizationVal)for(var f=u.from>=ya.minOptimizationVal?u.from:ya.minOptimizationVal,h=u.to,p=(0,ya.charCodeToOptimizedIndex)(f),C=(0,ya.charCodeToOptimizedIndex)(h),y=p;y<=C;y++)e[y]=y}}});break;case\"Group\":jI(o.value,e,t);break;default:throw Error(\"Non Exhaustive Match\")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type===\"Group\"&&dv(o)===!1||o.type!==\"Group\"&&a===!1)break}break;default:throw Error(\"non exhaustive match!\")}return(0,as.values)(e)}pn.firstCharOptimizedIndices=jI;function YI(r,e,t){var i=(0,ya.charCodeToOptimizedIndex)(r);e[i]=i,t===!0&&Nme(r,e)}function Nme(r,e){var t=String.fromCharCode(r),i=t.toUpperCase();if(i!==t){var n=(0,ya.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=t.toLowerCase();if(s!==t){var n=(0,ya.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function lY(r,e){return(0,as.find)(r.value,function(t){if(typeof t==\"number\")return(0,as.contains)(e,t);var i=t;return(0,as.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function dv(r){return r.quantifier&&r.quantifier.atLeast===0?!0:r.value?(0,as.isArray)(r.value)?(0,as.every)(r.value,dv):dv(r.value):!1}var Lme=function(r){Rme(e,r);function e(t){var i=r.call(this)||this;return i.targetCharCodes=t,i.found=!1,i}return e.prototype.visitChildren=function(t){if(this.found!==!0){switch(t.type){case\"Lookahead\":this.visitLookahead(t);return;case\"NegativeLookahead\":this.visitNegativeLookahead(t);return}r.prototype.visitChildren.call(this,t)}},e.prototype.visitCharacter=function(t){(0,as.contains)(this.targetCharCodes,t.value)&&(this.found=!0)},e.prototype.visitSet=function(t){t.complement?lY(t,this.targetCharCodes)===void 0&&(this.found=!0):lY(t,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(cY.BaseRegExpVisitor);function Tme(r,e){if(e instanceof RegExp){var t=(0,uY.getRegExpAst)(e),i=new Lme(r);return i.visit(t),i.found}else return(0,as.find)(e,function(n){return(0,as.contains)(r,n.charCodeAt(0))})!==void 0}pn.canMatchCharCode=Tme});var Cv=w(Ve=>{\"use strict\";var hY=Ve&&Ve.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ve,\"__esModule\",{value:!0});Ve.charCodeToOptimizedIndex=Ve.minOptimizationVal=Ve.buildLineBreakIssueMessage=Ve.LineTerminatorOptimizedTester=Ve.isShortPattern=Ve.isCustomPattern=Ve.cloneEmptyGroups=Ve.performWarningRuntimeChecks=Ve.performRuntimeChecks=Ve.addStickyFlag=Ve.addStartOfInput=Ve.findUnreachablePatterns=Ve.findModesThatDoNotExist=Ve.findInvalidGroupType=Ve.findDuplicatePatterns=Ve.findUnsupportedFlags=Ve.findStartOfInputAnchor=Ve.findEmptyMatchRegExps=Ve.findEndOfInputAnchor=Ve.findInvalidPatterns=Ve.findMissingPatterns=Ve.validatePatterns=Ve.analyzeTokenTypes=Ve.enableSticky=Ve.disableSticky=Ve.SUPPORT_STICKY=Ve.MODES=Ve.DEFAULT_MODE=void 0;var pY=UI(),ir=gd(),xe=Gt(),Hg=fY(),dY=GI(),So=\"PATTERN\";Ve.DEFAULT_MODE=\"defaultMode\";Ve.MODES=\"modes\";Ve.SUPPORT_STICKY=typeof new RegExp(\"(?:)\").sticky==\"boolean\";function Ome(){Ve.SUPPORT_STICKY=!1}Ve.disableSticky=Ome;function Mme(){Ve.SUPPORT_STICKY=!0}Ve.enableSticky=Mme;function Kme(r,e){e=(0,xe.defaults)(e,{useSticky:Ve.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:\"full\",lineTerminatorCharacters:[\"\\r\",`\n`],tracer:function(v,D){return D()}});var t=e.tracer;t(\"initCharCodeToOptimizedIndexMap\",function(){Vme()});var i;t(\"Reject Lexer.NA\",function(){i=(0,xe.reject)(r,function(v){return v[So]===ir.Lexer.NA})});var n=!1,s;t(\"Transform Patterns\",function(){n=!1,s=(0,xe.map)(i,function(v){var D=v[So];if((0,xe.isRegExp)(D)){var L=D.source;return L.length===1&&L!==\"^\"&&L!==\"$\"&&L!==\".\"&&!D.ignoreCase?L:L.length===2&&L[0]===\"\\\\\"&&!(0,xe.contains)([\"d\",\"D\",\"s\",\"S\",\"t\",\"r\",\"n\",\"t\",\"0\",\"c\",\"b\",\"B\",\"f\",\"v\",\"w\",\"W\"],L[1])?L[1]:e.useSticky?Iv(D):Ev(D)}else{if((0,xe.isFunction)(D))return n=!0,{exec:D};if((0,xe.has)(D,\"exec\"))return n=!0,D;if(typeof D==\"string\"){if(D.length===1)return D;var H=D.replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\"),j=new RegExp(H);return e.useSticky?Iv(j):Ev(j)}else throw Error(\"non exhaustive match\")}})});var o,a,l,c,u;t(\"misc mapping\",function(){o=(0,xe.map)(i,function(v){return v.tokenTypeIdx}),a=(0,xe.map)(i,function(v){var D=v.GROUP;if(D!==ir.Lexer.SKIPPED){if((0,xe.isString)(D))return D;if((0,xe.isUndefined)(D))return!1;throw Error(\"non exhaustive match\")}}),l=(0,xe.map)(i,function(v){var D=v.LONGER_ALT;if(D){var L=(0,xe.isArray)(D)?(0,xe.map)(D,function(H){return(0,xe.indexOf)(i,H)}):[(0,xe.indexOf)(i,D)];return L}}),c=(0,xe.map)(i,function(v){return v.PUSH_MODE}),u=(0,xe.map)(i,function(v){return(0,xe.has)(v,\"POP_MODE\")})});var g;t(\"Line Terminator Handling\",function(){var v=DY(e.lineTerminatorCharacters);g=(0,xe.map)(i,function(D){return!1}),e.positionTracking!==\"onlyOffset\"&&(g=(0,xe.map)(i,function(D){if((0,xe.has)(D,\"LINE_BREAKS\"))return D.LINE_BREAKS;if(xY(D,v)===!1)return(0,Hg.canMatchCharCode)(v,D.PATTERN)}))});var f,h,p,C;t(\"Misc Mapping #2\",function(){f=(0,xe.map)(i,wv),h=(0,xe.map)(s,vY),p=(0,xe.reduce)(i,function(v,D){var L=D.GROUP;return(0,xe.isString)(L)&&L!==ir.Lexer.SKIPPED&&(v[L]=[]),v},{}),C=(0,xe.map)(s,function(v,D){return{pattern:s[D],longerAlt:l[D],canLineTerminator:g[D],isCustom:f[D],short:h[D],group:a[D],push:c[D],pop:u[D],tokenTypeIdx:o[D],tokenType:i[D]}})});var y=!0,B=[];return e.safeMode||t(\"First Char Optimization\",function(){B=(0,xe.reduce)(i,function(v,D,L){if(typeof D.PATTERN==\"string\"){var H=D.PATTERN.charCodeAt(0),j=yv(H);mv(v,j,C[L])}else if((0,xe.isArray)(D.START_CHARS_HINT)){var $;(0,xe.forEach)(D.START_CHARS_HINT,function(W){var Z=typeof W==\"string\"?W.charCodeAt(0):W,A=yv(Z);$!==A&&($=A,mv(v,A,C[L]))})}else if((0,xe.isRegExp)(D.PATTERN))if(D.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,xe.PRINT_ERROR)(\"\"+Hg.failedOptimizationPrefixMsg+(\"\tUnable to analyze < \"+D.PATTERN.toString()+` > pattern.\n`)+`\tThe regexp unicode flag is not currently supported by the regexp-to-ast library.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var V=(0,Hg.getOptimizedStartCodesIndices)(D.PATTERN,e.ensureOptimizations);(0,xe.isEmpty)(V)&&(y=!1),(0,xe.forEach)(V,function(W){mv(v,W,C[L])})}else e.ensureOptimizations&&(0,xe.PRINT_ERROR)(\"\"+Hg.failedOptimizationPrefixMsg+(\"\tTokenType: <\"+D.name+`> is using a custom token pattern without providing <start_chars_hint> parameter.\n`)+`\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return v},[])}),t(\"ArrayPacking\",function(){B=(0,xe.packArray)(B)}),{emptyGroups:p,patternIdxToConfig:C,charCodeToPatternIdxToConfig:B,hasCustom:n,canBeOptimized:y}}Ve.analyzeTokenTypes=Kme;function Ume(r,e){var t=[],i=CY(r);t=t.concat(i.errors);var n=mY(i.valid),s=n.valid;return t=t.concat(n.errors),t=t.concat(Hme(s)),t=t.concat(QY(s)),t=t.concat(bY(s,e)),t=t.concat(SY(s)),t}Ve.validatePatterns=Ume;function Hme(r){var e=[],t=(0,xe.filter)(r,function(i){return(0,xe.isRegExp)(i[So])});return e=e.concat(EY(t)),e=e.concat(yY(t)),e=e.concat(wY(t)),e=e.concat(BY(t)),e=e.concat(IY(t)),e}function CY(r){var e=(0,xe.filter)(r,function(n){return!(0,xe.has)(n,So)}),t=(0,xe.map)(e,function(n){return{message:\"Token Type: ->\"+n.name+\"<- missing static 'PATTERN' property\",type:ir.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findMissingPatterns=CY;function mY(r){var e=(0,xe.filter)(r,function(n){var s=n[So];return!(0,xe.isRegExp)(s)&&!(0,xe.isFunction)(s)&&!(0,xe.has)(s,\"exec\")&&!(0,xe.isString)(s)}),t=(0,xe.map)(e,function(n){return{message:\"Token Type: ->\"+n.name+\"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.\",type:ir.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findInvalidPatterns=mY;var Gme=/[^\\\\][\\$]/;function EY(r){var e=function(n){hY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(pY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[So];try{var o=(0,dY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return Gme.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error:\n\tToken Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$'\n\tSee chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.`,type:ir.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findEndOfInputAnchor=EY;function IY(r){var e=(0,xe.filter)(r,function(i){var n=i[So];return n.test(\"\")}),t=(0,xe.map)(e,function(i){return{message:\"Token Type: ->\"+i.name+\"<- static 'PATTERN' must not match an empty string\",type:ir.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return t}Ve.findEmptyMatchRegExps=IY;var Yme=/[^\\\\[][\\^]|^\\^/;function yY(r){var e=function(n){hY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(pY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[So];try{var o=(0,dY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return Yme.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error:\n\tToken Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^'\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.`,type:ir.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findStartOfInputAnchor=yY;function wY(r){var e=(0,xe.filter)(r,function(i){var n=i[So];return n instanceof RegExp&&(n.multiline||n.global)}),t=(0,xe.map)(e,function(i){return{message:\"Token Type: ->\"+i.name+\"<- static 'PATTERN' may NOT contain global('g') or multiline('m')\",type:ir.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return t}Ve.findUnsupportedFlags=wY;function BY(r){var e=[],t=(0,xe.map)(r,function(s){return(0,xe.reduce)(r,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,xe.contains)(e,a)&&a.PATTERN!==ir.Lexer.NA&&(e.push(a),o.push(a)),o},[])});t=(0,xe.compact)(t);var i=(0,xe.filter)(t,function(s){return s.length>1}),n=(0,xe.map)(i,function(s){var o=(0,xe.map)(s,function(l){return l.name}),a=(0,xe.first)(s).PATTERN;return{message:\"The same RegExp pattern ->\"+a+\"<-\"+(\"has been used in all of the following Token Types: \"+o.join(\", \")+\" <-\"),type:ir.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ve.findDuplicatePatterns=BY;function QY(r){var e=(0,xe.filter)(r,function(i){if(!(0,xe.has)(i,\"GROUP\"))return!1;var n=i.GROUP;return n!==ir.Lexer.SKIPPED&&n!==ir.Lexer.NA&&!(0,xe.isString)(n)}),t=(0,xe.map)(e,function(i){return{message:\"Token Type: ->\"+i.name+\"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String\",type:ir.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return t}Ve.findInvalidGroupType=QY;function bY(r,e){var t=(0,xe.filter)(r,function(n){return n.PUSH_MODE!==void 0&&!(0,xe.contains)(e,n.PUSH_MODE)}),i=(0,xe.map)(t,function(n){var s=\"Token Type: ->\"+n.name+\"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->\"+n.PUSH_MODE+\"<-which does not exist\";return{message:s,type:ir.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ve.findModesThatDoNotExist=bY;function SY(r){var e=[],t=(0,xe.reduce)(r,function(i,n,s){var o=n.PATTERN;return o===ir.Lexer.NA||((0,xe.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,xe.isRegExp)(o)&&qme(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,xe.forEach)(r,function(i,n){(0,xe.forEach)(t,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n<a&&jme(o,i.PATTERN)){var c=\"Token: ->\"+l.name+`<- can never be matched.\n`+(\"Because it appears AFTER the Token Type ->\"+i.name+\"<-\")+`in the lexer's definition.\nSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:ir.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ve.findUnreachablePatterns=SY;function jme(r,e){if((0,xe.isRegExp)(e)){var t=e.exec(r);return t!==null&&t.index===0}else{if((0,xe.isFunction)(e))return e(r,0,[],{});if((0,xe.has)(e,\"exec\"))return e.exec(r,0,[],{});if(typeof e==\"string\")return e===r;throw Error(\"non exhaustive match\")}}function qme(r){var e=[\".\",\"\\\\\",\"[\",\"]\",\"|\",\"^\",\"$\",\"(\",\")\",\"?\",\"*\",\"+\",\"{\"];return(0,xe.find)(e,function(t){return r.source.indexOf(t)!==-1})===void 0}function Ev(r){var e=r.ignoreCase?\"i\":\"\";return new RegExp(\"^(?:\"+r.source+\")\",e)}Ve.addStartOfInput=Ev;function Iv(r){var e=r.ignoreCase?\"iy\":\"y\";return new RegExp(\"\"+r.source,e)}Ve.addStickyFlag=Iv;function Jme(r,e,t){var i=[];return(0,xe.has)(r,Ve.DEFAULT_MODE)||i.push({message:\"A MultiMode Lexer cannot be initialized without a <\"+Ve.DEFAULT_MODE+`> property in its definition\n`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,xe.has)(r,Ve.MODES)||i.push({message:\"A MultiMode Lexer cannot be initialized without a <\"+Ve.MODES+`> property in its definition\n`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,xe.has)(r,Ve.MODES)&&(0,xe.has)(r,Ve.DEFAULT_MODE)&&!(0,xe.has)(r.modes,r.defaultMode)&&i.push({message:\"A MultiMode Lexer cannot be initialized with a \"+Ve.DEFAULT_MODE+\": <\"+r.defaultMode+`>which does not exist\n`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,xe.has)(r,Ve.MODES)&&(0,xe.forEach)(r.modes,function(n,s){(0,xe.forEach)(n,function(o,a){(0,xe.isUndefined)(o)&&i.push({message:\"A Lexer cannot be initialized using an undefined Token Type. Mode:\"+(\"<\"+s+\"> at index: <\"+a+`>\n`),type:ir.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ve.performRuntimeChecks=Jme;function Wme(r,e,t){var i=[],n=!1,s=(0,xe.compact)((0,xe.flatten)((0,xe.mapValues)(r.modes,function(l){return l}))),o=(0,xe.reject)(s,function(l){return l[So]===ir.Lexer.NA}),a=DY(t);return e&&(0,xe.forEach)(o,function(l){var c=xY(l,a);if(c!==!1){var u=PY(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,xe.has)(l,\"LINE_BREAKS\")?l.LINE_BREAKS===!0&&(n=!0):(0,Hg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found.\n\tThis Lexer has been defined to track line and column information,\n\tBut none of the Token Types can be identified as matching a line terminator.\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n\tfor details.`,type:ir.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Ve.performWarningRuntimeChecks=Wme;function zme(r){var e={},t=(0,xe.keys)(r);return(0,xe.forEach)(t,function(i){var n=r[i];if((0,xe.isArray)(n))e[i]=[];else throw Error(\"non exhaustive match\")}),e}Ve.cloneEmptyGroups=zme;function wv(r){var e=r.PATTERN;if((0,xe.isRegExp)(e))return!1;if((0,xe.isFunction)(e))return!0;if((0,xe.has)(e,\"exec\"))return!0;if((0,xe.isString)(e))return!1;throw Error(\"non exhaustive match\")}Ve.isCustomPattern=wv;function vY(r){return(0,xe.isString)(r)&&r.length===1?r.charCodeAt(0):!1}Ve.isShortPattern=vY;Ve.LineTerminatorOptimizedTester={test:function(r){for(var e=r.length,t=this.lastIndex;t<e;t++){var i=r.charCodeAt(t);if(i===10)return this.lastIndex=t+1,!0;if(i===13)return r.charCodeAt(t+1)===10?this.lastIndex=t+2:this.lastIndex=t+1,!0}return!1},lastIndex:0};function xY(r,e){if((0,xe.has)(r,\"LINE_BREAKS\"))return!1;if((0,xe.isRegExp)(r.PATTERN)){try{(0,Hg.canMatchCharCode)(e,r.PATTERN)}catch(t){return{issue:ir.LexerDefinitionErrorType.IDENTIFY_TERMINATOR,errMsg:t.message}}return!1}else{if((0,xe.isString)(r.PATTERN))return!1;if(wv(r))return{issue:ir.LexerDefinitionErrorType.CUSTOM_LINE_BREAK};throw Error(\"non exhaustive match\")}}function PY(r,e){if(e.issue===ir.LexerDefinitionErrorType.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.\n`+(\"\tThe problem is in the <\"+r.name+`> Token Type\n`)+(\"\t Root cause: \"+e.errMsg+`.\n`)+\"\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR\";if(e.issue===ir.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.\n`+(\"\tThe problem is in the <\"+r.name+`> Token Type\n`)+\"\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK\";throw Error(\"non exhaustive match\")}Ve.buildLineBreakIssueMessage=PY;function DY(r){var e=(0,xe.map)(r,function(t){return(0,xe.isString)(t)&&t.length>0?t.charCodeAt(0):t});return e}function mv(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}Ve.minOptimizationVal=256;var qI=[];function yv(r){return r<Ve.minOptimizationVal?r:qI[r]}Ve.charCodeToOptimizedIndex=yv;function Vme(){if((0,xe.isEmpty)(qI)){qI=new Array(65536);for(var r=0;r<65536;r++)qI[r]=r>255?255+~~(r/255):r}}});var Gg=w(Nt=>{\"use strict\";Object.defineProperty(Nt,\"__esModule\",{value:!0});Nt.isTokenType=Nt.hasExtendingTokensTypesMapProperty=Nt.hasExtendingTokensTypesProperty=Nt.hasCategoriesProperty=Nt.hasShortKeyProperty=Nt.singleAssignCategoriesToksMap=Nt.assignCategoriesMapProp=Nt.assignCategoriesTokensProp=Nt.assignTokenDefaultProps=Nt.expandCategories=Nt.augmentTokenTypes=Nt.tokenIdxToClass=Nt.tokenShortNameIdx=Nt.tokenStructuredMatcherNoCategories=Nt.tokenStructuredMatcher=void 0;var _r=Gt();function Xme(r,e){var t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}Nt.tokenStructuredMatcher=Xme;function _me(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}Nt.tokenStructuredMatcherNoCategories=_me;Nt.tokenShortNameIdx=1;Nt.tokenIdxToClass={};function Zme(r){var e=kY(r);RY(e),NY(e),FY(e),(0,_r.forEach)(e,function(t){t.isParent=t.categoryMatches.length>0})}Nt.augmentTokenTypes=Zme;function kY(r){for(var e=(0,_r.cloneArr)(r),t=r,i=!0;i;){t=(0,_r.compact)((0,_r.flatten)((0,_r.map)(t,function(s){return s.CATEGORIES})));var n=(0,_r.difference)(t,e);e=e.concat(n),(0,_r.isEmpty)(n)?i=!1:t=n}return e}Nt.expandCategories=kY;function RY(r){(0,_r.forEach)(r,function(e){LY(e)||(Nt.tokenIdxToClass[Nt.tokenShortNameIdx]=e,e.tokenTypeIdx=Nt.tokenShortNameIdx++),Bv(e)&&!(0,_r.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Bv(e)||(e.CATEGORIES=[]),TY(e)||(e.categoryMatches=[]),OY(e)||(e.categoryMatchesMap={})})}Nt.assignTokenDefaultProps=RY;function FY(r){(0,_r.forEach)(r,function(e){e.categoryMatches=[],(0,_r.forEach)(e.categoryMatchesMap,function(t,i){e.categoryMatches.push(Nt.tokenIdxToClass[i].tokenTypeIdx)})})}Nt.assignCategoriesTokensProp=FY;function NY(r){(0,_r.forEach)(r,function(e){Qv([],e)})}Nt.assignCategoriesMapProp=NY;function Qv(r,e){(0,_r.forEach)(r,function(t){e.categoryMatchesMap[t.tokenTypeIdx]=!0}),(0,_r.forEach)(e.CATEGORIES,function(t){var i=r.concat(e);(0,_r.contains)(i,t)||Qv(i,t)})}Nt.singleAssignCategoriesToksMap=Qv;function LY(r){return(0,_r.has)(r,\"tokenTypeIdx\")}Nt.hasShortKeyProperty=LY;function Bv(r){return(0,_r.has)(r,\"CATEGORIES\")}Nt.hasCategoriesProperty=Bv;function TY(r){return(0,_r.has)(r,\"categoryMatches\")}Nt.hasExtendingTokensTypesProperty=TY;function OY(r){return(0,_r.has)(r,\"categoryMatchesMap\")}Nt.hasExtendingTokensTypesMapProperty=OY;function $me(r){return(0,_r.has)(r,\"tokenTypeIdx\")}Nt.isTokenType=$me});var bv=w(JI=>{\"use strict\";Object.defineProperty(JI,\"__esModule\",{value:!0});JI.defaultLexerErrorProvider=void 0;JI.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(r){return\"Unable to pop Lexer Mode after encountering Token ->\"+r.image+\"<- The Mode Stack is empty\"},buildUnexpectedCharactersMessage:function(r,e,t,i,n){return\"unexpected character: ->\"+r.charAt(e)+\"<- at offset: \"+e+\",\"+(\" skipped \"+t+\" characters.\")}}});var gd=w(nc=>{\"use strict\";Object.defineProperty(nc,\"__esModule\",{value:!0});nc.Lexer=nc.LexerDefinitionErrorType=void 0;var zs=Cv(),nr=Gt(),eEe=Gg(),tEe=bv(),rEe=GI(),iEe;(function(r){r[r.MISSING_PATTERN=0]=\"MISSING_PATTERN\",r[r.INVALID_PATTERN=1]=\"INVALID_PATTERN\",r[r.EOI_ANCHOR_FOUND=2]=\"EOI_ANCHOR_FOUND\",r[r.UNSUPPORTED_FLAGS_FOUND=3]=\"UNSUPPORTED_FLAGS_FOUND\",r[r.DUPLICATE_PATTERNS_FOUND=4]=\"DUPLICATE_PATTERNS_FOUND\",r[r.INVALID_GROUP_TYPE_FOUND=5]=\"INVALID_GROUP_TYPE_FOUND\",r[r.PUSH_MODE_DOES_NOT_EXIST=6]=\"PUSH_MODE_DOES_NOT_EXIST\",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]=\"MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE\",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]=\"MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY\",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]=\"MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST\",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]=\"LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED\",r[r.SOI_ANCHOR_FOUND=11]=\"SOI_ANCHOR_FOUND\",r[r.EMPTY_MATCH_PATTERN=12]=\"EMPTY_MATCH_PATTERN\",r[r.NO_LINE_BREAKS_FLAGS=13]=\"NO_LINE_BREAKS_FLAGS\",r[r.UNREACHABLE_PATTERN=14]=\"UNREACHABLE_PATTERN\",r[r.IDENTIFY_TERMINATOR=15]=\"IDENTIFY_TERMINATOR\",r[r.CUSTOM_LINE_BREAK=16]=\"CUSTOM_LINE_BREAK\"})(iEe=nc.LexerDefinitionErrorType||(nc.LexerDefinitionErrorType={}));var fd={deferDefinitionErrorsHandling:!1,positionTracking:\"full\",lineTerminatorsPattern:/\\n|\\r\\n?/g,lineTerminatorCharacters:[`\n`,\"\\r\"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:tEe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(fd);var nEe=function(){function r(e,t){var i=this;if(t===void 0&&(t=fd),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof t==\"boolean\")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported`);this.config=(0,nr.merge)(fd,t);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n==\"number\"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT(\"Lexer Constructor\",function(){var s,o=!0;i.TRACE_INIT(\"Lexer Config handling\",function(){if(i.config.lineTerminatorsPattern===fd.lineTerminatorsPattern)i.config.lineTerminatorsPattern=zs.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===fd.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('\"safeMode\" and \"ensureOptimizations\" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,nr.isArray)(e)?(s={modes:{}},s.modes[zs.DEFAULT_MODE]=(0,nr.cloneArr)(e),s[zs.DEFAULT_MODE]=zs.DEFAULT_MODE):(o=!1,s=(0,nr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT(\"performRuntimeChecks\",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,zs.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT(\"performWarningRuntimeChecks\",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,zs.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,nr.forEach)(s.modes,function(u,g){s.modes[g]=(0,nr.reject)(u,function(f){return(0,nr.isUndefined)(f)})});var a=(0,nr.keys)(s.modes);if((0,nr.forEach)(s.modes,function(u,g){i.TRACE_INIT(\"Mode: <\"+g+\"> processing\",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT(\"validatePatterns\",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,zs.validatePatterns)(u,a))}),(0,nr.isEmpty)(i.lexerDefinitionErrors)){(0,eEe.augmentTokenTypes)(u);var f;i.TRACE_INIT(\"analyzeTokenTypes\",function(){f=(0,zs.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,nr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,nr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,nr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`-----------------------\n`);throw new Error(`Errors detected in definition of Lexer:\n`+c)}(0,nr.forEach)(i.lexerDefinitionWarning,function(u){(0,nr.PRINT_WARNING)(u.message)}),i.TRACE_INIT(\"Choosing sub-methods implementations\",function(){if(zs.SUPPORT_STICKY?(i.chopInput=nr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=nr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=nr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=nr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=nr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid <positionTracking> config option: \"'+i.config.positionTracking+'\"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT(\"Failed Optimization Warnings\",function(){var u=(0,nr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(t.ensureOptimizations&&!(0,nr.isEmpty)(u))throw Error(\"Lexer Modes: < \"+u.join(\", \")+` > cannot be optimized.\n\t Disable the \"ensureOptimizations\" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.\n\t Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT(\"clearRegExpParserCache\",function(){(0,rEe.clearRegExpParserCache)()}),i.TRACE_INIT(\"toFastProperties\",function(){(0,nr.toFastProperties)(i)})})}return r.prototype.tokenize=function(e,t){if(t===void 0&&(t=this.defaultMode),!(0,nr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,nr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`-----------------------\n`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:\n`+n)}var s=this.tokenizeInternal(e,t);return s},r.prototype.tokenizeInternal=function(e,t){var i=this,n,s,o,a,l,c,u,g,f,h,p,C,y,B,v,D,L=e,H=L.length,j=0,$=0,V=this.hasCustom?0:Math.floor(e.length/10),W=new Array(V),Z=[],A=this.trackStartLines?1:void 0,ae=this.trackStartLines?1:void 0,ge=(0,zs.cloneEmptyGroups)(this.emptyGroups),re=this.trackStartLines,O=this.config.lineTerminatorsPattern,F=0,ue=[],he=[],ke=[],Fe=[];Object.freeze(Fe);var Ne=void 0;function oe(){return ue}function le(pr){var Ei=(0,zs.charCodeToOptimizedIndex)(pr),_n=he[Ei];return _n===void 0?Fe:_n}var we=function(pr){if(ke.length===1&&pr.tokenType.PUSH_MODE===void 0){var Ei=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(pr);Z.push({offset:pr.startOffset,line:pr.startLine!==void 0?pr.startLine:void 0,column:pr.startColumn!==void 0?pr.startColumn:void 0,length:pr.image.length,message:Ei})}else{ke.pop();var _n=(0,nr.last)(ke);ue=i.patternIdxToConfig[_n],he=i.charCodeToPatternIdxToConfig[_n],F=ue.length;var oa=i.canModeBeOptimized[_n]&&i.config.safeMode===!1;he&&oa?Ne=le:Ne=oe}};function fe(pr){ke.push(pr),he=this.charCodeToPatternIdxToConfig[pr],ue=this.patternIdxToConfig[pr],F=ue.length,F=ue.length;var Ei=this.canModeBeOptimized[pr]&&this.config.safeMode===!1;he&&Ei?Ne=le:Ne=oe}fe.call(this,t);for(var Ae;j<H;){c=null;var qe=L.charCodeAt(j),ne=Ne(qe),Y=ne.length;for(n=0;n<Y;n++){Ae=ne[n];var pe=Ae.pattern;u=null;var ie=Ae.short;if(ie!==!1?qe===ie&&(c=pe):Ae.isCustom===!0?(D=pe.exec(L,j,W,ge),D!==null?(c=D[0],D.payload!==void 0&&(u=D.payload)):c=null):(this.updateLastIndex(pe,j),c=this.match(pe,e,j)),c!==null){if(l=Ae.longerAlt,l!==void 0){var de=l.length;for(o=0;o<de;o++){var tt=ue[l[o]],Pt=tt.pattern;if(g=null,tt.isCustom===!0?(D=Pt.exec(L,j,W,ge),D!==null?(a=D[0],D.payload!==void 0&&(g=D.payload)):a=null):(this.updateLastIndex(Pt,j),a=this.match(Pt,e,j)),a&&a.length>c.length){c=a,u=g,Ae=tt;break}}}break}}if(c!==null){if(f=c.length,h=Ae.group,h!==void 0&&(p=Ae.tokenTypeIdx,C=this.createTokenInstance(c,j,p,Ae.tokenType,A,ae,f),this.handlePayload(C,u),h===!1?$=this.addToken(W,$,C):ge[h].push(C)),e=this.chopInput(e,f),j=j+f,ae=this.computeNewColumn(ae,f),re===!0&&Ae.canLineTerminator===!0){var It=0,Or=void 0,ii=void 0;O.lastIndex=0;do Or=O.test(c),Or===!0&&(ii=O.lastIndex-1,It++);while(Or===!0);It!==0&&(A=A+It,ae=f-ii,this.updateTokenEndLineColumnLocation(C,h,ii,It,A,ae,f))}this.handleModes(Ae,we,fe,C)}else{for(var gi=j,hr=A,fi=ae,ni=!1;!ni&&j<H;)for(B=L.charCodeAt(j),e=this.chopInput(e,1),j++,s=0;s<F;s++){var Ls=ue[s],pe=Ls.pattern,ie=Ls.short;if(ie!==!1?L.charCodeAt(j)===ie&&(ni=!0):Ls.isCustom===!0?ni=pe.exec(L,j,W,ge)!==null:(this.updateLastIndex(pe,j),ni=pe.exec(e)!==null),ni===!0)break}y=j-gi,v=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(L,gi,y,hr,fi),Z.push({offset:gi,line:hr,column:fi,length:y,message:v})}}return this.hasCustom||(W.length=$),{tokens:W,groups:ge,errors:Z}},r.prototype.handleModes=function(e,t,i,n){if(e.pop===!0){var s=e.push;t(n),s!==void 0&&i.call(this,s)}else e.push!==void 0&&i.call(this,e.push)},r.prototype.chopInput=function(e,t){return e.substring(t)},r.prototype.updateLastIndex=function(e,t){e.lastIndex=t},r.prototype.updateTokenEndLineColumnLocation=function(e,t,i,n,s,o,a){var l,c;t!==void 0&&(l=i===a-1,c=l?-1:0,n===1&&l===!0||(e.endLine=s+c,e.endColumn=o-1+-c))},r.prototype.computeNewColumn=function(e,t){return e+t},r.prototype.createTokenInstance=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return null},r.prototype.createOffsetOnlyToken=function(e,t,i,n){return{image:e,startOffset:t,tokenTypeIdx:i,tokenType:n}},r.prototype.createStartOnlyToken=function(e,t,i,n,s,o){return{image:e,startOffset:t,startLine:s,startColumn:o,tokenTypeIdx:i,tokenType:n}},r.prototype.createFullToken=function(e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:t+a-1,startLine:s,endLine:s,startColumn:o,endColumn:o+a-1,tokenTypeIdx:i,tokenType:n}},r.prototype.addToken=function(e,t,i){return 666},r.prototype.addTokenUsingPush=function(e,t,i){return e.push(i),t},r.prototype.addTokenUsingMemberAccess=function(e,t,i){return e[t]=i,t++,t},r.prototype.handlePayload=function(e,t){},r.prototype.handlePayloadNoCustom=function(e,t){},r.prototype.handlePayloadWithCustom=function(e,t){t!==null&&(e.payload=t)},r.prototype.match=function(e,t,i){return null},r.prototype.matchWithTest=function(e,t,i){var n=e.test(t);return n===!0?t.substring(i,e.lastIndex):null},r.prototype.matchWithExec=function(e,t){var i=e.exec(t);return i!==null?i[0]:i},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(\"\t\");this.traceInitIndent<this.traceInitMaxIdent&&console.log(i+\"--> <\"+e+\">\");var n=(0,nr.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(i+\"<-- <\"+e+\"> time: \"+s+\"ms\"),this.traceInitIndent--,o}else return t()},r.SKIPPED=\"This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.\",r.NA=/NOT_APPLICABLE/,r}();nc.Lexer=nEe});var SA=w(Qi=>{\"use strict\";Object.defineProperty(Qi,\"__esModule\",{value:!0});Qi.tokenMatcher=Qi.createTokenInstance=Qi.EOF=Qi.createToken=Qi.hasTokenLabel=Qi.tokenName=Qi.tokenLabel=void 0;var Vs=Gt(),sEe=gd(),Sv=Gg();function oEe(r){return JY(r)?r.LABEL:r.name}Qi.tokenLabel=oEe;function aEe(r){return r.name}Qi.tokenName=aEe;function JY(r){return(0,Vs.isString)(r.LABEL)&&r.LABEL!==\"\"}Qi.hasTokenLabel=JY;var AEe=\"parent\",MY=\"categories\",KY=\"label\",UY=\"group\",HY=\"push_mode\",GY=\"pop_mode\",YY=\"longer_alt\",jY=\"line_breaks\",qY=\"start_chars_hint\";function WY(r){return lEe(r)}Qi.createToken=WY;function lEe(r){var e=r.pattern,t={};if(t.name=r.name,(0,Vs.isUndefined)(e)||(t.PATTERN=e),(0,Vs.has)(r,AEe))throw`The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,Vs.has)(r,MY)&&(t.CATEGORIES=r[MY]),(0,Sv.augmentTokenTypes)([t]),(0,Vs.has)(r,KY)&&(t.LABEL=r[KY]),(0,Vs.has)(r,UY)&&(t.GROUP=r[UY]),(0,Vs.has)(r,GY)&&(t.POP_MODE=r[GY]),(0,Vs.has)(r,HY)&&(t.PUSH_MODE=r[HY]),(0,Vs.has)(r,YY)&&(t.LONGER_ALT=r[YY]),(0,Vs.has)(r,jY)&&(t.LINE_BREAKS=r[jY]),(0,Vs.has)(r,qY)&&(t.START_CHARS_HINT=r[qY]),t}Qi.EOF=WY({name:\"EOF\",pattern:sEe.Lexer.NA});(0,Sv.augmentTokenTypes)([Qi.EOF]);function cEe(r,e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}Qi.createTokenInstance=cEe;function uEe(r,e){return(0,Sv.tokenStructuredMatcher)(r,e)}Qi.tokenMatcher=uEe});var dn=w(Wt=>{\"use strict\";var wa=Wt&&Wt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Wt,\"__esModule\",{value:!0});Wt.serializeProduction=Wt.serializeGrammar=Wt.Terminal=Wt.Alternation=Wt.RepetitionWithSeparator=Wt.Repetition=Wt.RepetitionMandatoryWithSeparator=Wt.RepetitionMandatory=Wt.Option=Wt.Alternative=Wt.Rule=Wt.NonTerminal=Wt.AbstractProduction=void 0;var Ar=Gt(),gEe=SA(),vo=function(){function r(e){this._definition=e}return Object.defineProperty(r.prototype,\"definition\",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),r.prototype.accept=function(e){e.visit(this),(0,Ar.forEach)(this.definition,function(t){t.accept(e)})},r}();Wt.AbstractProduction=vo;var zY=function(r){wa(e,r);function e(t){var i=r.call(this,[])||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,\"definition\",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(vo);Wt.NonTerminal=zY;var VY=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.orgText=\"\",(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.Rule=VY;var XY=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.ignoreAmbiguities=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.Alternative=XY;var _Y=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.Option=_Y;var ZY=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.RepetitionMandatory=ZY;var $Y=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.RepetitionMandatoryWithSeparator=$Y;var ej=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.Repetition=ej;var tj=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.RepetitionWithSeparator=tj;var rj=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,\"definition\",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(vo);Wt.Alternation=rj;var WI=function(){function r(e){this.idx=1,(0,Ar.assign)(this,(0,Ar.pick)(e,function(t){return t!==void 0}))}return r.prototype.accept=function(e){e.visit(this)},r}();Wt.Terminal=WI;function fEe(r){return(0,Ar.map)(r,hd)}Wt.serializeGrammar=fEe;function hd(r){function e(s){return(0,Ar.map)(s,hd)}if(r instanceof zY){var t={type:\"NonTerminal\",name:r.nonTerminalName,idx:r.idx};return(0,Ar.isString)(r.label)&&(t.label=r.label),t}else{if(r instanceof XY)return{type:\"Alternative\",definition:e(r.definition)};if(r instanceof _Y)return{type:\"Option\",idx:r.idx,definition:e(r.definition)};if(r instanceof ZY)return{type:\"RepetitionMandatory\",idx:r.idx,definition:e(r.definition)};if(r instanceof $Y)return{type:\"RepetitionMandatoryWithSeparator\",idx:r.idx,separator:hd(new WI({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof tj)return{type:\"RepetitionWithSeparator\",idx:r.idx,separator:hd(new WI({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof ej)return{type:\"Repetition\",idx:r.idx,definition:e(r.definition)};if(r instanceof rj)return{type:\"Alternation\",idx:r.idx,definition:e(r.definition)};if(r instanceof WI){var i={type:\"Terminal\",name:r.terminalType.name,label:(0,gEe.tokenLabel)(r.terminalType),idx:r.idx};(0,Ar.isString)(r.label)&&(i.terminalLabel=r.label);var n=r.terminalType.PATTERN;return r.terminalType.PATTERN&&(i.pattern=(0,Ar.isRegExp)(n)?n.source:n),i}else{if(r instanceof VY)return{type:\"Rule\",name:r.name,orgText:r.orgText,definition:e(r.definition)};throw Error(\"non exhaustive match\")}}}Wt.serializeProduction=hd});var VI=w(zI=>{\"use strict\";Object.defineProperty(zI,\"__esModule\",{value:!0});zI.RestWalker=void 0;var vv=Gt(),Cn=dn(),hEe=function(){function r(){}return r.prototype.walk=function(e,t){var i=this;t===void 0&&(t=[]),(0,vv.forEach)(e.definition,function(n,s){var o=(0,vv.drop)(e.definition,s+1);if(n instanceof Cn.NonTerminal)i.walkProdRef(n,o,t);else if(n instanceof Cn.Terminal)i.walkTerminal(n,o,t);else if(n instanceof Cn.Alternative)i.walkFlat(n,o,t);else if(n instanceof Cn.Option)i.walkOption(n,o,t);else if(n instanceof Cn.RepetitionMandatory)i.walkAtLeastOne(n,o,t);else if(n instanceof Cn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,t);else if(n instanceof Cn.RepetitionWithSeparator)i.walkManySep(n,o,t);else if(n instanceof Cn.Repetition)i.walkMany(n,o,t);else if(n instanceof Cn.Alternation)i.walkOr(n,o,t);else throw Error(\"non exhaustive match\")})},r.prototype.walkTerminal=function(e,t,i){},r.prototype.walkProdRef=function(e,t,i){},r.prototype.walkFlat=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkOption=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkAtLeastOne=function(e,t,i){var n=[new Cn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkAtLeastOneSep=function(e,t,i){var n=ij(e,t,i);this.walk(e,n)},r.prototype.walkMany=function(e,t,i){var n=[new Cn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkManySep=function(e,t,i){var n=ij(e,t,i);this.walk(e,n)},r.prototype.walkOr=function(e,t,i){var n=this,s=t.concat(i);(0,vv.forEach)(e.definition,function(o){var a=new Cn.Alternative({definition:[o]});n.walk(a,s)})},r}();zI.RestWalker=hEe;function ij(r,e,t){var i=[new Cn.Option({definition:[new Cn.Terminal({terminalType:r.separator})].concat(r.definition)})],n=i.concat(e,t);return n}});var Yg=w(XI=>{\"use strict\";Object.defineProperty(XI,\"__esModule\",{value:!0});XI.GAstVisitor=void 0;var xo=dn(),pEe=function(){function r(){}return r.prototype.visit=function(e){var t=e;switch(t.constructor){case xo.NonTerminal:return this.visitNonTerminal(t);case xo.Alternative:return this.visitAlternative(t);case xo.Option:return this.visitOption(t);case xo.RepetitionMandatory:return this.visitRepetitionMandatory(t);case xo.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case xo.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case xo.Repetition:return this.visitRepetition(t);case xo.Alternation:return this.visitAlternation(t);case xo.Terminal:return this.visitTerminal(t);case xo.Rule:return this.visitRule(t);default:throw Error(\"non exhaustive match\")}},r.prototype.visitNonTerminal=function(e){},r.prototype.visitAlternative=function(e){},r.prototype.visitOption=function(e){},r.prototype.visitRepetition=function(e){},r.prototype.visitRepetitionMandatory=function(e){},r.prototype.visitRepetitionMandatoryWithSeparator=function(e){},r.prototype.visitRepetitionWithSeparator=function(e){},r.prototype.visitAlternation=function(e){},r.prototype.visitTerminal=function(e){},r.prototype.visitRule=function(e){},r}();XI.GAstVisitor=pEe});var dd=w(Oi=>{\"use strict\";var dEe=Oi&&Oi.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Oi,\"__esModule\",{value:!0});Oi.collectMethods=Oi.DslMethodsCollectorVisitor=Oi.getProductionDslName=Oi.isBranchingProd=Oi.isOptionalProd=Oi.isSequenceProd=void 0;var pd=Gt(),Qr=dn(),CEe=Yg();function mEe(r){return r instanceof Qr.Alternative||r instanceof Qr.Option||r instanceof Qr.Repetition||r instanceof Qr.RepetitionMandatory||r instanceof Qr.RepetitionMandatoryWithSeparator||r instanceof Qr.RepetitionWithSeparator||r instanceof Qr.Terminal||r instanceof Qr.Rule}Oi.isSequenceProd=mEe;function xv(r,e){e===void 0&&(e=[]);var t=r instanceof Qr.Option||r instanceof Qr.Repetition||r instanceof Qr.RepetitionWithSeparator;return t?!0:r instanceof Qr.Alternation?(0,pd.some)(r.definition,function(i){return xv(i,e)}):r instanceof Qr.NonTerminal&&(0,pd.contains)(e,r)?!1:r instanceof Qr.AbstractProduction?(r instanceof Qr.NonTerminal&&e.push(r),(0,pd.every)(r.definition,function(i){return xv(i,e)})):!1}Oi.isOptionalProd=xv;function EEe(r){return r instanceof Qr.Alternation}Oi.isBranchingProd=EEe;function IEe(r){if(r instanceof Qr.NonTerminal)return\"SUBRULE\";if(r instanceof Qr.Option)return\"OPTION\";if(r instanceof Qr.Alternation)return\"OR\";if(r instanceof Qr.RepetitionMandatory)return\"AT_LEAST_ONE\";if(r instanceof Qr.RepetitionMandatoryWithSeparator)return\"AT_LEAST_ONE_SEP\";if(r instanceof Qr.RepetitionWithSeparator)return\"MANY_SEP\";if(r instanceof Qr.Repetition)return\"MANY\";if(r instanceof Qr.Terminal)return\"CONSUME\";throw Error(\"non exhaustive match\")}Oi.getProductionDslName=IEe;var nj=function(r){dEe(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.separator=\"-\",t.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},t}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(t){var i=t.terminalType.name+this.separator+\"Terminal\";(0,pd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitNonTerminal=function(t){var i=t.nonTerminalName+this.separator+\"Terminal\";(0,pd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitOption=function(t){this.dslMethods.option.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.dslMethods.repetitionWithSeparator.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.dslMethods.repetitionMandatory.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)},e.prototype.visitRepetition=function(t){this.dslMethods.repetition.push(t)},e.prototype.visitAlternation=function(t){this.dslMethods.alternation.push(t)},e}(CEe.GAstVisitor);Oi.DslMethodsCollectorVisitor=nj;var _I=new nj;function yEe(r){_I.reset(),r.accept(_I);var e=_I.dslMethods;return _I.reset(),e}Oi.collectMethods=yEe});var Dv=w(Po=>{\"use strict\";Object.defineProperty(Po,\"__esModule\",{value:!0});Po.firstForTerminal=Po.firstForBranching=Po.firstForSequence=Po.first=void 0;var ZI=Gt(),sj=dn(),Pv=dd();function $I(r){if(r instanceof sj.NonTerminal)return $I(r.referencedRule);if(r instanceof sj.Terminal)return Aj(r);if((0,Pv.isSequenceProd)(r))return oj(r);if((0,Pv.isBranchingProd)(r))return aj(r);throw Error(\"non exhaustive match\")}Po.first=$I;function oj(r){for(var e=[],t=r.definition,i=0,n=t.length>i,s,o=!0;n&&o;)s=t[i],o=(0,Pv.isOptionalProd)(s),e=e.concat($I(s)),i=i+1,n=t.length>i;return(0,ZI.uniq)(e)}Po.firstForSequence=oj;function aj(r){var e=(0,ZI.map)(r.definition,function(t){return $I(t)});return(0,ZI.uniq)((0,ZI.flatten)(e))}Po.firstForBranching=aj;function Aj(r){return[r.terminalType]}Po.firstForTerminal=Aj});var kv=w(ey=>{\"use strict\";Object.defineProperty(ey,\"__esModule\",{value:!0});ey.IN=void 0;ey.IN=\"_~IN~_\"});var fj=w(As=>{\"use strict\";var wEe=As&&As.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(As,\"__esModule\",{value:!0});As.buildInProdFollowPrefix=As.buildBetweenProdsFollowPrefix=As.computeAllProdsFollows=As.ResyncFollowsWalker=void 0;var BEe=VI(),QEe=Dv(),lj=Gt(),cj=kv(),bEe=dn(),uj=function(r){wEe(e,r);function e(t){var i=r.call(this)||this;return i.topProd=t,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(t,i,n){},e.prototype.walkProdRef=function(t,i,n){var s=gj(t.referencedRule,t.idx)+this.topProd.name,o=i.concat(n),a=new bEe.Alternative({definition:o}),l=(0,QEe.first)(a);this.follows[s]=l},e}(BEe.RestWalker);As.ResyncFollowsWalker=uj;function SEe(r){var e={};return(0,lj.forEach)(r,function(t){var i=new uj(t).startWalking();(0,lj.assign)(e,i)}),e}As.computeAllProdsFollows=SEe;function gj(r,e){return r.name+e+cj.IN}As.buildBetweenProdsFollowPrefix=gj;function vEe(r){var e=r.terminalType.name;return e+r.idx+cj.IN}As.buildInProdFollowPrefix=vEe});var Cd=w(Ba=>{\"use strict\";Object.defineProperty(Ba,\"__esModule\",{value:!0});Ba.defaultGrammarValidatorErrorProvider=Ba.defaultGrammarResolverErrorProvider=Ba.defaultParserErrorProvider=void 0;var jg=SA(),xEe=Gt(),Xs=Gt(),Rv=dn(),hj=dd();Ba.defaultParserErrorProvider={buildMismatchTokenMessage:function(r){var e=r.expected,t=r.actual,i=r.previous,n=r.ruleName,s=(0,jg.hasTokenLabel)(e),o=s?\"--> \"+(0,jg.tokenLabel)(e)+\" <--\":\"token of type --> \"+e.name+\" <--\",a=\"Expecting \"+o+\" but found --> '\"+t.image+\"' <--\";return a},buildNotAllInputParsedMessage:function(r){var e=r.firstRedundant,t=r.ruleName;return\"Redundant input, expecting EOF but found: \"+e.image},buildNoViableAltMessage:function(r){var e=r.expectedPathsPerAlt,t=r.actual,i=r.previous,n=r.customUserDescription,s=r.ruleName,o=\"Expecting: \",a=(0,Xs.first)(t).image,l=`\nbut found: '`+a+\"'\";if(n)return o+n+l;var c=(0,Xs.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,Xs.map)(c,function(h){return\"[\"+(0,Xs.map)(h,function(p){return(0,jg.tokenLabel)(p)}).join(\", \")+\"]\"}),g=(0,Xs.map)(u,function(h,p){return\"  \"+(p+1)+\". \"+h}),f=`one of these possible Token sequences:\n`+g.join(`\n`);return o+f+l},buildEarlyExitMessage:function(r){var e=r.expectedIterationPaths,t=r.actual,i=r.customUserDescription,n=r.ruleName,s=\"Expecting: \",o=(0,Xs.first)(t).image,a=`\nbut found: '`+o+\"'\";if(i)return s+i+a;var l=(0,Xs.map)(e,function(u){return\"[\"+(0,Xs.map)(u,function(g){return(0,jg.tokenLabel)(g)}).join(\",\")+\"]\"}),c=`expecting at least one iteration which starts with one of these possible Token sequences::\n  `+(\"<\"+l.join(\" ,\")+\">\");return s+c+a}};Object.freeze(Ba.defaultParserErrorProvider);Ba.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(r,e){var t=\"Invalid grammar, reference to a rule which is not defined: ->\"+e.nonTerminalName+`<-\ninside top level rule: ->`+r.name+\"<-\";return t}};Ba.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(r,e){function t(u){return u instanceof Rv.Terminal?u.terminalType.name:u instanceof Rv.NonTerminal?u.nonTerminalName:\"\"}var i=r.name,n=(0,Xs.first)(e),s=n.idx,o=(0,hj.getProductionDslName)(n),a=t(n),l=s>0,c=\"->\"+o+(l?s:\"\")+\"<- \"+(a?\"with argument: ->\"+a+\"<-\":\"\")+`\n                  appears more than once (`+e.length+\" times) in the top level rule: ->\"+i+`<-.                  \n                  For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES \n                  `;return c=c.replace(/[ \\t]+/g,\" \"),c=c.replace(/\\s\\s+/g,`\n`),c},buildNamespaceConflictError:function(r){var e=`Namespace conflict found in grammar.\n`+(\"The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <\"+r.name+`>.\n`)+`To resolve this make sure each Terminal and Non-Terminal names are unique\nThis is easy to accomplish by using the convention that Terminal names start with an uppercase letter\nand Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(r){var e=(0,Xs.map)(r.prefixPath,function(n){return(0,jg.tokenLabel)(n)}).join(\", \"),t=r.alternation.idx===0?\"\":r.alternation.idx,i=\"Ambiguous alternatives: <\"+r.ambiguityIndices.join(\" ,\")+`> due to common lookahead prefix\n`+(\"in <OR\"+t+\"> inside <\"+r.topLevelRule.name+`> Rule,\n`)+(\"<\"+e+`> may appears as a prefix path in all these alternatives.\n`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX\nFor Further details.`;return i},buildAlternationAmbiguityError:function(r){var e=(0,Xs.map)(r.prefixPath,function(n){return(0,jg.tokenLabel)(n)}).join(\", \"),t=r.alternation.idx===0?\"\":r.alternation.idx,i=\"Ambiguous Alternatives Detected: <\"+r.ambiguityIndices.join(\" ,\")+\"> in <OR\"+t+\">\"+(\" inside <\"+r.topLevelRule.name+`> Rule,\n`)+(\"<\"+e+`> may appears as a prefix path in all these alternatives.\n`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.`,i},buildEmptyRepetitionError:function(r){var e=(0,hj.getProductionDslName)(r.repetition);r.repetition.idx!==0&&(e+=r.repetition.idx);var t=\"The repetition <\"+e+\"> within Rule <\"+r.topLevelRule.name+`> can never consume any tokens.\nThis could lead to an infinite loop.`;return t},buildTokenNameError:function(r){return\"deprecated\"},buildEmptyAlternationError:function(r){var e=\"Ambiguous empty alternative: <\"+(r.emptyChoiceIdx+1)+\">\"+(\" in <OR\"+r.alternation.idx+\"> inside <\"+r.topLevelRule.name+`> Rule.\n`)+\"Only the last alternative may be an empty alternative.\";return e},buildTooManyAlternativesError:function(r){var e=`An Alternation cannot have more than 256 alternatives:\n`+(\"<OR\"+r.alternation.idx+\"> inside <\"+r.topLevelRule.name+`> Rule.\n has `+(r.alternation.definition.length+1)+\" alternatives.\");return e},buildLeftRecursionError:function(r){var e=r.topLevelRule.name,t=xEe.map(r.leftRecursionPath,function(s){return s.name}),i=e+\" --> \"+t.concat([e]).join(\" --> \"),n=`Left Recursion found in grammar.\n`+(\"rule: <\"+e+`> can be invoked from itself (directly or indirectly)\n`)+(`without consuming any Tokens. The grammar path that causes this is: \n `+i+`\n`)+` To fix this refactor your grammar to remove the left recursion.\nsee: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return\"deprecated\"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof Rv.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t=\"Duplicate definition, rule: ->\"+e+\"<- is already defined in the grammar: ->\"+r.grammarName+\"<-\";return t}}});var Cj=w(vA=>{\"use strict\";var PEe=vA&&vA.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(vA,\"__esModule\",{value:!0});vA.GastRefResolverVisitor=vA.resolveGrammar=void 0;var DEe=Hn(),pj=Gt(),kEe=Yg();function REe(r,e){var t=new dj(r,e);return t.resolveRefs(),t.errors}vA.resolveGrammar=REe;var dj=function(r){PEe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,pj.forEach)((0,pj.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:DEe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(kEe.GAstVisitor);vA.GastRefResolverVisitor=dj});var Ed=w(Nr=>{\"use strict\";var sc=Nr&&Nr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Nr,\"__esModule\",{value:!0});Nr.nextPossibleTokensAfter=Nr.possiblePathsFrom=Nr.NextTerminalAfterAtLeastOneSepWalker=Nr.NextTerminalAfterAtLeastOneWalker=Nr.NextTerminalAfterManySepWalker=Nr.NextTerminalAfterManyWalker=Nr.AbstractNextTerminalAfterProductionWalker=Nr.NextAfterTokenWalker=Nr.AbstractNextPossibleTokensWalker=void 0;var mj=VI(),Kt=Gt(),FEe=Dv(),kt=dn(),Ej=function(r){sc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName=\"\",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error(\"The path does not start with the walker's top Rule!\");return this.ruleStack=(0,Kt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Kt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Kt.isEmpty)(this.ruleStack)?(this.nextProductionName=\"\",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(mj.RestWalker);Nr.AbstractNextPossibleTokensWalker=Ej;var NEe=function(r){sc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName=\"\",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new kt.Alternative({definition:s});this.possibleTokTypes=(0,FEe.first)(o),this.found=!0}},e}(Ej);Nr.NextAfterTokenWalker=NEe;var md=function(r){sc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(mj.RestWalker);Nr.AbstractNextTerminalAfterProductionWalker=md;var LEe=function(r){sc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkMany.call(this,t,i,n)},e}(md);Nr.NextTerminalAfterManyWalker=LEe;var TEe=function(r){sc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkManySep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkManySep.call(this,t,i,n)},e}(md);Nr.NextTerminalAfterManySepWalker=TEe;var OEe=function(r){sc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOne.call(this,t,i,n)},e}(md);Nr.NextTerminalAfterAtLeastOneWalker=OEe;var MEe=function(r){sc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOneSep.call(this,t,i,n)},e}(md);Nr.NextTerminalAfterAtLeastOneSepWalker=MEe;function Ij(r,e,t){t===void 0&&(t=[]),t=(0,Kt.cloneArr)(t);var i=[],n=0;function s(c){return c.concat((0,Kt.drop)(r,n+1))}function o(c){var u=Ij(s(c),e,t);return i.concat(u)}for(;t.length<e&&n<r.length;){var a=r[n];if(a instanceof kt.Alternative)return o(a.definition);if(a instanceof kt.NonTerminal)return o(a.definition);if(a instanceof kt.Option)i=o(a.definition);else if(a instanceof kt.RepetitionMandatory){var l=a.definition.concat([new kt.Repetition({definition:a.definition})]);return o(l)}else if(a instanceof kt.RepetitionMandatoryWithSeparator){var l=[new kt.Alternative({definition:a.definition}),new kt.Repetition({definition:[new kt.Terminal({terminalType:a.separator})].concat(a.definition)})];return o(l)}else if(a instanceof kt.RepetitionWithSeparator){var l=a.definition.concat([new kt.Repetition({definition:[new kt.Terminal({terminalType:a.separator})].concat(a.definition)})]);i=o(l)}else if(a instanceof kt.Repetition){var l=a.definition.concat([new kt.Repetition({definition:a.definition})]);i=o(l)}else{if(a instanceof kt.Alternation)return(0,Kt.forEach)(a.definition,function(c){(0,Kt.isEmpty)(c.definition)===!1&&(i=o(c.definition))}),i;if(a instanceof kt.Terminal)t.push(a.terminalType);else throw Error(\"non exhaustive match\")}n++}return i.push({partialPath:t,suffixDef:(0,Kt.drop)(r,n)}),i}Nr.possiblePathsFrom=Ij;function KEe(r,e,t,i){var n=\"EXIT_NONE_TERMINAL\",s=[n],o=\"EXIT_ALTERNATIVE\",a=!1,l=e.length,c=l-i-1,u=[],g=[];for(g.push({idx:-1,def:r,ruleStack:[],occurrenceStack:[]});!(0,Kt.isEmpty)(g);){var f=g.pop();if(f===o){a&&(0,Kt.last)(g).idx<=c&&g.pop();continue}var h=f.def,p=f.idx,C=f.ruleStack,y=f.occurrenceStack;if(!(0,Kt.isEmpty)(h)){var B=h[0];if(B===n){var v={idx:p,def:(0,Kt.drop)(h),ruleStack:(0,Kt.dropRight)(C),occurrenceStack:(0,Kt.dropRight)(y)};g.push(v)}else if(B instanceof kt.Terminal)if(p<l-1){var D=p+1,L=e[D];if(t(L,B.terminalType)){var v={idx:D,def:(0,Kt.drop)(h),ruleStack:C,occurrenceStack:y};g.push(v)}}else if(p===l-1)u.push({nextTokenType:B.terminalType,nextTokenOccurrence:B.idx,ruleStack:C,occurrenceStack:y}),a=!0;else throw Error(\"non exhaustive match\");else if(B instanceof kt.NonTerminal){var H=(0,Kt.cloneArr)(C);H.push(B.nonTerminalName);var j=(0,Kt.cloneArr)(y);j.push(B.idx);var v={idx:p,def:B.definition.concat(s,(0,Kt.drop)(h)),ruleStack:H,occurrenceStack:j};g.push(v)}else if(B instanceof kt.Option){var $={idx:p,def:(0,Kt.drop)(h),ruleStack:C,occurrenceStack:y};g.push($),g.push(o);var V={idx:p,def:B.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y};g.push(V)}else if(B instanceof kt.RepetitionMandatory){var W=new kt.Repetition({definition:B.definition,idx:B.idx}),Z=B.definition.concat([W],(0,Kt.drop)(h)),v={idx:p,def:Z,ruleStack:C,occurrenceStack:y};g.push(v)}else if(B instanceof kt.RepetitionMandatoryWithSeparator){var A=new kt.Terminal({terminalType:B.separator}),W=new kt.Repetition({definition:[A].concat(B.definition),idx:B.idx}),Z=B.definition.concat([W],(0,Kt.drop)(h)),v={idx:p,def:Z,ruleStack:C,occurrenceStack:y};g.push(v)}else if(B instanceof kt.RepetitionWithSeparator){var $={idx:p,def:(0,Kt.drop)(h),ruleStack:C,occurrenceStack:y};g.push($),g.push(o);var A=new kt.Terminal({terminalType:B.separator}),ae=new kt.Repetition({definition:[A].concat(B.definition),idx:B.idx}),Z=B.definition.concat([ae],(0,Kt.drop)(h)),V={idx:p,def:Z,ruleStack:C,occurrenceStack:y};g.push(V)}else if(B instanceof kt.Repetition){var $={idx:p,def:(0,Kt.drop)(h),ruleStack:C,occurrenceStack:y};g.push($),g.push(o);var ae=new kt.Repetition({definition:B.definition,idx:B.idx}),Z=B.definition.concat([ae],(0,Kt.drop)(h)),V={idx:p,def:Z,ruleStack:C,occurrenceStack:y};g.push(V)}else if(B instanceof kt.Alternation)for(var ge=B.definition.length-1;ge>=0;ge--){var re=B.definition[ge],O={idx:p,def:re.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y};g.push(O),g.push(o)}else if(B instanceof kt.Alternative)g.push({idx:p,def:B.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y});else if(B instanceof kt.Rule)g.push(UEe(B,p,C,y));else throw Error(\"non exhaustive match\")}}return u}Nr.nextPossibleTokensAfter=KEe;function UEe(r,e,t,i){var n=(0,Kt.cloneArr)(t);n.push(r.name);var s=(0,Kt.cloneArr)(i);return s.push(1),{idx:e,def:r.definition,ruleStack:n,occurrenceStack:s}}});var Id=w(_t=>{\"use strict\";var Bj=_t&&_t.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(_t,\"__esModule\",{value:!0});_t.areTokenCategoriesNotUsed=_t.isStrictPrefixOfPath=_t.containsPath=_t.getLookaheadPathsForOptionalProd=_t.getLookaheadPathsForOr=_t.lookAheadSequenceFromAlternatives=_t.buildSingleAlternativeLookaheadFunction=_t.buildAlternativesLookAheadFunc=_t.buildLookaheadFuncForOptionalProd=_t.buildLookaheadFuncForOr=_t.getProdType=_t.PROD_TYPE=void 0;var sr=Gt(),yj=Ed(),HEe=VI(),ty=Gg(),xA=dn(),GEe=Yg(),oi;(function(r){r[r.OPTION=0]=\"OPTION\",r[r.REPETITION=1]=\"REPETITION\",r[r.REPETITION_MANDATORY=2]=\"REPETITION_MANDATORY\",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]=\"REPETITION_MANDATORY_WITH_SEPARATOR\",r[r.REPETITION_WITH_SEPARATOR=4]=\"REPETITION_WITH_SEPARATOR\",r[r.ALTERNATION=5]=\"ALTERNATION\"})(oi=_t.PROD_TYPE||(_t.PROD_TYPE={}));function YEe(r){if(r instanceof xA.Option)return oi.OPTION;if(r instanceof xA.Repetition)return oi.REPETITION;if(r instanceof xA.RepetitionMandatory)return oi.REPETITION_MANDATORY;if(r instanceof xA.RepetitionMandatoryWithSeparator)return oi.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof xA.RepetitionWithSeparator)return oi.REPETITION_WITH_SEPARATOR;if(r instanceof xA.Alternation)return oi.ALTERNATION;throw Error(\"non exhaustive match\")}_t.getProdType=YEe;function jEe(r,e,t,i,n,s){var o=bj(r,e,t),a=Lv(o)?ty.tokenStructuredMatcherNoCategories:ty.tokenStructuredMatcher;return s(o,i,a,n)}_t.buildLookaheadFuncForOr=jEe;function qEe(r,e,t,i,n,s){var o=Sj(r,e,n,t),a=Lv(o)?ty.tokenStructuredMatcherNoCategories:ty.tokenStructuredMatcher;return s(o[0],a,i)}_t.buildLookaheadFuncForOptionalProd=qEe;function JEe(r,e,t,i){var n=r.length,s=(0,sr.every)(r,function(l){return(0,sr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,sr.map)(l,function(D){return D.GATE}),u=0;u<n;u++){var g=r[u],f=g.length,h=c[u];if(h!==void 0&&h.call(this)===!1)continue;e:for(var p=0;p<f;p++){for(var C=g[p],y=C.length,B=0;B<y;B++){var v=this.LA(B+1);if(t(v,C[B])===!1)continue e}return u}}};if(s&&!i){var o=(0,sr.map)(r,function(l){return(0,sr.flatten)(l)}),a=(0,sr.reduce)(o,function(l,c,u){return(0,sr.forEach)(c,function(g){(0,sr.has)(l,g.tokenTypeIdx)||(l[g.tokenTypeIdx]=u),(0,sr.forEach)(g.categoryMatches,function(f){(0,sr.has)(l,f)||(l[f]=u)})}),l},[]);return function(){var l=this.LA(1);return a[l.tokenTypeIdx]}}else return function(){for(var l=0;l<n;l++){var c=r[l],u=c.length;e:for(var g=0;g<u;g++){for(var f=c[g],h=f.length,p=0;p<h;p++){var C=this.LA(p+1);if(t(C,f[p])===!1)continue e}return l}}}}_t.buildAlternativesLookAheadFunc=JEe;function WEe(r,e,t){var i=(0,sr.every)(r,function(c){return c.length===1}),n=r.length;if(i&&!t){var s=(0,sr.flatten)(r);if(s.length===1&&(0,sr.isEmpty)(s[0].categoryMatches)){var o=s[0],a=o.tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===a}}else{var l=(0,sr.reduce)(s,function(c,u,g){return c[u.tokenTypeIdx]=!0,(0,sr.forEach)(u.categoryMatches,function(f){c[f]=!0}),c},[]);return function(){var c=this.LA(1);return l[c.tokenTypeIdx]===!0}}}else return function(){e:for(var c=0;c<n;c++){for(var u=r[c],g=u.length,f=0;f<g;f++){var h=this.LA(f+1);if(e(h,u[f])===!1)continue e}return!0}return!1}}_t.buildSingleAlternativeLookaheadFunction=WEe;var zEe=function(r){Bj(e,r);function e(t,i,n){var s=r.call(this)||this;return s.topProd=t,s.targetOccurrence=i,s.targetProdType=n,s}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.restDef},e.prototype.checkIsTarget=function(t,i,n,s){return t.idx===this.targetOccurrence&&this.targetProdType===i?(this.restDef=n.concat(s),!0):!1},e.prototype.walkOption=function(t,i,n){this.checkIsTarget(t,oi.OPTION,i,n)||r.prototype.walkOption.call(this,t,i,n)},e.prototype.walkAtLeastOne=function(t,i,n){this.checkIsTarget(t,oi.REPETITION_MANDATORY,i,n)||r.prototype.walkOption.call(this,t,i,n)},e.prototype.walkAtLeastOneSep=function(t,i,n){this.checkIsTarget(t,oi.REPETITION_MANDATORY_WITH_SEPARATOR,i,n)||r.prototype.walkOption.call(this,t,i,n)},e.prototype.walkMany=function(t,i,n){this.checkIsTarget(t,oi.REPETITION,i,n)||r.prototype.walkOption.call(this,t,i,n)},e.prototype.walkManySep=function(t,i,n){this.checkIsTarget(t,oi.REPETITION_WITH_SEPARATOR,i,n)||r.prototype.walkOption.call(this,t,i,n)},e}(HEe.RestWalker),Qj=function(r){Bj(e,r);function e(t,i,n){var s=r.call(this)||this;return s.targetOccurrence=t,s.targetProdType=i,s.targetRef=n,s.result=[],s}return e.prototype.checkIsTarget=function(t,i){t.idx===this.targetOccurrence&&this.targetProdType===i&&(this.targetRef===void 0||t===this.targetRef)&&(this.result=t.definition)},e.prototype.visitOption=function(t){this.checkIsTarget(t,oi.OPTION)},e.prototype.visitRepetition=function(t){this.checkIsTarget(t,oi.REPETITION)},e.prototype.visitRepetitionMandatory=function(t){this.checkIsTarget(t,oi.REPETITION_MANDATORY)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.checkIsTarget(t,oi.REPETITION_MANDATORY_WITH_SEPARATOR)},e.prototype.visitRepetitionWithSeparator=function(t){this.checkIsTarget(t,oi.REPETITION_WITH_SEPARATOR)},e.prototype.visitAlternation=function(t){this.checkIsTarget(t,oi.ALTERNATION)},e}(GEe.GAstVisitor);function wj(r){for(var e=new Array(r),t=0;t<r;t++)e[t]=[];return e}function Fv(r){for(var e=[\"\"],t=0;t<r.length;t++){for(var i=r[t],n=[],s=0;s<e.length;s++){var o=e[s];n.push(o+\"_\"+i.tokenTypeIdx);for(var a=0;a<i.categoryMatches.length;a++){var l=\"_\"+i.categoryMatches[a];n.push(o+l)}}e=n}return e}function VEe(r,e,t){for(var i=0;i<r.length;i++)if(i!==t)for(var n=r[i],s=0;s<e.length;s++){var o=e[s];if(n[o]===!0)return!1}return!0}function Nv(r,e){for(var t=(0,sr.map)(r,function(u){return(0,yj.possiblePathsFrom)([u],1)}),i=wj(t.length),n=(0,sr.map)(t,function(u){var g={};return(0,sr.forEach)(u,function(f){var h=Fv(f.partialPath);(0,sr.forEach)(h,function(p){g[p]=!0})}),g}),s=t,o=1;o<=e;o++){var a=s;s=wj(a.length);for(var l=function(u){for(var g=a[u],f=0;f<g.length;f++){var h=g[f].partialPath,p=g[f].suffixDef,C=Fv(h),y=VEe(n,C,u);if(y||(0,sr.isEmpty)(p)||h.length===e){var B=i[u];if(vj(B,h)===!1){B.push(h);for(var v=0;v<C.length;v++){var D=C[v];n[u][D]=!0}}}else{var L=(0,yj.possiblePathsFrom)(p,o+1,h);s[u]=s[u].concat(L),(0,sr.forEach)(L,function(H){var j=Fv(H.partialPath);(0,sr.forEach)(j,function($){n[u][$]=!0})})}}},c=0;c<a.length;c++)l(c)}return i}_t.lookAheadSequenceFromAlternatives=Nv;function bj(r,e,t,i){var n=new Qj(r,oi.ALTERNATION,i);return e.accept(n),Nv(n.result,t)}_t.getLookaheadPathsForOr=bj;function Sj(r,e,t,i){var n=new Qj(r,t);e.accept(n);var s=n.result,o=new zEe(e,r,t),a=o.startWalking(),l=new xA.Alternative({definition:s}),c=new xA.Alternative({definition:a});return Nv([l,c],i)}_t.getLookaheadPathsForOptionalProd=Sj;function vj(r,e){e:for(var t=0;t<r.length;t++){var i=r[t];if(i.length===e.length){for(var n=0;n<i.length;n++){var s=e[n],o=i[n],a=s===o||o.categoryMatchesMap[s.tokenTypeIdx]!==void 0;if(a===!1)continue e}return!0}}return!1}_t.containsPath=vj;function XEe(r,e){return r.length<e.length&&(0,sr.every)(r,function(t,i){var n=e[i];return t===n||n.categoryMatchesMap[t.tokenTypeIdx]})}_t.isStrictPrefixOfPath=XEe;function Lv(r){return(0,sr.every)(r,function(e){return(0,sr.every)(e,function(t){return(0,sr.every)(t,function(i){return(0,sr.isEmpty)(i.categoryMatches)})})})}_t.areTokenCategoriesNotUsed=Lv});var Hv=w(zt=>{\"use strict\";var Tv=zt&&zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(zt,\"__esModule\",{value:!0});zt.checkPrefixAlternativesAmbiguities=zt.validateSomeNonEmptyLookaheadPath=zt.validateTooManyAlts=zt.RepetionCollector=zt.validateAmbiguousAlternationAlternatives=zt.validateEmptyOrAlternative=zt.getFirstNoneTerminal=zt.validateNoLeftRecursion=zt.validateRuleIsOverridden=zt.validateRuleDoesNotAlreadyExist=zt.OccurrenceValidationCollector=zt.identifyProductionForDuplicates=zt.validateGrammar=void 0;var er=Gt(),br=Gt(),Do=Hn(),Ov=dd(),qg=Id(),_Ee=Ed(),_s=dn(),Mv=Yg();function ZEe(r,e,t,i,n){var s=er.map(r,function(h){return $Ee(h,i)}),o=er.map(r,function(h){return Kv(h,h,i)}),a=[],l=[],c=[];(0,br.every)(o,br.isEmpty)&&(a=(0,br.map)(r,function(h){return Rj(h,i)}),l=(0,br.map)(r,function(h){return Fj(h,e,i)}),c=Tj(r,e,i));var u=rIe(r,t,i),g=(0,br.map)(r,function(h){return Lj(h,i)}),f=(0,br.map)(r,function(h){return kj(h,r,n,i)});return er.flatten(s.concat(c,o,a,l,u,g,f))}zt.validateGrammar=ZEe;function $Ee(r,e){var t=new Dj;r.accept(t);var i=t.allProductions,n=er.groupBy(i,xj),s=er.pick(n,function(a){return a.length>1}),o=er.map(er.values(s),function(a){var l=er.first(a),c=e.buildDuplicateFoundError(r,a),u=(0,Ov.getProductionDslName)(l),g={message:c,type:Do.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:u,occurrence:l.idx},f=Pj(l);return f&&(g.parameter=f),g});return o}function xj(r){return(0,Ov.getProductionDslName)(r)+\"_#_\"+r.idx+\"_#_\"+Pj(r)}zt.identifyProductionForDuplicates=xj;function Pj(r){return r instanceof _s.Terminal?r.terminalType.name:r instanceof _s.NonTerminal?r.nonTerminalName:\"\"}var Dj=function(r){Tv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitNonTerminal=function(t){this.allProductions.push(t)},e.prototype.visitOption=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e.prototype.visitAlternation=function(t){this.allProductions.push(t)},e.prototype.visitTerminal=function(t){this.allProductions.push(t)},e}(Mv.GAstVisitor);zt.OccurrenceValidationCollector=Dj;function kj(r,e,t,i){var n=[],s=(0,br.reduce)(e,function(a,l){return l.name===r.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});n.push({message:o,type:Do.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:r.name})}return n}zt.validateRuleDoesNotAlreadyExist=kj;function eIe(r,e,t){var i=[],n;return er.contains(e,r)||(n=\"Invalid rule override, rule: ->\"+r+\"<- cannot be overridden in the grammar: ->\"+t+\"<-as it is not defined in any of the super grammars \",i.push({message:n,type:Do.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:r})),i}zt.validateRuleIsOverridden=eIe;function Kv(r,e,t,i){i===void 0&&(i=[]);var n=[],s=yd(e.definition);if(er.isEmpty(s))return[];var o=r.name,a=er.contains(s,r);a&&n.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:i}),type:Do.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=er.difference(s,i.concat([r])),c=er.map(l,function(u){var g=er.cloneArr(i);return g.push(u),Kv(r,u,t,g)});return n.concat(er.flatten(c))}zt.validateNoLeftRecursion=Kv;function yd(r){var e=[];if(er.isEmpty(r))return e;var t=er.first(r);if(t instanceof _s.NonTerminal)e.push(t.referencedRule);else if(t instanceof _s.Alternative||t instanceof _s.Option||t instanceof _s.RepetitionMandatory||t instanceof _s.RepetitionMandatoryWithSeparator||t instanceof _s.RepetitionWithSeparator||t instanceof _s.Repetition)e=e.concat(yd(t.definition));else if(t instanceof _s.Alternation)e=er.flatten(er.map(t.definition,function(o){return yd(o.definition)}));else if(!(t instanceof _s.Terminal))throw Error(\"non exhaustive match\");var i=(0,Ov.isOptionalProd)(t),n=r.length>1;if(i&&n){var s=er.drop(r);return e.concat(yd(s))}else return e}zt.getFirstNoneTerminal=yd;var Uv=function(r){Tv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.alternations=[],t}return e.prototype.visitAlternation=function(t){this.alternations.push(t)},e}(Mv.GAstVisitor);function Rj(r,e){var t=new Uv;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){var a=er.dropRight(o.definition),l=er.map(a,function(c,u){var g=(0,_Ee.nextPossibleTokensAfter)([c],[],null,1);return er.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:o,emptyChoiceIdx:u}),type:Do.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(er.compact(l))},[]);return n}zt.validateEmptyOrAlternative=Rj;function Fj(r,e,t){var i=new Uv;r.accept(i);var n=i.alternations;n=(0,br.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=er.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,qg.getLookaheadPathsForOr)(l,r,c,a),g=tIe(u,a,r,t),f=Oj(u,a,r,t);return o.concat(g,f)},[]);return s}zt.validateAmbiguousAlternationAlternatives=Fj;var Nj=function(r){Tv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e}(Mv.GAstVisitor);zt.RepetionCollector=Nj;function Lj(r,e){var t=new Uv;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:o}),type:Do.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:r.name,occurrence:o.idx}),s},[]);return n}zt.validateTooManyAlts=Lj;function Tj(r,e,t){var i=[];return(0,br.forEach)(r,function(n){var s=new Nj;n.accept(s);var o=s.allProductions;(0,br.forEach)(o,function(a){var l=(0,qg.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,qg.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,br.isEmpty)((0,br.flatten)(f))){var h=t.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:Do.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}zt.validateSomeNonEmptyLookaheadPath=Tj;function tIe(r,e,t,i){var n=[],s=(0,br.reduce)(r,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,br.forEach)(l,function(u){var g=[c];(0,br.forEach)(r,function(f,h){c!==h&&(0,qg.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,qg.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=er.map(s,function(a){var l=(0,br.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:Do.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function Oj(r,e,t,i){var n=[],s=(0,br.reduce)(r,function(o,a,l){var c=(0,br.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,br.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,br.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx<l&&(0,qg.isStrictPrefixOfPath)(f.path,c)}),g=(0,br.map)(u,function(f){var h=[f.idx+1,l+1],p=e.idx===0?\"\":e.idx,C=i.buildAlternationPrefixAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:h,prefixPath:f.path});return{message:C,type:Do.ParserDefinitionErrorType.AMBIGUOUS_PREFIX_ALTS,ruleName:t.name,occurrence:p,alternatives:h}});n=n.concat(g)}}),n}zt.checkPrefixAlternativesAmbiguities=Oj;function rIe(r,e,t){var i=[],n=(0,br.map)(e,function(s){return s.name});return(0,br.forEach)(r,function(s){var o=s.name;if((0,br.contains)(n,o)){var a=t.buildNamespaceConflictError(s);i.push({message:a,type:Do.ParserDefinitionErrorType.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:o})}}),i}});var Kj=w(Jg=>{\"use strict\";Object.defineProperty(Jg,\"__esModule\",{value:!0});Jg.validateGrammar=Jg.resolveGrammar=void 0;var Gv=Gt(),iIe=Cj(),nIe=Hv(),Mj=Cd();function sIe(r){r=(0,Gv.defaults)(r,{errMsgProvider:Mj.defaultGrammarResolverErrorProvider});var e={};return(0,Gv.forEach)(r.rules,function(t){e[t.name]=t}),(0,iIe.resolveGrammar)(e,r.errMsgProvider)}Jg.resolveGrammar=sIe;function oIe(r){return r=(0,Gv.defaults)(r,{errMsgProvider:Mj.defaultGrammarValidatorErrorProvider}),(0,nIe.validateGrammar)(r.rules,r.maxLookahead,r.tokenTypes,r.errMsgProvider,r.grammarName)}Jg.validateGrammar=oIe});var Wg=w(mn=>{\"use strict\";var wd=mn&&mn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(mn,\"__esModule\",{value:!0});mn.EarlyExitException=mn.NotAllInputParsedException=mn.NoViableAltException=mn.MismatchedTokenException=mn.isRecognitionException=void 0;var aIe=Gt(),Uj=\"MismatchedTokenException\",Hj=\"NoViableAltException\",Gj=\"EarlyExitException\",Yj=\"NotAllInputParsedException\",jj=[Uj,Hj,Gj,Yj];Object.freeze(jj);function AIe(r){return(0,aIe.contains)(jj,r.name)}mn.isRecognitionException=AIe;var ry=function(r){wd(e,r);function e(t,i){var n=this.constructor,s=r.call(this,t)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),lIe=function(r){wd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Uj,s}return e}(ry);mn.MismatchedTokenException=lIe;var cIe=function(r){wd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Hj,s}return e}(ry);mn.NoViableAltException=cIe;var uIe=function(r){wd(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.name=Yj,n}return e}(ry);mn.NotAllInputParsedException=uIe;var gIe=function(r){wd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Gj,s}return e}(ry);mn.EarlyExitException=gIe});var jv=w(Mi=>{\"use strict\";Object.defineProperty(Mi,\"__esModule\",{value:!0});Mi.attemptInRepetitionRecovery=Mi.Recoverable=Mi.InRuleRecoveryException=Mi.IN_RULE_RECOVERY_EXCEPTION=Mi.EOF_FOLLOW_KEY=void 0;var iy=SA(),ls=Gt(),fIe=Wg(),hIe=kv(),pIe=Hn();Mi.EOF_FOLLOW_KEY={};Mi.IN_RULE_RECOVERY_EXCEPTION=\"InRuleRecoveryException\";function Yv(r){this.name=Mi.IN_RULE_RECOVERY_EXCEPTION,this.message=r}Mi.InRuleRecoveryException=Yv;Yv.prototype=Error.prototype;var dIe=function(){function r(){}return r.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,ls.has)(e,\"recoveryEnabled\")?e.recoveryEnabled:pIe.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=qj)},r.prototype.getTokenToInsert=function(e){var t=(0,iy.createTokenInstance)(e,\"\",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},r.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},r.prototype.tryInRepetitionRecovery=function(e,t,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),C=new fIe.MismatchedTokenException(p,u,s.LA(0));C.resyncedTokens=(0,ls.dropRight)(l),s.SAVE_ERROR(C)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},r.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,i){return!(i===!1||e===void 0||t===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))},r.prototype.getFollowsForInRuleRecovery=function(e,t){var i=this.getCurrentGrammarPath(e,t),n=this.getNextPossibleTokenTypes(i);return n},r.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Yv(\"sad sad panda\")},r.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},r.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,ls.isEmpty)(t))return!1;var n=this.LA(1),s=(0,ls.find)(t,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},r.prototype.canRecoverWithSingleTokenDeletion=function(e){var t=this.tokenMatcher(this.LA(2),e);return t},r.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(t);return(0,ls.contains)(i,e)},r.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),i=2;;){var n=t.tokenType;if((0,ls.contains)(e,n))return n;t=this.LA(i),i++}},r.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Mi.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(i)}},r.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,ls.map)(t,function(n,s){return s===0?Mi.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(t[s-1])}})},r.prototype.flattenFollowSet=function(){var e=this,t=(0,ls.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,ls.flatten)(t)},r.prototype.getFollowSetFromFollowKey=function(e){if(e===Mi.EOF_FOLLOW_KEY)return[iy.EOF];var t=e.ruleName+e.idxInCallingRule+hIe.IN+e.inRule;return this.resyncFollows[t]},r.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,iy.EOF)||t.push(e),t},r.prototype.reSyncTo=function(e){for(var t=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,t);return(0,ls.dropRight)(t)},r.prototype.attemptInRepetitionRecovery=function(e,t,i,n,s,o,a){},r.prototype.getCurrentGrammarPath=function(e,t){var i=this.getHumanReadableRuleStack(),n=(0,ls.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:t};return s},r.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,ls.map)(this.RULE_STACK,function(t){return e.shortRuleNameToFullName(t)})},r}();Mi.Recoverable=dIe;function qj(r,e,t,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=iy.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(r,e,t,f)}Mi.attemptInRepetitionRecovery=qj});var ny=w(qt=>{\"use strict\";Object.defineProperty(qt,\"__esModule\",{value:!0});qt.getKeyForAutomaticLookahead=qt.AT_LEAST_ONE_SEP_IDX=qt.MANY_SEP_IDX=qt.AT_LEAST_ONE_IDX=qt.MANY_IDX=qt.OPTION_IDX=qt.OR_IDX=qt.BITS_FOR_ALT_IDX=qt.BITS_FOR_RULE_IDX=qt.BITS_FOR_OCCURRENCE_IDX=qt.BITS_FOR_METHOD_TYPE=void 0;qt.BITS_FOR_METHOD_TYPE=4;qt.BITS_FOR_OCCURRENCE_IDX=8;qt.BITS_FOR_RULE_IDX=12;qt.BITS_FOR_ALT_IDX=8;qt.OR_IDX=1<<qt.BITS_FOR_OCCURRENCE_IDX;qt.OPTION_IDX=2<<qt.BITS_FOR_OCCURRENCE_IDX;qt.MANY_IDX=3<<qt.BITS_FOR_OCCURRENCE_IDX;qt.AT_LEAST_ONE_IDX=4<<qt.BITS_FOR_OCCURRENCE_IDX;qt.MANY_SEP_IDX=5<<qt.BITS_FOR_OCCURRENCE_IDX;qt.AT_LEAST_ONE_SEP_IDX=6<<qt.BITS_FOR_OCCURRENCE_IDX;function CIe(r,e,t){return t|e|r}qt.getKeyForAutomaticLookahead=CIe;var f$e=32-qt.BITS_FOR_ALT_IDX});var Wj=w(sy=>{\"use strict\";Object.defineProperty(sy,\"__esModule\",{value:!0});sy.LooksAhead=void 0;var Qa=Id(),Zs=Gt(),Jj=Hn(),ba=ny(),oc=dd(),mIe=function(){function r(){}return r.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,Zs.has)(e,\"dynamicTokensEnabled\")?e.dynamicTokensEnabled:Jj.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,Zs.has)(e,\"maxLookahead\")?e.maxLookahead:Jj.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,Zs.isES2015MapSupported)()?new Map:[],(0,Zs.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},r.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,Zs.forEach)(e,function(i){t.TRACE_INIT(i.name+\" Rule Lookahead\",function(){var n=(0,oc.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,Zs.forEach)(s,function(g){var f=g.idx===0?\"\":g.idx;t.TRACE_INIT(\"\"+(0,oc.getProductionDslName)(g)+f,function(){var h=(0,Qa.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||t.maxLookahead,g.hasPredicates,t.dynamicTokensEnabled,t.lookAheadBuilderForAlternatives),p=(0,ba.getKeyForAutomaticLookahead)(t.fullRuleNameToShort[i.name],ba.OR_IDX,g.idx);t.setLaFuncCache(p,h)})}),(0,Zs.forEach)(o,function(g){t.computeLookaheadFunc(i,g.idx,ba.MANY_IDX,Qa.PROD_TYPE.REPETITION,g.maxLookahead,(0,oc.getProductionDslName)(g))}),(0,Zs.forEach)(a,function(g){t.computeLookaheadFunc(i,g.idx,ba.OPTION_IDX,Qa.PROD_TYPE.OPTION,g.maxLookahead,(0,oc.getProductionDslName)(g))}),(0,Zs.forEach)(l,function(g){t.computeLookaheadFunc(i,g.idx,ba.AT_LEAST_ONE_IDX,Qa.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,oc.getProductionDslName)(g))}),(0,Zs.forEach)(c,function(g){t.computeLookaheadFunc(i,g.idx,ba.AT_LEAST_ONE_SEP_IDX,Qa.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,oc.getProductionDslName)(g))}),(0,Zs.forEach)(u,function(g){t.computeLookaheadFunc(i,g.idx,ba.MANY_SEP_IDX,Qa.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,oc.getProductionDslName)(g))})})})},r.prototype.computeLookaheadFunc=function(e,t,i,n,s,o){var a=this;this.TRACE_INIT(\"\"+o+(t===0?\"\":t),function(){var l=(0,Qa.buildLookaheadFuncForOptionalProd)(t,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,ba.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,t);a.setLaFuncCache(c,l)})},r.prototype.lookAheadBuilderForOptional=function(e,t,i){return(0,Qa.buildSingleAlternativeLookaheadFunction)(e,t,i)},r.prototype.lookAheadBuilderForAlternatives=function(e,t,i,n){return(0,Qa.buildAlternativesLookAheadFunc)(e,t,i,n)},r.prototype.getKeyForAutomaticLookahead=function(e,t){var i=this.getLastExplicitRuleShortName();return(0,ba.getKeyForAutomaticLookahead)(i,e,t)},r.prototype.getLaFuncFromCache=function(e){},r.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},r.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},r.prototype.setLaFuncCache=function(e,t){},r.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},r.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},r}();sy.LooksAhead=mIe});var zj=w(ko=>{\"use strict\";Object.defineProperty(ko,\"__esModule\",{value:!0});ko.addNoneTerminalToCst=ko.addTerminalToCst=ko.setNodeLocationFull=ko.setNodeLocationOnlyOffset=void 0;function EIe(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset<e.endOffset&&(r.endOffset=e.endOffset)}ko.setNodeLocationOnlyOffset=EIe;function IIe(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.startColumn=e.startColumn,r.startLine=e.startLine,r.endOffset=e.endOffset,r.endColumn=e.endColumn,r.endLine=e.endLine):r.endOffset<e.endOffset&&(r.endOffset=e.endOffset,r.endColumn=e.endColumn,r.endLine=e.endLine)}ko.setNodeLocationFull=IIe;function yIe(r,e,t){r.children[t]===void 0?r.children[t]=[e]:r.children[t].push(e)}ko.addTerminalToCst=yIe;function wIe(r,e,t){r.children[e]===void 0?r.children[e]=[t]:r.children[e].push(t)}ko.addNoneTerminalToCst=wIe});var qv=w(PA=>{\"use strict\";Object.defineProperty(PA,\"__esModule\",{value:!0});PA.defineNameProp=PA.functionName=PA.classNameFromInstance=void 0;var BIe=Gt();function QIe(r){return Xj(r.constructor)}PA.classNameFromInstance=QIe;var Vj=\"name\";function Xj(r){var e=r.name;return e||\"anonymous\"}PA.functionName=Xj;function bIe(r,e){var t=Object.getOwnPropertyDescriptor(r,Vj);return(0,BIe.isUndefined)(t)||t.configurable?(Object.defineProperty(r,Vj,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}PA.defineNameProp=bIe});var tq=w(bi=>{\"use strict\";Object.defineProperty(bi,\"__esModule\",{value:!0});bi.validateRedundantMethods=bi.validateMissingCstMethods=bi.validateVisitor=bi.CstVisitorDefinitionError=bi.createBaseVisitorConstructorWithDefaults=bi.createBaseSemanticVisitorConstructor=bi.defaultVisit=void 0;var cs=Gt(),Bd=qv();function _j(r,e){for(var t=(0,cs.keys)(r),i=t.length,n=0;n<i;n++)for(var s=t[n],o=r[s],a=o.length,l=0;l<a;l++){var c=o[l];c.tokenTypeIdx===void 0&&this[c.name](c.children,e)}}bi.defaultVisit=_j;function SIe(r,e){var t=function(){};(0,Bd.defineNameProp)(t,r+\"BaseSemantics\");var i={visit:function(n,s){if((0,cs.isArray)(n)&&(n=n[0]),!(0,cs.isUndefined)(n))return this[n.name](n.children,s)},validateVisitor:function(){var n=Zj(this,e);if(!(0,cs.isEmpty)(n)){var s=(0,cs.map)(n,function(o){return o.msg});throw Error(\"Errors Detected in CST Visitor <\"+(0,Bd.functionName)(this.constructor)+`>:\n\t`+(\"\"+s.join(`\n\n`).replace(/\\n/g,`\n\t`)))}}};return t.prototype=i,t.prototype.constructor=t,t._RULE_NAMES=e,t}bi.createBaseSemanticVisitorConstructor=SIe;function vIe(r,e,t){var i=function(){};(0,Bd.defineNameProp)(i,r+\"BaseSemanticsWithDefaults\");var n=Object.create(t.prototype);return(0,cs.forEach)(e,function(s){n[s]=_j}),i.prototype=n,i.prototype.constructor=i,i}bi.createBaseVisitorConstructorWithDefaults=vIe;var Jv;(function(r){r[r.REDUNDANT_METHOD=0]=\"REDUNDANT_METHOD\",r[r.MISSING_METHOD=1]=\"MISSING_METHOD\"})(Jv=bi.CstVisitorDefinitionError||(bi.CstVisitorDefinitionError={}));function Zj(r,e){var t=$j(r,e),i=eq(r,e);return t.concat(i)}bi.validateVisitor=Zj;function $j(r,e){var t=(0,cs.map)(e,function(i){if(!(0,cs.isFunction)(r[i]))return{msg:\"Missing visitor method: <\"+i+\"> on \"+(0,Bd.functionName)(r.constructor)+\" CST Visitor.\",type:Jv.MISSING_METHOD,methodName:i}});return(0,cs.compact)(t)}bi.validateMissingCstMethods=$j;var xIe=[\"constructor\",\"visit\",\"validateVisitor\"];function eq(r,e){var t=[];for(var i in r)(0,cs.isFunction)(r[i])&&!(0,cs.contains)(xIe,i)&&!(0,cs.contains)(e,i)&&t.push({msg:\"Redundant visitor method: <\"+i+\"> on \"+(0,Bd.functionName)(r.constructor)+` CST Visitor\nThere is no Grammar Rule corresponding to this method's name.\n`,type:Jv.REDUNDANT_METHOD,methodName:i});return t}bi.validateRedundantMethods=eq});var iq=w(oy=>{\"use strict\";Object.defineProperty(oy,\"__esModule\",{value:!0});oy.TreeBuilder=void 0;var zg=zj(),Zr=Gt(),rq=tq(),PIe=Hn(),DIe=function(){function r(){}return r.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,Zr.has)(e,\"nodeLocationTracking\")?e.nodeLocationTracking:PIe.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Zr.NOOP,this.cstFinallyStateUpdate=Zr.NOOP,this.cstPostTerminal=Zr.NOOP,this.cstPostNonTerminal=Zr.NOOP,this.cstPostRule=Zr.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=zg.setNodeLocationFull,this.setNodeLocationFromNode=zg.setNodeLocationFull,this.cstPostRule=Zr.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Zr.NOOP,this.setNodeLocationFromNode=Zr.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=zg.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=zg.setNodeLocationOnlyOffset,this.cstPostRule=Zr.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Zr.NOOP,this.setNodeLocationFromNode=Zr.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Zr.NOOP,this.setNodeLocationFromNode=Zr.NOOP,this.cstPostRule=Zr.NOOP,this.setInitialNodeLocation=Zr.NOOP;else throw Error('Invalid <nodeLocationTracking> config option: \"'+e.nodeLocationTracking+'\"')},r.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},r.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},r.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.cstInvocationStateUpdate=function(e,t){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},r.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},r.prototype.cstPostRuleFull=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?(i.endOffset=t.endOffset,i.endLine=t.endLine,i.endColumn=t.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},r.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?i.endOffset=t.endOffset:i.startOffset=NaN},r.prototype.cstPostTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,zg.addTerminalToCst)(i,t,e),this.setNodeLocationFromToken(i.location,t)},r.prototype.cstPostNonTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,zg.addNoneTerminalToCst)(i,t,e),this.setNodeLocationFromNode(i.location,e.location)},r.prototype.getBaseCstVisitorConstructor=function(){if((0,Zr.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,rq.createBaseSemanticVisitorConstructor)(this.className,(0,Zr.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},r.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,Zr.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,rq.createBaseVisitorConstructorWithDefaults)(this.className,(0,Zr.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},r.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},r.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},r.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},r}();oy.TreeBuilder=DIe});var sq=w(ay=>{\"use strict\";Object.defineProperty(ay,\"__esModule\",{value:!0});ay.LexerAdapter=void 0;var nq=Hn(),kIe=function(){function r(){}return r.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(r.prototype,\"input\",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error(\"Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.\");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),r.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):nq.END_OF_FILE},r.prototype.LA=function(e){var t=this.currIdx+e;return t<0||this.tokVectorLength<=t?nq.END_OF_FILE:this.tokVector[t]},r.prototype.consumeToken=function(){this.currIdx++},r.prototype.exportLexerState=function(){return this.currIdx},r.prototype.importLexerState=function(e){this.currIdx=e},r.prototype.resetLexerState=function(){this.currIdx=-1},r.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},r.prototype.getLexerPosition=function(){return this.exportLexerState()},r}();ay.LexerAdapter=kIe});var aq=w(Ay=>{\"use strict\";Object.defineProperty(Ay,\"__esModule\",{value:!0});Ay.RecognizerApi=void 0;var oq=Gt(),RIe=Wg(),Wv=Hn(),FIe=Cd(),NIe=Hv(),LIe=dn(),TIe=function(){function r(){}return r.prototype.ACTION=function(e){return e.call(this)},r.prototype.consume=function(e,t,i){return this.consumeInternal(t,e,i)},r.prototype.subrule=function(e,t,i){return this.subruleInternal(t,e,i)},r.prototype.option=function(e,t){return this.optionInternal(t,e)},r.prototype.or=function(e,t){return this.orInternal(t,e)},r.prototype.many=function(e,t){return this.manyInternal(e,t)},r.prototype.atLeastOne=function(e,t){return this.atLeastOneInternal(e,t)},r.prototype.CONSUME=function(e,t){return this.consumeInternal(e,0,t)},r.prototype.CONSUME1=function(e,t){return this.consumeInternal(e,1,t)},r.prototype.CONSUME2=function(e,t){return this.consumeInternal(e,2,t)},r.prototype.CONSUME3=function(e,t){return this.consumeInternal(e,3,t)},r.prototype.CONSUME4=function(e,t){return this.consumeInternal(e,4,t)},r.prototype.CONSUME5=function(e,t){return this.consumeInternal(e,5,t)},r.prototype.CONSUME6=function(e,t){return this.consumeInternal(e,6,t)},r.prototype.CONSUME7=function(e,t){return this.consumeInternal(e,7,t)},r.prototype.CONSUME8=function(e,t){return this.consumeInternal(e,8,t)},r.prototype.CONSUME9=function(e,t){return this.consumeInternal(e,9,t)},r.prototype.SUBRULE=function(e,t){return this.subruleInternal(e,0,t)},r.prototype.SUBRULE1=function(e,t){return this.subruleInternal(e,1,t)},r.prototype.SUBRULE2=function(e,t){return this.subruleInternal(e,2,t)},r.prototype.SUBRULE3=function(e,t){return this.subruleInternal(e,3,t)},r.prototype.SUBRULE4=function(e,t){return this.subruleInternal(e,4,t)},r.prototype.SUBRULE5=function(e,t){return this.subruleInternal(e,5,t)},r.prototype.SUBRULE6=function(e,t){return this.subruleInternal(e,6,t)},r.prototype.SUBRULE7=function(e,t){return this.subruleInternal(e,7,t)},r.prototype.SUBRULE8=function(e,t){return this.subruleInternal(e,8,t)},r.prototype.SUBRULE9=function(e,t){return this.subruleInternal(e,9,t)},r.prototype.OPTION=function(e){return this.optionInternal(e,0)},r.prototype.OPTION1=function(e){return this.optionInternal(e,1)},r.prototype.OPTION2=function(e){return this.optionInternal(e,2)},r.prototype.OPTION3=function(e){return this.optionInternal(e,3)},r.prototype.OPTION4=function(e){return this.optionInternal(e,4)},r.prototype.OPTION5=function(e){return this.optionInternal(e,5)},r.prototype.OPTION6=function(e){return this.optionInternal(e,6)},r.prototype.OPTION7=function(e){return this.optionInternal(e,7)},r.prototype.OPTION8=function(e){return this.optionInternal(e,8)},r.prototype.OPTION9=function(e){return this.optionInternal(e,9)},r.prototype.OR=function(e){return this.orInternal(e,0)},r.prototype.OR1=function(e){return this.orInternal(e,1)},r.prototype.OR2=function(e){return this.orInternal(e,2)},r.prototype.OR3=function(e){return this.orInternal(e,3)},r.prototype.OR4=function(e){return this.orInternal(e,4)},r.prototype.OR5=function(e){return this.orInternal(e,5)},r.prototype.OR6=function(e){return this.orInternal(e,6)},r.prototype.OR7=function(e){return this.orInternal(e,7)},r.prototype.OR8=function(e){return this.orInternal(e,8)},r.prototype.OR9=function(e){return this.orInternal(e,9)},r.prototype.MANY=function(e){this.manyInternal(0,e)},r.prototype.MANY1=function(e){this.manyInternal(1,e)},r.prototype.MANY2=function(e){this.manyInternal(2,e)},r.prototype.MANY3=function(e){this.manyInternal(3,e)},r.prototype.MANY4=function(e){this.manyInternal(4,e)},r.prototype.MANY5=function(e){this.manyInternal(5,e)},r.prototype.MANY6=function(e){this.manyInternal(6,e)},r.prototype.MANY7=function(e){this.manyInternal(7,e)},r.prototype.MANY8=function(e){this.manyInternal(8,e)},r.prototype.MANY9=function(e){this.manyInternal(9,e)},r.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},r.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},r.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},r.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},r.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},r.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},r.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},r.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},r.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},r.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},r.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},r.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},r.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},r.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},r.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},r.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},r.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},r.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},r.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},r.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},r.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},r.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},r.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},r.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},r.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},r.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},r.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},r.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},r.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},r.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},r.prototype.RULE=function(e,t,i){if(i===void 0&&(i=Wv.DEFAULT_RULE_CONFIG),(0,oq.contains)(this.definedRulesNames,e)){var n=FIe.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:Wv.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,t,i);return this[e]=o,o},r.prototype.OVERRIDE_RULE=function(e,t,i){i===void 0&&(i=Wv.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,NIe.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,t,i);return this[e]=s,s},r.prototype.BACKTRACK=function(e,t){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if((0,RIe.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},r.prototype.getGAstProductions=function(){return this.gastProductionsCache},r.prototype.getSerializedGastProductions=function(){return(0,LIe.serializeGrammar)((0,oq.values)(this.gastProductionsCache))},r}();Ay.RecognizerApi=TIe});var uq=w(cy=>{\"use strict\";Object.defineProperty(cy,\"__esModule\",{value:!0});cy.RecognizerEngine=void 0;var Pr=Gt(),Gn=ny(),ly=Wg(),Aq=Id(),Vg=Ed(),lq=Hn(),OIe=jv(),cq=SA(),Qd=Gg(),MIe=qv(),KIe=function(){function r(){}return r.prototype.initRecognizerEngine=function(e,t){if(this.className=(0,MIe.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Qd.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Pr.has)(t,\"serializedGrammar\"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n\tFor Further details.`);if((0,Pr.isArray)(e)){if((0,Pr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty.\n\tNote that the first argument for the parser constructor\n\tis no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset==\"number\")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n\tFor Further details.`)}if((0,Pr.isArray)(e))this.tokensMap=(0,Pr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Pr.has)(e,\"modes\")&&(0,Pr.every)((0,Pr.flatten)((0,Pr.values)(e.modes)),Qd.isTokenType)){var i=(0,Pr.flatten)((0,Pr.values)(e.modes)),n=(0,Pr.uniq)(i);this.tokensMap=(0,Pr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Pr.isObject)(e))this.tokensMap=(0,Pr.cloneObj)(e);else throw new Error(\"<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition\");this.tokensMap.EOF=cq.EOF;var s=(0,Pr.every)((0,Pr.values)(e),function(o){return(0,Pr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Qd.tokenStructuredMatcherNoCategories:Qd.tokenStructuredMatcher,(0,Qd.augmentTokenTypes)((0,Pr.values)(this.tokensMap))},r.prototype.defineRule=function(e,t,i){if(this.selfAnalysisDone)throw Error(\"Grammar rule <\"+e+`> may not be defined after the 'performSelfAnalysis' method has been called'\nMake sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Pr.has)(i,\"resyncEnabled\")?i.resyncEnabled:lq.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Pr.has)(i,\"recoveryValueFunc\")?i.recoveryValueFunc:lq.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<<Gn.BITS_FOR_METHOD_TYPE+Gn.BITS_FOR_OCCURRENCE_IDX;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;function a(u){try{if(this.outputCst===!0){t.apply(this,u);var g=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(g),g}else return t.apply(this,u)}catch(f){return this.invokeRuleCatch(f,n,s)}finally{this.ruleFinallyStateUpdate()}}var l=function(u,g){return u===void 0&&(u=0),this.ruleInvocationStateUpdate(o,e,u),a.call(this,g)},c=\"ruleName\";return l[c]=e,l.originalGrammarAction=t,l},r.prototype.invokeRuleCatch=function(e,t,i){var n=this.RULE_STACK.length===1,s=t&&!this.isBackTracking()&&this.recoveryEnabled;if((0,ly.isRecognitionException)(e)){var o=e;if(s){var a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))if(o.resyncedTokens=this.reSyncTo(a),this.outputCst){var l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return i();else{if(this.outputCst){var l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,o.partialCstResult=l}throw o}}else{if(n)return this.moveToTerminatedState(),i();throw o}}else throw e},r.prototype.optionInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Gn.OPTION_IDX,t);return this.optionInternalLogic(e,t,i)},r.prototype.optionInternalLogic=function(e,t,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(e.DEF!==void 0){if(o=e.DEF,a=e.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=e;if(s.call(this)===!0)return o.call(this)},r.prototype.atLeastOneInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Gn.AT_LEAST_ONE_IDX,e);return this.atLeastOneInternalLogic(e,t,i)},r.prototype.atLeastOneInternalLogic=function(e,t,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(t.DEF!==void 0){if(o=t.DEF,a=t.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=t;if(s.call(this)===!0)for(var c=this.doSingleRepetition(o);s.call(this)===!0&&c===!0;)c=this.doSingleRepetition(o);else throw this.raiseEarlyExitException(e,Aq.PROD_TYPE.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],s,Gn.AT_LEAST_ONE_IDX,e,Vg.NextTerminalAfterAtLeastOneWalker)},r.prototype.atLeastOneSepFirstInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Gn.AT_LEAST_ONE_SEP_IDX,e);this.atLeastOneSepFirstInternalLogic(e,t,i)},r.prototype.atLeastOneSepFirstInternalLogic=function(e,t,i){var n=this,s=t.DEF,o=t.SEP,a=this.getLaFuncFromCache(i);if(a.call(this)===!0){s.call(this);for(var l=function(){return n.tokenMatcher(n.LA(1),o)};this.tokenMatcher(this.LA(1),o)===!0;)this.CONSUME(o),s.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,l,s,Vg.NextTerminalAfterAtLeastOneSepWalker],l,Gn.AT_LEAST_ONE_SEP_IDX,e,Vg.NextTerminalAfterAtLeastOneSepWalker)}else throw this.raiseEarlyExitException(e,Aq.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)},r.prototype.manyInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Gn.MANY_IDX,e);return this.manyInternalLogic(e,t,i)},r.prototype.manyInternalLogic=function(e,t,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(t.DEF!==void 0){if(o=t.DEF,a=t.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=t;for(var c=!0;s.call(this)===!0&&c===!0;)c=this.doSingleRepetition(o);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],s,Gn.MANY_IDX,e,Vg.NextTerminalAfterManyWalker,c)},r.prototype.manySepFirstInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Gn.MANY_SEP_IDX,e);this.manySepFirstInternalLogic(e,t,i)},r.prototype.manySepFirstInternalLogic=function(e,t,i){var n=this,s=t.DEF,o=t.SEP,a=this.getLaFuncFromCache(i);if(a.call(this)===!0){s.call(this);for(var l=function(){return n.tokenMatcher(n.LA(1),o)};this.tokenMatcher(this.LA(1),o)===!0;)this.CONSUME(o),s.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,l,s,Vg.NextTerminalAfterManySepWalker],l,Gn.MANY_SEP_IDX,e,Vg.NextTerminalAfterManySepWalker)}},r.prototype.repetitionSepSecondInternal=function(e,t,i,n,s){for(;i();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,i,n,s],i,Gn.AT_LEAST_ONE_SEP_IDX,e,s)},r.prototype.doSingleRepetition=function(e){var t=this.getLexerPosition();e.call(this);var i=this.getLexerPosition();return i>t},r.prototype.orInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Gn.OR_IDX,t),n=(0,Pr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)},r.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new ly.NotAllInputParsedException(t,e))}},r.prototype.subruleInternal=function(e,t,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,t,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},r.prototype.subruleInternalError=function(e,t,i){throw(0,ly.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:i),delete e.partialCstResult),e},r.prototype.consumeInternal=function(e,t,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,t,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},r.prototype.consumeInternalError=function(e,t,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new ly.MismatchedTokenException(n,t,s))},r.prototype.consumeInternalRecovery=function(e,t,i){if(this.recoveryEnabled&&i.name===\"MismatchedTokenException\"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===OIe.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},r.prototype.saveRecogState=function(){var e=this.errors,t=(0,Pr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}},r.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},r.prototype.ruleInvocationStateUpdate=function(e,t,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t,e)},r.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},r.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},r.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},r.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),cq.EOF)},r.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},r}();cy.RecognizerEngine=KIe});var fq=w(uy=>{\"use strict\";Object.defineProperty(uy,\"__esModule\",{value:!0});uy.ErrorHandler=void 0;var zv=Wg(),Vv=Gt(),gq=Id(),UIe=Hn(),HIe=function(){function r(){}return r.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,Vv.has)(e,\"errorMessageProvider\")?e.errorMessageProvider:UIe.DEFAULT_PARSER_CONFIG.errorMessageProvider},r.prototype.SAVE_ERROR=function(e){if((0,zv.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,Vv.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error(\"Trying to save an Error which is not a RecognitionException\")},Object.defineProperty(r.prototype,\"errors\",{get:function(){return(0,Vv.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),r.prototype.raiseEarlyExitException=function(e,t,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,gq.getLookaheadPathsForOptionalProd)(e,s,t,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new zv.EarlyExitException(u,this.LA(1),this.LA(0)))},r.prototype.raiseNoAltException=function(e,t){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,gq.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new zv.NoViableAltException(c,this.LA(1),l))},r}();uy.ErrorHandler=HIe});var dq=w(gy=>{\"use strict\";Object.defineProperty(gy,\"__esModule\",{value:!0});gy.ContentAssist=void 0;var hq=Ed(),pq=Gt(),GIe=function(){function r(){}return r.prototype.initContentAssist=function(){},r.prototype.computeContentAssist=function(e,t){var i=this.gastProductionsCache[e];if((0,pq.isUndefined)(i))throw Error(\"Rule ->\"+e+\"<- does not exist in this grammar.\");return(0,hq.nextPossibleTokensAfter)([i],t,this.tokenMatcher,this.maxLookahead)},r.prototype.getNextPossibleTokenTypes=function(e){var t=(0,pq.first)(e.ruleStack),i=this.getGAstProductions(),n=i[t],s=new hq.NextAfterTokenWalker(n,e).startWalking();return s},r}();gy.ContentAssist=GIe});var Qq=w(py=>{\"use strict\";Object.defineProperty(py,\"__esModule\",{value:!0});py.GastRecorder=void 0;var En=Gt(),Ro=dn(),YIe=gd(),Iq=Gg(),yq=SA(),jIe=Hn(),qIe=ny(),hy={description:\"This Object indicates the Parser is during Recording Phase\"};Object.freeze(hy);var Cq=!0,mq=Math.pow(2,qIe.BITS_FOR_OCCURRENCE_IDX)-1,wq=(0,yq.createToken)({name:\"RECORDING_PHASE_TOKEN\",pattern:YIe.Lexer.NA});(0,Iq.augmentTokenTypes)([wq]);var Bq=(0,yq.createTokenInstance)(wq,`This IToken indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Bq);var JIe={name:`This CSTNode indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},WIe=function(){function r(){}return r.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},r.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT(\"Enable Recording\",function(){for(var t=function(n){var s=n>0?n:\"\";e[\"CONSUME\"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e[\"SUBRULE\"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e[\"OPTION\"+s]=function(o){return this.optionInternalRecord(o,n)},e[\"OR\"+s]=function(o){return this.orInternalRecord(o,n)},e[\"MANY\"+s]=function(o){this.manyInternalRecord(n,o)},e[\"MANY_SEP\"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e[\"AT_LEAST_ONE\"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e[\"AT_LEAST_ONE_SEP\"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)t(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},r.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT(\"Deleting Recording methods\",function(){for(var t=0;t<10;t++){var i=t>0?t:\"\";delete e[\"CONSUME\"+i],delete e[\"SUBRULE\"+i],delete e[\"OPTION\"+i],delete e[\"OR\"+i],delete e[\"MANY\"+i],delete e[\"MANY_SEP\"+i],delete e[\"AT_LEAST_ONE\"+i],delete e[\"AT_LEAST_ONE_SEP\"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},r.prototype.ACTION_RECORD=function(e){},r.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},r.prototype.LA_RECORD=function(e){return jIe.END_OF_FILE},r.prototype.topLevelRuleRecord=function(e,t){try{var i=new Ro.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`\n\t This error was thrown during the \"grammar recording phase\" For more info see:\n\thttps://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}},r.prototype.optionInternalRecord=function(e,t){return bd.call(this,Ro.Option,e,t)},r.prototype.atLeastOneInternalRecord=function(e,t){bd.call(this,Ro.RepetitionMandatory,t,e)},r.prototype.atLeastOneSepFirstInternalRecord=function(e,t){bd.call(this,Ro.RepetitionMandatoryWithSeparator,t,e,Cq)},r.prototype.manyInternalRecord=function(e,t){bd.call(this,Ro.Repetition,t,e)},r.prototype.manySepFirstInternalRecord=function(e,t){bd.call(this,Ro.RepetitionWithSeparator,t,e,Cq)},r.prototype.orInternalRecord=function(e,t){return zIe.call(this,e,t)},r.prototype.subruleInternalRecord=function(e,t,i){if(fy(t),!e||(0,En.has)(e,\"ruleName\")===!1){var n=new Error(\"<SUBRULE\"+Eq(t)+\"> argument is invalid\"+(\" expecting a Parser method reference but got: <\"+JSON.stringify(e)+\">\")+(`\n inside top level rule: <`+this.recordingProdStack[0].name+\">\"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,En.peek)(this.recordingProdStack),o=e.ruleName,a=new Ro.NonTerminal({idx:t,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?JIe:hy},r.prototype.consumeInternalRecord=function(e,t,i){if(fy(t),!(0,Iq.hasShortKeyProperty)(e)){var n=new Error(\"<CONSUME\"+Eq(t)+\"> argument is invalid\"+(\" expecting a TokenType reference but got: <\"+JSON.stringify(e)+\">\")+(`\n inside top level rule: <`+this.recordingProdStack[0].name+\">\"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,En.peek)(this.recordingProdStack),o=new Ro.Terminal({idx:t,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),Bq},r}();py.GastRecorder=WIe;function bd(r,e,t,i){i===void 0&&(i=!1),fy(t);var n=(0,En.peek)(this.recordingProdStack),s=(0,En.isFunction)(e)?e:e.DEF,o=new r({definition:[],idx:t});return i&&(o.separator=e.SEP),(0,En.has)(e,\"MAX_LOOKAHEAD\")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),hy}function zIe(r,e){var t=this;fy(e);var i=(0,En.peek)(this.recordingProdStack),n=(0,En.isArray)(r)===!1,s=n===!1?r:r.DEF,o=new Ro.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});(0,En.has)(r,\"MAX_LOOKAHEAD\")&&(o.maxLookahead=r.MAX_LOOKAHEAD);var a=(0,En.some)(s,function(l){return(0,En.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,En.forEach)(s,function(l){var c=new Ro.Alternative({definition:[]});o.definition.push(c),(0,En.has)(l,\"IGNORE_AMBIGUITIES\")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,En.has)(l,\"GATE\")&&(c.ignoreAmbiguities=!0),t.recordingProdStack.push(c),l.ALT.call(t),t.recordingProdStack.pop()}),hy}function Eq(r){return r===0?\"\":\"\"+r}function fy(r){if(r<0||r>mq){var e=new Error(\"Invalid DSL Method idx value: <\"+r+`>\n\t`+(\"Idx value must be a none negative value smaller than \"+(mq+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var Sq=w(dy=>{\"use strict\";Object.defineProperty(dy,\"__esModule\",{value:!0});dy.PerformanceTracer=void 0;var bq=Gt(),VIe=Hn(),XIe=function(){function r(){}return r.prototype.initPerformanceTracer=function(e){if((0,bq.has)(e,\"traceInitPerf\")){var t=e.traceInitPerf,i=typeof t==\"number\";this.traceInitMaxIdent=i?t:1/0,this.traceInitPerf=i?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=VIe.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(\"\t\");this.traceInitIndent<this.traceInitMaxIdent&&console.log(i+\"--> <\"+e+\">\");var n=(0,bq.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(i+\"<-- <\"+e+\"> time: \"+s+\"ms\"),this.traceInitIndent--,o}else return t()},r}();dy.PerformanceTracer=XIe});var vq=w(Cy=>{\"use strict\";Object.defineProperty(Cy,\"__esModule\",{value:!0});Cy.applyMixins=void 0;function _Ie(r,e){e.forEach(function(t){var i=t.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!==\"constructor\"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(r.prototype,n,s):r.prototype[n]=t.prototype[n]}})})}Cy.applyMixins=_Ie});var Hn=w(dr=>{\"use strict\";var Dq=dr&&dr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(dr,\"__esModule\",{value:!0});dr.EmbeddedActionsParser=dr.CstParser=dr.Parser=dr.EMPTY_ALT=dr.ParserDefinitionErrorType=dr.DEFAULT_RULE_CONFIG=dr.DEFAULT_PARSER_CONFIG=dr.END_OF_FILE=void 0;var Xi=Gt(),ZIe=fj(),xq=SA(),kq=Cd(),Pq=Kj(),$Ie=jv(),eye=Wj(),tye=iq(),rye=sq(),iye=aq(),nye=uq(),sye=fq(),oye=dq(),aye=Qq(),Aye=Sq(),lye=vq();dr.END_OF_FILE=(0,xq.createTokenInstance)(xq.EOF,\"\",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(dr.END_OF_FILE);dr.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:kq.defaultParserErrorProvider,nodeLocationTracking:\"none\",traceInitPerf:!1,skipValidations:!1});dr.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var cye;(function(r){r[r.INVALID_RULE_NAME=0]=\"INVALID_RULE_NAME\",r[r.DUPLICATE_RULE_NAME=1]=\"DUPLICATE_RULE_NAME\",r[r.INVALID_RULE_OVERRIDE=2]=\"INVALID_RULE_OVERRIDE\",r[r.DUPLICATE_PRODUCTIONS=3]=\"DUPLICATE_PRODUCTIONS\",r[r.UNRESOLVED_SUBRULE_REF=4]=\"UNRESOLVED_SUBRULE_REF\",r[r.LEFT_RECURSION=5]=\"LEFT_RECURSION\",r[r.NONE_LAST_EMPTY_ALT=6]=\"NONE_LAST_EMPTY_ALT\",r[r.AMBIGUOUS_ALTS=7]=\"AMBIGUOUS_ALTS\",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]=\"CONFLICT_TOKENS_RULES_NAMESPACE\",r[r.INVALID_TOKEN_NAME=9]=\"INVALID_TOKEN_NAME\",r[r.NO_NON_EMPTY_LOOKAHEAD=10]=\"NO_NON_EMPTY_LOOKAHEAD\",r[r.AMBIGUOUS_PREFIX_ALTS=11]=\"AMBIGUOUS_PREFIX_ALTS\",r[r.TOO_MANY_ALTS=12]=\"TOO_MANY_ALTS\"})(cye=dr.ParserDefinitionErrorType||(dr.ParserDefinitionErrorType={}));function uye(r){return r===void 0&&(r=void 0),function(){return r}}dr.EMPTY_ALT=uye;var my=function(){function r(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(t),i.initLexerAdapter(),i.initLooksAhead(t),i.initRecognizerEngine(e,t),i.initRecoverable(t),i.initTreeBuilder(t),i.initContentAssist(),i.initGastRecorder(t),i.initPerformanceTracer(t),(0,Xi.has)(t,\"ignoredIssues\"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.\n\tPlease use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n\tSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n\tFor further details.`);this.skipValidations=(0,Xi.has)(t,\"skipValidations\")?t.skipValidations:dr.DEFAULT_PARSER_CONFIG.skipValidations}return r.performSelfAnalysis=function(e){throw Error(\"The **static** `performSelfAnalysis` method has been deprecated.\t\\nUse the **instance** method with the same name instead.\")},r.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT(\"performSelfAnalysis\",function(){var t;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT(\"toFastProps\",function(){(0,Xi.toFastProperties)(e)}),e.TRACE_INIT(\"Grammar Recording\",function(){try{e.enableRecording(),(0,Xi.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+\" Rule\",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT(\"Grammar Resolving\",function(){n=(0,Pq.resolveGrammar)({rules:(0,Xi.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT(\"Grammar Validations\",function(){if((0,Xi.isEmpty)(n)&&e.skipValidations===!1){var s=(0,Pq.validateGrammar)({rules:(0,Xi.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,Xi.values)(e.tokensMap),errMsgProvider:kq.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,Xi.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT(\"computeAllProdsFollows\",function(){var s=(0,ZIe.computeAllProdsFollows)((0,Xi.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT(\"ComputeLookaheadFunctions\",function(){e.preComputeLookaheadFunctions((0,Xi.values)(e.gastProductionsCache))})),!r.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,Xi.isEmpty)(e.definitionErrors))throw t=(0,Xi.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected:\n `+t.join(`\n-------------------------------\n`))})},r.DEFER_DEFINITION_ERRORS_HANDLING=!1,r}();dr.Parser=my;(0,lye.applyMixins)(my,[$Ie.Recoverable,eye.LooksAhead,tye.TreeBuilder,rye.LexerAdapter,nye.RecognizerEngine,iye.RecognizerApi,sye.ErrorHandler,oye.ContentAssist,aye.GastRecorder,Aye.PerformanceTracer]);var gye=function(r){Dq(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,Xi.cloneObj)(i);return s.outputCst=!0,n=r.call(this,t,s)||this,n}return e}(my);dr.CstParser=gye;var fye=function(r){Dq(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,Xi.cloneObj)(i);return s.outputCst=!1,n=r.call(this,t,s)||this,n}return e}(my);dr.EmbeddedActionsParser=fye});var Fq=w(Ey=>{\"use strict\";Object.defineProperty(Ey,\"__esModule\",{value:!0});Ey.createSyntaxDiagramsCode=void 0;var Rq=pv();function hye(r,e){var t=e===void 0?{}:e,i=t.resourceBase,n=i===void 0?\"https://unpkg.com/chevrotain@\"+Rq.VERSION+\"/diagrams/\":i,s=t.css,o=s===void 0?\"https://unpkg.com/chevrotain@\"+Rq.VERSION+\"/diagrams/diagrams.css\":s,a=`\n<!-- This is a generated file -->\n<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<style>\n  body {\n    background-color: hsl(30, 20%, 95%)\n  }\n</style>\n\n`,l=`\n<link rel='stylesheet' href='`+o+`'>\n`,c=`\n<script src='`+n+`vendor/railroad-diagrams.js'><\\/script>\n<script src='`+n+`src/diagrams_builder.js'><\\/script>\n<script src='`+n+`src/diagrams_behavior.js'><\\/script>\n<script src='`+n+`src/main.js'><\\/script>\n`,u=`\n<div id=\"diagrams\" align=\"center\"></div>    \n`,g=`\n<script>\n    window.serializedGrammar = `+JSON.stringify(r,null,\"  \")+`;\n<\\/script>\n`,f=`\n<script>\n    var diagramsDiv = document.getElementById(\"diagrams\");\n    main.drawDiagramsFromSerializedGrammar(serializedGrammar, diagramsDiv);\n<\\/script>\n`;return a+l+c+u+g+f}Ey.createSyntaxDiagramsCode=hye});var Tq=w(We=>{\"use strict\";Object.defineProperty(We,\"__esModule\",{value:!0});We.Parser=We.createSyntaxDiagramsCode=We.clearCache=We.GAstVisitor=We.serializeProduction=We.serializeGrammar=We.Terminal=We.Rule=We.RepetitionWithSeparator=We.RepetitionMandatoryWithSeparator=We.RepetitionMandatory=We.Repetition=We.Option=We.NonTerminal=We.Alternative=We.Alternation=We.defaultLexerErrorProvider=We.NoViableAltException=We.NotAllInputParsedException=We.MismatchedTokenException=We.isRecognitionException=We.EarlyExitException=We.defaultParserErrorProvider=We.tokenName=We.tokenMatcher=We.tokenLabel=We.EOF=We.createTokenInstance=We.createToken=We.LexerDefinitionErrorType=We.Lexer=We.EMPTY_ALT=We.ParserDefinitionErrorType=We.EmbeddedActionsParser=We.CstParser=We.VERSION=void 0;var pye=pv();Object.defineProperty(We,\"VERSION\",{enumerable:!0,get:function(){return pye.VERSION}});var Iy=Hn();Object.defineProperty(We,\"CstParser\",{enumerable:!0,get:function(){return Iy.CstParser}});Object.defineProperty(We,\"EmbeddedActionsParser\",{enumerable:!0,get:function(){return Iy.EmbeddedActionsParser}});Object.defineProperty(We,\"ParserDefinitionErrorType\",{enumerable:!0,get:function(){return Iy.ParserDefinitionErrorType}});Object.defineProperty(We,\"EMPTY_ALT\",{enumerable:!0,get:function(){return Iy.EMPTY_ALT}});var Nq=gd();Object.defineProperty(We,\"Lexer\",{enumerable:!0,get:function(){return Nq.Lexer}});Object.defineProperty(We,\"LexerDefinitionErrorType\",{enumerable:!0,get:function(){return Nq.LexerDefinitionErrorType}});var Xg=SA();Object.defineProperty(We,\"createToken\",{enumerable:!0,get:function(){return Xg.createToken}});Object.defineProperty(We,\"createTokenInstance\",{enumerable:!0,get:function(){return Xg.createTokenInstance}});Object.defineProperty(We,\"EOF\",{enumerable:!0,get:function(){return Xg.EOF}});Object.defineProperty(We,\"tokenLabel\",{enumerable:!0,get:function(){return Xg.tokenLabel}});Object.defineProperty(We,\"tokenMatcher\",{enumerable:!0,get:function(){return Xg.tokenMatcher}});Object.defineProperty(We,\"tokenName\",{enumerable:!0,get:function(){return Xg.tokenName}});var dye=Cd();Object.defineProperty(We,\"defaultParserErrorProvider\",{enumerable:!0,get:function(){return dye.defaultParserErrorProvider}});var Sd=Wg();Object.defineProperty(We,\"EarlyExitException\",{enumerable:!0,get:function(){return Sd.EarlyExitException}});Object.defineProperty(We,\"isRecognitionException\",{enumerable:!0,get:function(){return Sd.isRecognitionException}});Object.defineProperty(We,\"MismatchedTokenException\",{enumerable:!0,get:function(){return Sd.MismatchedTokenException}});Object.defineProperty(We,\"NotAllInputParsedException\",{enumerable:!0,get:function(){return Sd.NotAllInputParsedException}});Object.defineProperty(We,\"NoViableAltException\",{enumerable:!0,get:function(){return Sd.NoViableAltException}});var Cye=bv();Object.defineProperty(We,\"defaultLexerErrorProvider\",{enumerable:!0,get:function(){return Cye.defaultLexerErrorProvider}});var Fo=dn();Object.defineProperty(We,\"Alternation\",{enumerable:!0,get:function(){return Fo.Alternation}});Object.defineProperty(We,\"Alternative\",{enumerable:!0,get:function(){return Fo.Alternative}});Object.defineProperty(We,\"NonTerminal\",{enumerable:!0,get:function(){return Fo.NonTerminal}});Object.defineProperty(We,\"Option\",{enumerable:!0,get:function(){return Fo.Option}});Object.defineProperty(We,\"Repetition\",{enumerable:!0,get:function(){return Fo.Repetition}});Object.defineProperty(We,\"RepetitionMandatory\",{enumerable:!0,get:function(){return Fo.RepetitionMandatory}});Object.defineProperty(We,\"RepetitionMandatoryWithSeparator\",{enumerable:!0,get:function(){return Fo.RepetitionMandatoryWithSeparator}});Object.defineProperty(We,\"RepetitionWithSeparator\",{enumerable:!0,get:function(){return Fo.RepetitionWithSeparator}});Object.defineProperty(We,\"Rule\",{enumerable:!0,get:function(){return Fo.Rule}});Object.defineProperty(We,\"Terminal\",{enumerable:!0,get:function(){return Fo.Terminal}});var Lq=dn();Object.defineProperty(We,\"serializeGrammar\",{enumerable:!0,get:function(){return Lq.serializeGrammar}});Object.defineProperty(We,\"serializeProduction\",{enumerable:!0,get:function(){return Lq.serializeProduction}});var mye=Yg();Object.defineProperty(We,\"GAstVisitor\",{enumerable:!0,get:function(){return mye.GAstVisitor}});function Eye(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API.\n\t It performs no action other than printing this message.\n\t Please avoid using it as it will be completely removed in the future`)}We.clearCache=Eye;var Iye=Fq();Object.defineProperty(We,\"createSyntaxDiagramsCode\",{enumerable:!0,get:function(){return Iye.createSyntaxDiagramsCode}});var yye=function(){function r(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead.\t\nSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return r}();We.Parser=yye});var Kq=w((k$e,Mq)=>{var yy=Tq(),Sa=yy.createToken,Oq=yy.tokenMatcher,Xv=yy.Lexer,wye=yy.EmbeddedActionsParser;Mq.exports=r=>{let e=Sa({name:\"LogicalOperator\",pattern:Xv.NA}),t=Sa({name:\"Or\",pattern:/\\|/,categories:e}),i=Sa({name:\"Xor\",pattern:/\\^/,categories:e}),n=Sa({name:\"And\",pattern:/&/,categories:e}),s=Sa({name:\"Not\",pattern:/!/}),o=Sa({name:\"LParen\",pattern:/\\(/}),a=Sa({name:\"RParen\",pattern:/\\)/}),l=Sa({name:\"Query\",pattern:r}),u=[Sa({name:\"WhiteSpace\",pattern:/\\s+/,group:Xv.SKIPPED}),t,i,n,o,a,s,e,l],g=new Xv(u);class f extends wye{constructor(p){super(u),this.RULE(\"expression\",()=>this.SUBRULE(this.logicalExpression)),this.RULE(\"logicalExpression\",()=>{let y=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let B=y,v=this.CONSUME(e),D=this.SUBRULE2(this.atomicExpression);Oq(v,t)?y=L=>B(L)||D(L):Oq(v,i)?y=L=>!!(B(L)^D(L)):y=L=>B(L)&&D(L)}),y}),this.RULE(\"atomicExpression\",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:C}=this.CONSUME(l);return y=>y(C)}},{ALT:()=>{this.CONSUME(s);let C=this.SUBRULE(this.atomicExpression);return y=>!C(y)}}])),this.RULE(\"parenthesisExpression\",()=>{let C;return this.CONSUME(o),C=this.SUBRULE(this.expression),this.CONSUME(a),C}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var Uq=w(wy=>{var Bye=Kq();wy.makeParser=(r=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:t}=Bye(r),i=new t;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};wy.parse=wy.makeParser()});var Gq=w((F$e,Hq)=>{\"use strict\";Hq.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]}});var _v=w((N$e,jq)=>{var vd=Gq(),Yq={};for(let r of Object.keys(vd))Yq[vd[r]]=r;var st={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\"]}};jq.exports=st;for(let r of Object.keys(st)){if(!(\"channels\"in st[r]))throw new Error(\"missing channels property: \"+r);if(!(\"labels\"in st[r]))throw new Error(\"missing channel labels property: \"+r);if(st[r].labels.length!==st[r].channels)throw new Error(\"channel and label counts mismatch: \"+r);let{channels:e,labels:t}=st[r];delete st[r].channels,delete st[r].labels,Object.defineProperty(st[r],\"channels\",{value:e}),Object.defineProperty(st[r],\"labels\",{value:t})}st.rgb.hsl=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(e,t,i),s=Math.max(e,t,i),o=s-n,a,l;s===n?a=0:e===s?a=(t-i)/o:t===s?a=2+(i-e)/o:i===s&&(a=4+(e-t)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};st.rgb.hsv=function(r){let e,t,i,n,s,o=r[0]/255,a=r[1]/255,l=r[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),t=g(a),i=g(l),o===c?n=i-t:a===c?n=1/3+e-i:l===c&&(n=2/3+t-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};st.rgb.hwb=function(r){let e=r[0],t=r[1],i=r[2],n=st.rgb.hsl(r)[0],s=1/255*Math.min(e,Math.min(t,i));return i=1-1/255*Math.max(e,Math.max(t,i)),[n,s*100,i*100]};st.rgb.cmyk=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(1-e,1-t,1-i),s=(1-e-n)/(1-n)||0,o=(1-t-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function Qye(r,e){return(r[0]-e[0])**2+(r[1]-e[1])**2+(r[2]-e[2])**2}st.rgb.keyword=function(r){let e=Yq[r];if(e)return e;let t=1/0,i;for(let n of Object.keys(vd)){let s=vd[n],o=Qye(r,s);o<t&&(t=o,i=n)}return i};st.keyword.rgb=function(r){return vd[r]};st.rgb.xyz=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+t*.3576+i*.1805,s=e*.2126+t*.7152+i*.0722,o=e*.0193+t*.1192+i*.9505;return[n*100,s*100,o*100]};st.rgb.lab=function(r){let e=st.rgb.xyz(r),t=e[0],i=e[1],n=e[2];t/=95.047,i/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(t-i),a=200*(i-n);return[s,o,a]};st.hsl.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n,s,o;if(t===0)return o=i*255,[o,o,o];i<.5?n=i*(1+t):n=i+t-i*t;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};st.hsl.hsv=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=t,s=Math.max(i,.01);i*=2,t*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+t)/2,a=i===0?2*n/(s+n):2*t/(i+t);return[e,a*100,o*100]};st.hsv.rgb=function(r){let e=r[0]/60,t=r[1]/100,i=r[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-t),a=255*i*(1-t*s),l=255*i*(1-t*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};st.hsv.hsl=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=Math.max(i,.01),s,o;o=(2-t)*i;let a=(2-t)*n;return s=t*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};st.hwb.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n=t+i,s;n>1&&(t/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!==0&&(s=1-s);let l=t+s*(a-t),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=t;break;case 1:c=l,u=a,g=t;break;case 2:c=t,u=a,g=l;break;case 3:c=t,u=l,g=a;break;case 4:c=l,u=t,g=a;break;case 5:c=a,u=t,g=l;break}return[c*255,u*255,g*255]};st.cmyk.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n=r[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,t*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};st.xyz.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n,s,o;return n=e*3.2406+t*-1.5372+i*-.4986,s=e*-.9689+t*1.8758+i*.0415,o=e*.0557+t*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};st.xyz.lab=function(r){let e=r[0],t=r[1],i=r[2];e/=95.047,t/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*t-16,s=500*(e-t),o=200*(t-i);return[n,s,o]};st.lab.xyz=function(r){let e=r[0],t=r[1],i=r[2],n,s,o;s=(e+16)/116,n=t/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};st.lab.lch=function(r){let e=r[0],t=r[1],i=r[2],n;n=Math.atan2(i,t)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(t*t+i*i);return[e,o,n]};st.lch.lab=function(r){let e=r[0],t=r[1],n=r[2]/360*2*Math.PI,s=t*Math.cos(n),o=t*Math.sin(n);return[e,s,o]};st.rgb.ansi16=function(r,e=null){let[t,i,n]=r,s=e===null?st.rgb.hsv(r)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(t/255));return s===2&&(o+=60),o};st.hsv.ansi16=function(r){return st.rgb.ansi16(st.hsv.rgb(r),r[2])};st.rgb.ansi256=function(r){let e=r[0],t=r[1],i=r[2];return e===t&&t===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(i/255*5)};st.ansi16.rgb=function(r){let e=r%10;if(e===0||e===7)return r>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let t=(~~(r>50)+1)*.5,i=(e&1)*t*255,n=(e>>1&1)*t*255,s=(e>>2&1)*t*255;return[i,n,s]};st.ansi256.rgb=function(r){if(r>=232){let s=(r-232)*10+8;return[s,s,s]}r-=16;let e,t=Math.floor(r/36)/5*255,i=Math.floor((e=r%36)/6)/5*255,n=e%6/5*255;return[t,i,n]};st.rgb.hex=function(r){let t=(((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255)).toString(16).toUpperCase();return\"000000\".substring(t.length)+t};st.hex.rgb=function(r){let e=r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let t=e[0];e[0].length===3&&(t=t.split(\"\").map(a=>a+a).join(\"\"));let i=parseInt(t,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};st.rgb.hcg=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.max(Math.max(e,t),i),s=Math.min(Math.min(e,t),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(t-i)/o%6:n===t?l=2+(i-e)/o:l=4+(e-t)/o,l/=6,l%=1,[l*360,o*100,a*100]};st.hsl.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=t<.5?2*e*t:2*e*(1-t),n=0;return i<1&&(n=(t-.5*i)/(1-i)),[r[0],i*100,n*100]};st.hsv.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=e*t,n=0;return i<1&&(n=(t-i)/(1-i)),[r[0],i*100,n*100]};st.hcg.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100;if(t===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-t)*i,[(t*n[0]+l)*255,(t*n[1]+l)*255,(t*n[2]+l)*255]};st.hcg.hsv=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e),n=0;return i>0&&(n=e/i),[r[0],n*100,i*100]};st.hcg.hsl=function(r){let e=r[1]/100,i=r[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[r[0],n*100,i*100]};st.hcg.hwb=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e);return[r[0],(i-e)*100,(1-i)*100]};st.hwb.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=1-t,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[r[0],n*100,s*100]};st.apple.rgb=function(r){return[r[0]/65535*255,r[1]/65535*255,r[2]/65535*255]};st.rgb.apple=function(r){return[r[0]/255*65535,r[1]/255*65535,r[2]/255*65535]};st.gray.rgb=function(r){return[r[0]/100*255,r[0]/100*255,r[0]/100*255]};st.gray.hsl=function(r){return[0,0,r[0]]};st.gray.hsv=st.gray.hsl;st.gray.hwb=function(r){return[0,100,r[0]]};st.gray.cmyk=function(r){return[0,0,0,r[0]]};st.gray.lab=function(r){return[r[0],0,0]};st.gray.hex=function(r){let e=Math.round(r[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return\"000000\".substring(i.length)+i};st.rgb.gray=function(r){return[(r[0]+r[1]+r[2])/3/255*100]}});var Jq=w((L$e,qq)=>{var By=_v();function bye(){let r={},e=Object.keys(By);for(let t=e.length,i=0;i<t;i++)r[e[i]]={distance:-1,parent:null};return r}function Sye(r){let e=bye(),t=[r];for(e[r].distance=0;t.length;){let i=t.pop(),n=Object.keys(By[i]);for(let s=n.length,o=0;o<s;o++){let a=n[o],l=e[a];l.distance===-1&&(l.distance=e[i].distance+1,l.parent=i,t.unshift(a))}}return e}function vye(r,e){return function(t){return e(r(t))}}function xye(r,e){let t=[e[r].parent,r],i=By[e[r].parent][r],n=e[r].parent;for(;e[n].parent;)t.unshift(e[n].parent),i=vye(By[e[n].parent][n],i),n=e[n].parent;return i.conversion=t,i}qq.exports=function(r){let e=Sye(r),t={},i=Object.keys(e);for(let n=i.length,s=0;s<n;s++){let o=i[s];e[o].parent!==null&&(t[o]=xye(o,e))}return t}});var zq=w((T$e,Wq)=>{var Zv=_v(),Pye=Jq(),_g={},Dye=Object.keys(Zv);function kye(r){let e=function(...t){let i=t[0];return i==null?i:(i.length>1&&(t=i),r(t))};return\"conversion\"in r&&(e.conversion=r.conversion),e}function Rye(r){let e=function(...t){let i=t[0];if(i==null)return i;i.length>1&&(t=i);let n=r(t);if(typeof n==\"object\")for(let s=n.length,o=0;o<s;o++)n[o]=Math.round(n[o]);return n};return\"conversion\"in r&&(e.conversion=r.conversion),e}Dye.forEach(r=>{_g[r]={},Object.defineProperty(_g[r],\"channels\",{value:Zv[r].channels}),Object.defineProperty(_g[r],\"labels\",{value:Zv[r].labels});let e=Pye(r);Object.keys(e).forEach(i=>{let n=e[i];_g[r][i]=Rye(n),_g[r][i].raw=kye(n)})});Wq.exports=_g});var eJ=w((O$e,$q)=>{\"use strict\";var Vq=(r,e)=>(...t)=>`\\x1B[${r(...t)+e}m`,Xq=(r,e)=>(...t)=>{let i=r(...t);return`\\x1B[${38+e};5;${i}m`},_q=(r,e)=>(...t)=>{let i=r(...t);return`\\x1B[${38+e};2;${i[0]};${i[1]};${i[2]}m`},Qy=r=>r,Zq=(r,e,t)=>[r,e,t],Zg=(r,e,t)=>{Object.defineProperty(r,e,{get:()=>{let i=t();return Object.defineProperty(r,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},$v,$g=(r,e,t,i)=>{$v===void 0&&($v=zq());let n=i?10:0,s={};for(let[o,a]of Object.entries($v)){let l=o===\"ansi16\"?\"ansi\":o;o===e?s[l]=r(t,n):typeof a==\"object\"&&(s[l]=r(a[e],n))}return s};function Fye(){let r=new Map,e={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],blackBright:[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]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[t,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`\\x1B[${s[0]}m`,close:`\\x1B[${s[1]}m`},i[n]=e[n],r.set(s[0],s[1]);Object.defineProperty(e,t,{value:i,enumerable:!1})}return Object.defineProperty(e,\"codes\",{value:r,enumerable:!1}),e.color.close=\"\\x1B[39m\",e.bgColor.close=\"\\x1B[49m\",Zg(e.color,\"ansi\",()=>$g(Vq,\"ansi16\",Qy,!1)),Zg(e.color,\"ansi256\",()=>$g(Xq,\"ansi256\",Qy,!1)),Zg(e.color,\"ansi16m\",()=>$g(_q,\"rgb\",Zq,!1)),Zg(e.bgColor,\"ansi\",()=>$g(Vq,\"ansi16\",Qy,!0)),Zg(e.bgColor,\"ansi256\",()=>$g(Xq,\"ansi256\",Qy,!0)),Zg(e.bgColor,\"ansi16m\",()=>$g(_q,\"rgb\",Zq,!0)),e}Object.defineProperty($q,\"exports\",{enumerable:!0,get:Fye})});var rJ=w((M$e,tJ)=>{\"use strict\";tJ.exports=(r,e=process.argv)=>{let t=r.startsWith(\"-\")?\"\":r.length===1?\"-\":\"--\",i=e.indexOf(t+r),n=e.indexOf(\"--\");return i!==-1&&(n===-1||i<n)}});var sJ=w((K$e,nJ)=>{\"use strict\";var Nye=J(\"os\"),iJ=J(\"tty\"),us=rJ(),{env:ai}=process,DA;us(\"no-color\")||us(\"no-colors\")||us(\"color=false\")||us(\"color=never\")?DA=0:(us(\"color\")||us(\"colors\")||us(\"color=true\")||us(\"color=always\"))&&(DA=1);\"FORCE_COLOR\"in ai&&(ai.FORCE_COLOR===\"true\"?DA=1:ai.FORCE_COLOR===\"false\"?DA=0:DA=ai.FORCE_COLOR.length===0?1:Math.min(parseInt(ai.FORCE_COLOR,10),3));function ex(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function tx(r,e){if(DA===0)return 0;if(us(\"color=16m\")||us(\"color=full\")||us(\"color=truecolor\"))return 3;if(us(\"color=256\"))return 2;if(r&&!e&&DA===void 0)return 0;let t=DA||0;if(ai.TERM===\"dumb\")return t;if(process.platform===\"win32\"){let i=Nye.release().split(\".\");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if(\"CI\"in ai)return[\"TRAVIS\",\"CIRCLECI\",\"APPVEYOR\",\"GITLAB_CI\"].some(i=>i in ai)||ai.CI_NAME===\"codeship\"?1:t;if(\"TEAMCITY_VERSION\"in ai)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(ai.TEAMCITY_VERSION)?1:0;if(\"GITHUB_ACTIONS\"in ai)return 1;if(ai.COLORTERM===\"truecolor\")return 3;if(\"TERM_PROGRAM\"in ai){let i=parseInt((ai.TERM_PROGRAM_VERSION||\"\").split(\".\")[0],10);switch(ai.TERM_PROGRAM){case\"iTerm.app\":return i>=3?3:2;case\"Apple_Terminal\":return 2}}return/-256(color)?$/i.test(ai.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ai.TERM)||\"COLORTERM\"in ai?1:t}function Lye(r){let e=tx(r,r&&r.isTTY);return ex(e)}nJ.exports={supportsColor:Lye,stdout:ex(tx(!0,iJ.isatty(1))),stderr:ex(tx(!0,iJ.isatty(2)))}});var aJ=w((U$e,oJ)=>{\"use strict\";var Tye=(r,e,t)=>{let i=r.indexOf(e);if(i===-1)return r;let n=e.length,s=0,o=\"\";do o+=r.substr(s,i-s)+e+t,s=i+n,i=r.indexOf(e,s);while(i!==-1);return o+=r.substr(s),o},Oye=(r,e,t,i)=>{let n=0,s=\"\";do{let o=r[i-1]===\"\\r\";s+=r.substr(n,(o?i-1:i)-n)+e+(o?`\\r\n`:`\n`)+t,n=i+1,i=r.indexOf(`\n`,n)}while(i!==-1);return s+=r.substr(n),s};oJ.exports={stringReplaceAll:Tye,stringEncaseCRLFWithFirstIndex:Oye}});var gJ=w((H$e,uJ)=>{\"use strict\";var Mye=/(?:\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi,AJ=/(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g,Kye=/^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/,Uye=/\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.)|([^\\\\])/gi,Hye=new Map([[\"n\",`\n`],[\"r\",\"\\r\"],[\"t\",\"\t\"],[\"b\",\"\\b\"],[\"f\",\"\\f\"],[\"v\",\"\\v\"],[\"0\",\"\\0\"],[\"\\\\\",\"\\\\\"],[\"e\",\"\\x1B\"],[\"a\",\"\\x07\"]]);function cJ(r){let e=r[0]===\"u\",t=r[1]===\"{\";return e&&!t&&r.length===5||r[0]===\"x\"&&r.length===3?String.fromCharCode(parseInt(r.slice(1),16)):e&&t?String.fromCodePoint(parseInt(r.slice(2,-1),16)):Hye.get(r)||r}function Gye(r,e){let t=[],i=e.trim().split(/\\s*,\\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))t.push(o);else if(n=s.match(Kye))t.push(n[2].replace(Uye,(a,l,c)=>l?cJ(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${r}')`)}return t}function Yye(r){AJ.lastIndex=0;let e=[],t;for(;(t=AJ.exec(r))!==null;){let i=t[1];if(t[2]){let n=Gye(i,t[2]);e.push([i].concat(n))}else e.push([i])}return e}function lJ(r,e){let t={};for(let n of e)for(let s of n.styles)t[s[0]]=n.inverse?null:s.slice(1);let i=r;for(let[n,s]of Object.entries(t))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}uJ.exports=(r,e)=>{let t=[],i=[],n=[];if(e.replace(Mye,(s,o,a,l,c,u)=>{if(o)n.push(cJ(o));else if(l){let g=n.join(\"\");n=[],i.push(t.length===0?g:lJ(r,t)(g)),t.push({inverse:a,styles:Yye(l)})}else if(c){if(t.length===0)throw new Error(\"Found extraneous } in Chalk template literal\");i.push(lJ(r,t)(n.join(\"\"))),n=[],t.pop()}else n.push(u)}),i.push(n.join(\"\")),t.length>0){let s=`Chalk template literal is missing ${t.length} closing bracket${t.length===1?\"\":\"s\"} (\\`}\\`)`;throw new Error(s)}return i.join(\"\")}});var ax=w((G$e,dJ)=>{\"use strict\";var xd=eJ(),{stdout:ix,stderr:nx}=sJ(),{stringReplaceAll:jye,stringEncaseCRLFWithFirstIndex:qye}=aJ(),fJ=[\"ansi\",\"ansi\",\"ansi256\",\"ansi16m\"],ef=Object.create(null),Jye=(r,e={})=>{if(e.level>3||e.level<0)throw new Error(\"The `level` option should be an integer from 0 to 3\");let t=ix?ix.level:0;r.level=e.level===void 0?t:e.level},sx=class{constructor(e){return hJ(e)}},hJ=r=>{let e={};return Jye(e,r),e.template=(...t)=>Vye(e.template,...t),Object.setPrototypeOf(e,by.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error(\"`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.\")},e.template.Instance=sx,e.template};function by(r){return hJ(r)}for(let[r,e]of Object.entries(xd))ef[r]={get(){let t=Sy(this,ox(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,r,{value:t}),t}};ef.visible={get(){let r=Sy(this,this._styler,!0);return Object.defineProperty(this,\"visible\",{value:r}),r}};var pJ=[\"rgb\",\"hex\",\"keyword\",\"hsl\",\"hsv\",\"hwb\",\"ansi\",\"ansi256\"];for(let r of pJ)ef[r]={get(){let{level:e}=this;return function(...t){let i=ox(xd.color[fJ[e]][r](...t),xd.color.close,this._styler);return Sy(this,i,this._isEmpty)}}};for(let r of pJ){let e=\"bg\"+r[0].toUpperCase()+r.slice(1);ef[e]={get(){let{level:t}=this;return function(...i){let n=ox(xd.bgColor[fJ[t]][r](...i),xd.bgColor.close,this._styler);return Sy(this,n,this._isEmpty)}}}}var Wye=Object.defineProperties(()=>{},{...ef,level:{enumerable:!0,get(){return this._generator.level},set(r){this._generator.level=r}}}),ox=(r,e,t)=>{let i,n;return t===void 0?(i=r,n=e):(i=t.openAll+r,n=e+t.closeAll),{open:r,close:e,openAll:i,closeAll:n,parent:t}},Sy=(r,e,t)=>{let i=(...n)=>zye(i,n.length===1?\"\"+n[0]:n.join(\" \"));return i.__proto__=Wye,i._generator=r,i._styler=e,i._isEmpty=t,i},zye=(r,e)=>{if(r.level<=0||!e)return r._isEmpty?\"\":e;let t=r._styler;if(t===void 0)return e;let{openAll:i,closeAll:n}=t;if(e.indexOf(\"\\x1B\")!==-1)for(;t!==void 0;)e=jye(e,t.close,t.open),t=t.parent;let s=e.indexOf(`\n`);return s!==-1&&(e=qye(e,n,i,s)),i+e+n},rx,Vye=(r,...e)=>{let[t]=e;if(!Array.isArray(t))return e.join(\" \");let i=e.slice(1),n=[t.raw[0]];for(let s=1;s<t.length;s++)n.push(String(i[s-1]).replace(/[{}\\\\]/g,\"\\\\$&\"),String(t.raw[s]));return rx===void 0&&(rx=gJ()),rx(r,n.join(\"\"))};Object.defineProperties(by.prototype,ef);var Pd=by();Pd.supportsColor=ix;Pd.stderr=by({level:nx?nx.level:0});Pd.stderr.supportsColor=nx;Pd.Level={None:0,Basic:1,Ansi256:2,TrueColor:3,0:\"None\",1:\"Basic\",2:\"Ansi256\",3:\"TrueColor\"};dJ.exports=Pd});var vy=w(gs=>{\"use strict\";gs.isInteger=r=>typeof r==\"number\"?Number.isInteger(r):typeof r==\"string\"&&r.trim()!==\"\"?Number.isInteger(Number(r)):!1;gs.find=(r,e)=>r.nodes.find(t=>t.type===e);gs.exceedsLimit=(r,e,t=1,i)=>i===!1||!gs.isInteger(r)||!gs.isInteger(e)?!1:(Number(e)-Number(r))/Number(t)>=i;gs.escapeNode=(r,e=0,t)=>{let i=r.nodes[e];!i||(t&&i.type===t||i.type===\"open\"||i.type===\"close\")&&i.escaped!==!0&&(i.value=\"\\\\\"+i.value,i.escaped=!0)};gs.encloseBrace=r=>r.type!==\"brace\"?!1:r.commas>>0+r.ranges>>0===0?(r.invalid=!0,!0):!1;gs.isInvalidBrace=r=>r.type!==\"brace\"?!1:r.invalid===!0||r.dollar?!0:r.commas>>0+r.ranges>>0===0||r.open!==!0||r.close!==!0?(r.invalid=!0,!0):!1;gs.isOpenOrClose=r=>r.type===\"open\"||r.type===\"close\"?!0:r.open===!0||r.close===!0;gs.reduce=r=>r.reduce((e,t)=>(t.type===\"text\"&&e.push(t.value),t.type===\"range\"&&(t.type=\"text\"),e),[]);gs.flatten=(...r)=>{let e=[],t=i=>{for(let n=0;n<i.length;n++){let s=i[n];Array.isArray(s)?t(s,e):s!==void 0&&e.push(s)}return e};return t(r),e}});var xy=w((j$e,mJ)=>{\"use strict\";var CJ=vy();mJ.exports=(r,e={})=>{let t=(i,n={})=>{let s=e.escapeInvalid&&CJ.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=\"\";if(i.value)return(s||o)&&CJ.isOpenOrClose(i)?\"\\\\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=t(l);return a};return t(r)}});var IJ=w((q$e,EJ)=>{\"use strict\";EJ.exports=function(r){return typeof r==\"number\"?r-r===0:typeof r==\"string\"&&r.trim()!==\"\"?Number.isFinite?Number.isFinite(+r):isFinite(+r):!1}});var PJ=w((J$e,xJ)=>{\"use strict\";var yJ=IJ(),ac=(r,e,t)=>{if(yJ(r)===!1)throw new TypeError(\"toRegexRange: expected the first argument to be a number\");if(e===void 0||r===e)return String(r);if(yJ(e)===!1)throw new TypeError(\"toRegexRange: expected the second argument to be a number.\");let i={relaxZeros:!0,...t};typeof i.strictZeros==\"boolean\"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=r+\":\"+e+\"=\"+n+s+o+a;if(ac.cache.hasOwnProperty(l))return ac.cache[l].result;let c=Math.min(r,e),u=Math.max(r,e);if(Math.abs(c-u)===1){let C=r+\"|\"+e;return i.capture?`(${C})`:i.wrap===!1?C:`(?:${C})`}let g=vJ(r)||vJ(e),f={min:r,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let C=u<0?Math.abs(u):1;p=wJ(C,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=wJ(c,u,f,i)),f.negatives=p,f.positives=h,f.result=Xye(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),ac.cache[l]=f,f.result};function Xye(r,e,t){let i=Ax(r,e,\"-\",!1,t)||[],n=Ax(e,r,\"\",!1,t)||[],s=Ax(r,e,\"-?\",!0,t)||[];return i.concat(s).concat(n).join(\"|\")}function _ye(r,e){let t=1,i=1,n=QJ(r,t),s=new Set([e]);for(;r<=n&&n<=e;)s.add(n),t+=1,n=QJ(r,t);for(n=bJ(e+1,i)-1;r<n&&n<=e;)s.add(n),i+=1,n=bJ(e+1,i)-1;return s=[...s],s.sort(ewe),s}function Zye(r,e,t){if(r===e)return{pattern:r,count:[],digits:0};let i=$ye(r,e),n=i.length,s=\"\",o=0;for(let a=0;a<n;a++){let[l,c]=i[a];l===c?s+=l:l!==\"0\"||c!==\"9\"?s+=twe(l,c,t):o++}return o&&(s+=t.shorthand===!0?\"\\\\d\":\"[0-9]\"),{pattern:s,count:[o],digits:n}}function wJ(r,e,t,i){let n=_ye(r,e),s=[],o=r,a;for(let l=0;l<n.length;l++){let c=n[l],u=Zye(String(o),String(c),i),g=\"\";if(!t.isPadded&&a&&a.pattern===u.pattern){a.count.length>1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+SJ(a.count),o=c+1;continue}t.isPadded&&(g=rwe(c,t,i)),u.string=g+u.pattern+SJ(u.count),s.push(u),o=c+1,a=u}return s}function Ax(r,e,t,i,n){let s=[];for(let o of r){let{string:a}=o;!i&&!BJ(e,\"string\",a)&&s.push(t+a),i&&BJ(e,\"string\",a)&&s.push(t+a)}return s}function $ye(r,e){let t=[];for(let i=0;i<r.length;i++)t.push([r[i],e[i]]);return t}function ewe(r,e){return r>e?1:e>r?-1:0}function BJ(r,e,t){return r.some(i=>i[e]===t)}function QJ(r,e){return Number(String(r).slice(0,-e)+\"9\".repeat(e))}function bJ(r,e){return r-r%Math.pow(10,e)}function SJ(r){let[e=0,t=\"\"]=r;return t||e>1?`{${e+(t?\",\"+t:\"\")}}`:\"\"}function twe(r,e,t){return`[${r}${e-r===1?\"\":\"-\"}${e}]`}function vJ(r){return/^-?(0+)\\d/.test(r)}function rwe(r,e,t){if(!e.isPadded)return r;let i=Math.abs(e.maxLen-String(r).length),n=t.relaxZeros!==!1;switch(i){case 0:return\"\";case 1:return n?\"0?\":\"0\";case 2:return n?\"0{0,2}\":\"00\";default:return n?`0{0,${i}}`:`0{${i}}`}}ac.cache={};ac.clearCache=()=>ac.cache={};xJ.exports=ac});var ux=w((W$e,OJ)=>{\"use strict\";var iwe=J(\"util\"),RJ=PJ(),DJ=r=>r!==null&&typeof r==\"object\"&&!Array.isArray(r),nwe=r=>e=>r===!0?Number(e):String(e),lx=r=>typeof r==\"number\"||typeof r==\"string\"&&r!==\"\",Dd=r=>Number.isInteger(+r),cx=r=>{let e=`${r}`,t=-1;if(e[0]===\"-\"&&(e=e.slice(1)),e===\"0\")return!1;for(;e[++t]===\"0\";);return t>0},swe=(r,e,t)=>typeof r==\"string\"||typeof e==\"string\"?!0:t.stringify===!0,owe=(r,e,t)=>{if(e>0){let i=r[0]===\"-\"?\"-\":\"\";i&&(r=r.slice(1)),r=i+r.padStart(i?e-1:e,\"0\")}return t===!1?String(r):r},kJ=(r,e)=>{let t=r[0]===\"-\"?\"-\":\"\";for(t&&(r=r.slice(1),e--);r.length<e;)r=\"0\"+r;return t?\"-\"+r:r},awe=(r,e)=>{r.negatives.sort((o,a)=>o<a?-1:o>a?1:0),r.positives.sort((o,a)=>o<a?-1:o>a?1:0);let t=e.capture?\"\":\"?:\",i=\"\",n=\"\",s;return r.positives.length&&(i=r.positives.join(\"|\")),r.negatives.length&&(n=`-(${t}${r.negatives.join(\"|\")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${t}${s})`:s},FJ=(r,e,t,i)=>{if(t)return RJ(r,e,{wrap:!1,...i});let n=String.fromCharCode(r);if(r===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},NJ=(r,e,t)=>{if(Array.isArray(r)){let i=t.wrap===!0,n=t.capture?\"\":\"?:\";return i?`(${n}${r.join(\"|\")})`:r.join(\"|\")}return RJ(r,e,t)},LJ=(...r)=>new RangeError(\"Invalid range arguments: \"+iwe.inspect(...r)),TJ=(r,e,t)=>{if(t.strictRanges===!0)throw LJ([r,e]);return[]},Awe=(r,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step \"${r}\" to be a number`);return[]},lwe=(r,e,t=1,i={})=>{let n=Number(r),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw LJ([r,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(r),l=String(e),c=String(t);t=Math.max(Math.abs(t),1);let u=cx(a)||cx(l)||cx(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&swe(r,e,i)===!1,h=i.transform||nwe(f);if(i.toRegex&&t===1)return FJ(kJ(r,g),kJ(e,g),!0,i);let p={negatives:[],positives:[]},C=v=>p[v<0?\"negatives\":\"positives\"].push(Math.abs(v)),y=[],B=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&t>1?C(n):y.push(owe(h(n,B),g,f)),n=o?n-t:n+t,B++;return i.toRegex===!0?t>1?awe(p,i):NJ(y,null,{wrap:!1,...i}):y},cwe=(r,e,t=1,i={})=>{if(!Dd(r)&&r.length>1||!Dd(e)&&e.length>1)return TJ(r,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${r}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&t===1)return FJ(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-t:s+t,g++;return i.toRegex===!0?NJ(u,null,{wrap:!1,options:i}):u},Py=(r,e,t,i={})=>{if(e==null&&lx(r))return[r];if(!lx(r)||!lx(e))return TJ(r,e,i);if(typeof t==\"function\")return Py(r,e,1,{transform:t});if(DJ(t))return Py(r,e,0,t);let n={...i};return n.capture===!0&&(n.wrap=!0),t=t||n.step||1,Dd(t)?Dd(r)&&Dd(e)?lwe(r,e,t,n):cwe(r,e,Math.max(Math.abs(t),1),n):t!=null&&!DJ(t)?Awe(t,n):Py(r,e,1,t)};OJ.exports=Py});var UJ=w((z$e,KJ)=>{\"use strict\";var uwe=ux(),MJ=vy(),gwe=(r,e={})=>{let t=(i,n={})=>{let s=MJ.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?\"\\\\\":\"\",c=\"\";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type===\"open\")return a?l+i.value:\"(\";if(i.type===\"close\")return a?l+i.value:\")\";if(i.type===\"comma\")return i.prev.type===\"comma\"?\"\":a?i.value:\"|\";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=MJ.reduce(i.nodes),g=uwe(...u,{...e,wrap:!1,toRegex:!0});if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=t(u,i);return c};return t(r)};KJ.exports=gwe});var YJ=w((V$e,GJ)=>{\"use strict\";var fwe=ux(),HJ=xy(),tf=vy(),Ac=(r=\"\",e=\"\",t=!1)=>{let i=[];if(r=[].concat(r),e=[].concat(e),!e.length)return r;if(!r.length)return t?tf.flatten(e).map(n=>`{${n}}`):e;for(let n of r)if(Array.isArray(n))for(let s of n)i.push(Ac(s,e,t));else for(let s of e)t===!0&&typeof s==\"string\"&&(s=`{${s}}`),i.push(Array.isArray(s)?Ac(n,s,t):n+s);return tf.flatten(i)},hwe=(r,e={})=>{let t=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!==\"brace\"&&o.type!==\"root\"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(Ac(a.pop(),HJ(n,e)));return}if(n.type===\"brace\"&&n.invalid!==!0&&n.nodes.length===2){a.push(Ac(a.pop(),[\"{}\"]));return}if(n.nodes&&n.ranges>0){let g=tf.reduce(n.nodes);if(tf.exceedsLimit(...g,e.step,t))throw new RangeError(\"expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.\");let f=fwe(...g,e);f.length===0&&(f=HJ(n,e)),a.push(Ac(a.pop(),f)),n.nodes=[];return}let l=tf.encloseBrace(n),c=n.queue,u=n;for(;u.type!==\"brace\"&&u.type!==\"root\"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g<n.nodes.length;g++){let f=n.nodes[g];if(f.type===\"comma\"&&n.type===\"brace\"){g===1&&c.push(\"\"),c.push(\"\");continue}if(f.type===\"close\"){a.push(Ac(a.pop(),c,l));continue}if(f.value&&f.type!==\"open\"){c.push(Ac(c.pop(),f.value));continue}f.nodes&&i(f,n)}return c};return tf.flatten(i(r))};GJ.exports=hwe});var qJ=w((X$e,jJ)=>{\"use strict\";jJ.exports={MAX_LENGTH:1024*64,CHAR_0:\"0\",CHAR_9:\"9\",CHAR_UPPERCASE_A:\"A\",CHAR_LOWERCASE_A:\"a\",CHAR_UPPERCASE_Z:\"Z\",CHAR_LOWERCASE_Z:\"z\",CHAR_LEFT_PARENTHESES:\"(\",CHAR_RIGHT_PARENTHESES:\")\",CHAR_ASTERISK:\"*\",CHAR_AMPERSAND:\"&\",CHAR_AT:\"@\",CHAR_BACKSLASH:\"\\\\\",CHAR_BACKTICK:\"`\",CHAR_CARRIAGE_RETURN:\"\\r\",CHAR_CIRCUMFLEX_ACCENT:\"^\",CHAR_COLON:\":\",CHAR_COMMA:\",\",CHAR_DOLLAR:\"$\",CHAR_DOT:\".\",CHAR_DOUBLE_QUOTE:'\"',CHAR_EQUAL:\"=\",CHAR_EXCLAMATION_MARK:\"!\",CHAR_FORM_FEED:\"\\f\",CHAR_FORWARD_SLASH:\"/\",CHAR_HASH:\"#\",CHAR_HYPHEN_MINUS:\"-\",CHAR_LEFT_ANGLE_BRACKET:\"<\",CHAR_LEFT_CURLY_BRACE:\"{\",CHAR_LEFT_SQUARE_BRACKET:\"[\",CHAR_LINE_FEED:`\n`,CHAR_NO_BREAK_SPACE:\"\\xA0\",CHAR_PERCENT:\"%\",CHAR_PLUS:\"+\",CHAR_QUESTION_MARK:\"?\",CHAR_RIGHT_ANGLE_BRACKET:\">\",CHAR_RIGHT_CURLY_BRACE:\"}\",CHAR_RIGHT_SQUARE_BRACKET:\"]\",CHAR_SEMICOLON:\";\",CHAR_SINGLE_QUOTE:\"'\",CHAR_SPACE:\" \",CHAR_TAB:\"\t\",CHAR_UNDERSCORE:\"_\",CHAR_VERTICAL_LINE:\"|\",CHAR_ZERO_WIDTH_NOBREAK_SPACE:\"\\uFEFF\"}});var XJ=w((_$e,VJ)=>{\"use strict\";var pwe=xy(),{MAX_LENGTH:JJ,CHAR_BACKSLASH:gx,CHAR_BACKTICK:dwe,CHAR_COMMA:Cwe,CHAR_DOT:mwe,CHAR_LEFT_PARENTHESES:Ewe,CHAR_RIGHT_PARENTHESES:Iwe,CHAR_LEFT_CURLY_BRACE:ywe,CHAR_RIGHT_CURLY_BRACE:wwe,CHAR_LEFT_SQUARE_BRACKET:WJ,CHAR_RIGHT_SQUARE_BRACKET:zJ,CHAR_DOUBLE_QUOTE:Bwe,CHAR_SINGLE_QUOTE:Qwe,CHAR_NO_BREAK_SPACE:bwe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Swe}=qJ(),vwe=(r,e={})=>{if(typeof r!=\"string\")throw new TypeError(\"Expected a string\");let t=e||{},i=typeof t.maxLength==\"number\"?Math.min(JJ,t.maxLength):JJ;if(r.length>i)throw new SyntaxError(`Input length (${r.length}), exceeds max characters (${i})`);let n={type:\"root\",input:r,nodes:[]},s=[n],o=n,a=n,l=0,c=r.length,u=0,g=0,f,h={},p=()=>r[u++],C=y=>{if(y.type===\"text\"&&a.type===\"dot\"&&(a.type=\"text\"),a&&a.type===\"text\"&&y.type===\"text\"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(C({type:\"bos\"});u<c;)if(o=s[s.length-1],f=p(),!(f===Swe||f===bwe)){if(f===gx){C({type:\"text\",value:(e.keepEscaping?f:\"\")+p()});continue}if(f===zJ){C({type:\"text\",value:\"\\\\\"+f});continue}if(f===WJ){l++;let y=!0,B;for(;u<c&&(B=p());){if(f+=B,B===WJ){l++;continue}if(B===gx){f+=p();continue}if(B===zJ&&(l--,l===0))break}C({type:\"text\",value:f});continue}if(f===Ewe){o=C({type:\"paren\",nodes:[]}),s.push(o),C({type:\"text\",value:f});continue}if(f===Iwe){if(o.type!==\"paren\"){C({type:\"text\",value:f});continue}o=s.pop(),C({type:\"text\",value:f}),o=s[s.length-1];continue}if(f===Bwe||f===Qwe||f===dwe){let y=f,B;for(e.keepQuotes!==!0&&(f=\"\");u<c&&(B=p());){if(B===gx){f+=B+p();continue}if(B===y){e.keepQuotes===!0&&(f+=B);break}f+=B}C({type:\"text\",value:f});continue}if(f===ywe){g++;let y=a.value&&a.value.slice(-1)===\"$\"||o.dollar===!0;o=C({type:\"brace\",open:!0,close:!1,dollar:y,depth:g,commas:0,ranges:0,nodes:[]}),s.push(o),C({type:\"open\",value:f});continue}if(f===wwe){if(o.type!==\"brace\"){C({type:\"text\",value:f});continue}let y=\"close\";o=s.pop(),o.close=!0,C({type:y,value:f}),g--,o=s[s.length-1];continue}if(f===Cwe&&g>0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:\"text\",value:pwe(o)}]}C({type:\"comma\",value:f}),o.commas++;continue}if(f===mwe&&g>0&&o.commas===0){let y=o.nodes;if(g===0||y.length===0){C({type:\"text\",value:f});continue}if(a.type===\"dot\"){if(o.range=[],a.value+=f,a.type=\"range\",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type=\"text\";continue}o.ranges++,o.args=[];continue}if(a.type===\"range\"){y.pop();let B=y[y.length-1];B.value+=a.value+f,a=B,o.ranges--;continue}C({type:\"dot\",value:f});continue}C({type:\"text\",value:f})}do if(o=s.pop(),o.type!==\"root\"){o.nodes.forEach(v=>{v.nodes||(v.type===\"open\"&&(v.isOpen=!0),v.type===\"close\"&&(v.isClose=!0),v.nodes||(v.type=\"text\"),v.invalid=!0)});let y=s[s.length-1],B=y.nodes.indexOf(o);y.nodes.splice(B,1,...o.nodes)}while(s.length>0);return C({type:\"eos\"}),n};VJ.exports=vwe});var $J=w((Z$e,ZJ)=>{\"use strict\";var _J=xy(),xwe=UJ(),Pwe=YJ(),Dwe=XJ(),Yn=(r,e={})=>{let t=[];if(Array.isArray(r))for(let i of r){let n=Yn.create(i,e);Array.isArray(n)?t.push(...n):t.push(n)}else t=[].concat(Yn.create(r,e));return e&&e.expand===!0&&e.nodupes===!0&&(t=[...new Set(t)]),t};Yn.parse=(r,e={})=>Dwe(r,e);Yn.stringify=(r,e={})=>_J(typeof r==\"string\"?Yn.parse(r,e):r,e);Yn.compile=(r,e={})=>(typeof r==\"string\"&&(r=Yn.parse(r,e)),xwe(r,e));Yn.expand=(r,e={})=>{typeof r==\"string\"&&(r=Yn.parse(r,e));let t=Pwe(r,e);return e.noempty===!0&&(t=t.filter(Boolean)),e.nodupes===!0&&(t=[...new Set(t)]),t};Yn.create=(r,e={})=>r===\"\"||r.length<3?[r]:e.expand!==!0?Yn.compile(r,e):Yn.expand(r,e);ZJ.exports=Yn});var kd=w(($$e,nW)=>{\"use strict\";var kwe=J(\"path\"),No=\"\\\\\\\\/\",eW=`[^${No}]`,va=\"\\\\.\",Rwe=\"\\\\+\",Fwe=\"\\\\?\",Dy=\"\\\\/\",Nwe=\"(?=.)\",tW=\"[^/]\",fx=`(?:${Dy}|$)`,rW=`(?:^|${Dy})`,hx=`${va}{1,2}${fx}`,Lwe=`(?!${va})`,Twe=`(?!${rW}${hx})`,Owe=`(?!${va}{0,1}${fx})`,Mwe=`(?!${hx})`,Kwe=`[^.${Dy}]`,Uwe=`${tW}*?`,iW={DOT_LITERAL:va,PLUS_LITERAL:Rwe,QMARK_LITERAL:Fwe,SLASH_LITERAL:Dy,ONE_CHAR:Nwe,QMARK:tW,END_ANCHOR:fx,DOTS_SLASH:hx,NO_DOT:Lwe,NO_DOTS:Twe,NO_DOT_SLASH:Owe,NO_DOTS_SLASH:Mwe,QMARK_NO_DOT:Kwe,STAR:Uwe,START_ANCHOR:rW},Hwe={...iW,SLASH_LITERAL:`[${No}]`,QMARK:eW,STAR:`${eW}*?`,DOTS_SLASH:`${va}{1,2}(?:[${No}]|$)`,NO_DOT:`(?!${va})`,NO_DOTS:`(?!(?:^|[${No}])${va}{1,2}(?:[${No}]|$))`,NO_DOT_SLASH:`(?!${va}{0,1}(?:[${No}]|$))`,NO_DOTS_SLASH:`(?!${va}{1,2}(?:[${No}]|$))`,QMARK_NO_DOT:`[^.${No}]`,START_ANCHOR:`(?:^|[${No}])`,END_ANCHOR:`(?:[${No}]|$)`},Gwe={alnum:\"a-zA-Z0-9\",alpha:\"a-zA-Z\",ascii:\"\\\\x00-\\\\x7F\",blank:\" \\\\t\",cntrl:\"\\\\x00-\\\\x1F\\\\x7F\",digit:\"0-9\",graph:\"\\\\x21-\\\\x7E\",lower:\"a-z\",print:\"\\\\x20-\\\\x7E \",punct:\"\\\\-!\\\"#$%&'()\\\\*+,./:;<=>?@[\\\\]^_`{|}~\",space:\" \\\\t\\\\r\\\\n\\\\v\\\\f\",upper:\"A-Z\",word:\"A-Za-z0-9_\",xdigit:\"A-Fa-f0-9\"};nW.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Gwe,REGEX_BACKSLASH:/\\\\(?![*+?^${}(|)[\\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\\].,$*+?^{}()|\\\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\\\?)((\\W)(\\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\\[.*?[^\\\\]\\]|\\\\(?=.))/g,REPLACEMENTS:{\"***\":\"*\",\"**/**\":\"**\",\"**/**/**\":\"**\"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:kwe.sep,extglobChars(r){return{\"!\":{type:\"negate\",open:\"(?:(?!(?:\",close:`))${r.STAR})`},\"?\":{type:\"qmark\",open:\"(?:\",close:\")?\"},\"+\":{type:\"plus\",open:\"(?:\",close:\")+\"},\"*\":{type:\"star\",open:\"(?:\",close:\")*\"},\"@\":{type:\"at\",open:\"(?:\",close:\")\"}}},globChars(r){return r===!0?Hwe:iW}}});var Rd=w(In=>{\"use strict\";var Ywe=J(\"path\"),jwe=process.platform===\"win32\",{REGEX_BACKSLASH:qwe,REGEX_REMOVE_BACKSLASH:Jwe,REGEX_SPECIAL_CHARS:Wwe,REGEX_SPECIAL_CHARS_GLOBAL:zwe}=kd();In.isObject=r=>r!==null&&typeof r==\"object\"&&!Array.isArray(r);In.hasRegexChars=r=>Wwe.test(r);In.isRegexChar=r=>r.length===1&&In.hasRegexChars(r);In.escapeRegex=r=>r.replace(zwe,\"\\\\$1\");In.toPosixSlashes=r=>r.replace(qwe,\"/\");In.removeBackslashes=r=>r.replace(Jwe,e=>e===\"\\\\\"?\"\":e);In.supportsLookbehinds=()=>{let r=process.version.slice(1).split(\".\").map(Number);return r.length===3&&r[0]>=9||r[0]===8&&r[1]>=10};In.isWindows=r=>r&&typeof r.windows==\"boolean\"?r.windows:jwe===!0||Ywe.sep===\"\\\\\";In.escapeLast=(r,e,t)=>{let i=r.lastIndexOf(e,t);return i===-1?r:r[i-1]===\"\\\\\"?In.escapeLast(r,e,i-1):`${r.slice(0,i)}\\\\${r.slice(i)}`};In.removePrefix=(r,e={})=>{let t=r;return t.startsWith(\"./\")&&(t=t.slice(2),e.prefix=\"./\"),t};In.wrapOutput=(r,e={},t={})=>{let i=t.contains?\"\":\"^\",n=t.contains?\"\":\"$\",s=`${i}(?:${r})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var gW=w((tet,uW)=>{\"use strict\";var sW=Rd(),{CHAR_ASTERISK:px,CHAR_AT:Vwe,CHAR_BACKWARD_SLASH:Fd,CHAR_COMMA:Xwe,CHAR_DOT:dx,CHAR_EXCLAMATION_MARK:Cx,CHAR_FORWARD_SLASH:cW,CHAR_LEFT_CURLY_BRACE:mx,CHAR_LEFT_PARENTHESES:Ex,CHAR_LEFT_SQUARE_BRACKET:_we,CHAR_PLUS:Zwe,CHAR_QUESTION_MARK:oW,CHAR_RIGHT_CURLY_BRACE:$we,CHAR_RIGHT_PARENTHESES:aW,CHAR_RIGHT_SQUARE_BRACKET:eBe}=kd(),AW=r=>r===cW||r===Fd,lW=r=>{r.isPrefix!==!0&&(r.depth=r.isGlobstar?1/0:1)},tBe=(r,e)=>{let t=e||{},i=r.length-1,n=t.parts===!0||t.scanToEnd===!0,s=[],o=[],a=[],l=r,c=-1,u=0,g=0,f=!1,h=!1,p=!1,C=!1,y=!1,B=!1,v=!1,D=!1,L=!1,H=!1,j=0,$,V,W={value:\"\",depth:0,isGlob:!1},Z=()=>c>=i,A=()=>l.charCodeAt(c+1),ae=()=>($=V,l.charCodeAt(++c));for(;c<i;){V=ae();let ue;if(V===Fd){v=W.backslashes=!0,V=ae(),V===mx&&(B=!0);continue}if(B===!0||V===mx){for(j++;Z()!==!0&&(V=ae());){if(V===Fd){v=W.backslashes=!0,ae();continue}if(V===mx){j++;continue}if(B!==!0&&V===dx&&(V=ae())===dx){if(f=W.isBrace=!0,p=W.isGlob=!0,H=!0,n===!0)continue;break}if(B!==!0&&V===Xwe){if(f=W.isBrace=!0,p=W.isGlob=!0,H=!0,n===!0)continue;break}if(V===$we&&(j--,j===0)){B=!1,f=W.isBrace=!0,H=!0;break}}if(n===!0)continue;break}if(V===cW){if(s.push(c),o.push(W),W={value:\"\",depth:0,isGlob:!1},H===!0)continue;if($===dx&&c===u+1){u+=2;continue}g=c+1;continue}if(t.noext!==!0&&(V===Zwe||V===Vwe||V===px||V===oW||V===Cx)===!0&&A()===Ex){if(p=W.isGlob=!0,C=W.isExtglob=!0,H=!0,V===Cx&&c===u&&(L=!0),n===!0){for(;Z()!==!0&&(V=ae());){if(V===Fd){v=W.backslashes=!0,V=ae();continue}if(V===aW){p=W.isGlob=!0,H=!0;break}}continue}break}if(V===px){if($===px&&(y=W.isGlobstar=!0),p=W.isGlob=!0,H=!0,n===!0)continue;break}if(V===oW){if(p=W.isGlob=!0,H=!0,n===!0)continue;break}if(V===_we){for(;Z()!==!0&&(ue=ae());){if(ue===Fd){v=W.backslashes=!0,ae();continue}if(ue===eBe){h=W.isBracket=!0,p=W.isGlob=!0,H=!0;break}}if(n===!0)continue;break}if(t.nonegate!==!0&&V===Cx&&c===u){D=W.negated=!0,u++;continue}if(t.noparen!==!0&&V===Ex){if(p=W.isGlob=!0,n===!0){for(;Z()!==!0&&(V=ae());){if(V===Ex){v=W.backslashes=!0,V=ae();continue}if(V===aW){H=!0;break}}continue}break}if(p===!0){if(H=!0,n===!0)continue;break}}t.noext===!0&&(C=!1,p=!1);let ge=l,re=\"\",O=\"\";u>0&&(re=l.slice(0,u),l=l.slice(u),g-=u),ge&&p===!0&&g>0?(ge=l.slice(0,g),O=l.slice(g)):p===!0?(ge=\"\",O=l):ge=l,ge&&ge!==\"\"&&ge!==\"/\"&&ge!==l&&AW(ge.charCodeAt(ge.length-1))&&(ge=ge.slice(0,-1)),t.unescape===!0&&(O&&(O=sW.removeBackslashes(O)),ge&&v===!0&&(ge=sW.removeBackslashes(ge)));let F={prefix:re,input:r,start:u,base:ge,glob:O,isBrace:f,isBracket:h,isGlob:p,isExtglob:C,isGlobstar:y,negated:D,negatedExtglob:L};if(t.tokens===!0&&(F.maxDepth=0,AW(V)||o.push(W),F.tokens=o),t.parts===!0||t.tokens===!0){let ue;for(let he=0;he<s.length;he++){let ke=ue?ue+1:u,Fe=s[he],Ne=r.slice(ke,Fe);t.tokens&&(he===0&&u!==0?(o[he].isPrefix=!0,o[he].value=re):o[he].value=Ne,lW(o[he]),F.maxDepth+=o[he].depth),(he!==0||Ne!==\"\")&&a.push(Ne),ue=Fe}if(ue&&ue+1<r.length){let he=r.slice(ue+1);a.push(he),t.tokens&&(o[o.length-1].value=he,lW(o[o.length-1]),F.maxDepth+=o[o.length-1].depth)}F.slashes=s,F.parts=a}return F};uW.exports=tBe});var dW=w((ret,pW)=>{\"use strict\";var ky=kd(),jn=Rd(),{MAX_LENGTH:Ry,POSIX_REGEX_SOURCE:rBe,REGEX_NON_SPECIAL_CHARS:iBe,REGEX_SPECIAL_CHARS_BACKREF:nBe,REPLACEMENTS:fW}=ky,sBe=(r,e)=>{if(typeof e.expandRange==\"function\")return e.expandRange(...r,e);r.sort();let t=`[${r.join(\"-\")}]`;try{new RegExp(t)}catch{return r.map(n=>jn.escapeRegex(n)).join(\"..\")}return t},rf=(r,e)=>`Missing ${r}: \"${e}\" - use \"\\\\\\\\${e}\" to match literal characters`,hW=(r,e)=>{if(typeof r!=\"string\")throw new TypeError(\"Expected a string\");r=fW[r]||r;let t={...e},i=typeof t.maxLength==\"number\"?Math.min(Ry,t.maxLength):Ry,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:\"bos\",value:\"\",output:t.prepend||\"\"},o=[s],a=t.capture?\"\":\"?:\",l=jn.isWindows(e),c=ky.globChars(l),u=ky.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:C,NO_DOT:y,NO_DOT_SLASH:B,NO_DOTS_SLASH:v,QMARK:D,QMARK_NO_DOT:L,STAR:H,START_ANCHOR:j}=c,$=Y=>`(${a}(?:(?!${j}${Y.dot?C:g}).)*?)`,V=t.dot?\"\":y,W=t.dot?D:L,Z=t.bash===!0?$(t):H;t.capture&&(Z=`(${Z})`),typeof t.noext==\"boolean\"&&(t.noextglob=t.noext);let A={input:r,index:-1,start:0,dot:t.dot===!0,consumed:\"\",output:\"\",prefix:\"\",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};r=jn.removePrefix(r,A),n=r.length;let ae=[],ge=[],re=[],O=s,F,ue=()=>A.index===n-1,he=A.peek=(Y=1)=>r[A.index+Y],ke=A.advance=()=>r[++A.index]||\"\",Fe=()=>r.slice(A.index+1),Ne=(Y=\"\",pe=0)=>{A.consumed+=Y,A.index+=pe},oe=Y=>{A.output+=Y.output!=null?Y.output:Y.value,Ne(Y.value)},le=()=>{let Y=1;for(;he()===\"!\"&&(he(2)!==\"(\"||he(3)===\"?\");)ke(),A.start++,Y++;return Y%2===0?!1:(A.negated=!0,A.start++,!0)},we=Y=>{A[Y]++,re.push(Y)},fe=Y=>{A[Y]--,re.pop()},Ae=Y=>{if(O.type===\"globstar\"){let pe=A.braces>0&&(Y.type===\"comma\"||Y.type===\"brace\"),ie=Y.extglob===!0||ae.length&&(Y.type===\"pipe\"||Y.type===\"paren\");Y.type!==\"slash\"&&Y.type!==\"paren\"&&!pe&&!ie&&(A.output=A.output.slice(0,-O.output.length),O.type=\"star\",O.value=\"*\",O.output=Z,A.output+=O.output)}if(ae.length&&Y.type!==\"paren\"&&(ae[ae.length-1].inner+=Y.value),(Y.value||Y.output)&&oe(Y),O&&O.type===\"text\"&&Y.type===\"text\"){O.value+=Y.value,O.output=(O.output||\"\")+Y.value;return}Y.prev=O,o.push(Y),O=Y},qe=(Y,pe)=>{let ie={...u[pe],conditions:1,inner:\"\"};ie.prev=O,ie.parens=A.parens,ie.output=A.output;let de=(t.capture?\"(\":\"\")+ie.open;we(\"parens\"),Ae({type:Y,value:pe,output:A.output?\"\":p}),Ae({type:\"paren\",extglob:!0,value:ke(),output:de}),ae.push(ie)},ne=Y=>{let pe=Y.close+(t.capture?\")\":\"\"),ie;if(Y.type===\"negate\"){let de=Z;Y.inner&&Y.inner.length>1&&Y.inner.includes(\"/\")&&(de=$(t)),(de!==Z||ue()||/^\\)+$/.test(Fe()))&&(pe=Y.close=`)$))${de}`),Y.inner.includes(\"*\")&&(ie=Fe())&&/^\\.[^\\\\/.]+$/.test(ie)&&(pe=Y.close=`)${ie})${de})`),Y.prev.type===\"bos\"&&(A.negatedExtglob=!0)}Ae({type:\"paren\",extglob:!0,value:F,output:pe}),fe(\"parens\")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\\]{}\"])/.test(r)){let Y=!1,pe=r.replace(nBe,(ie,de,tt,Pt,It,Or)=>Pt===\"\\\\\"?(Y=!0,ie):Pt===\"?\"?de?de+Pt+(It?D.repeat(It.length):\"\"):Or===0?W+(It?D.repeat(It.length):\"\"):D.repeat(tt.length):Pt===\".\"?g.repeat(tt.length):Pt===\"*\"?de?de+Pt+(It?Z:\"\"):Z:de?ie:`\\\\${ie}`);return Y===!0&&(t.unescape===!0?pe=pe.replace(/\\\\/g,\"\"):pe=pe.replace(/\\\\+/g,ie=>ie.length%2===0?\"\\\\\\\\\":ie?\"\\\\\":\"\")),pe===r&&t.contains===!0?(A.output=r,A):(A.output=jn.wrapOutput(pe,A,e),A)}for(;!ue();){if(F=ke(),F===\"\\0\")continue;if(F===\"\\\\\"){let ie=he();if(ie===\"/\"&&t.bash!==!0||ie===\".\"||ie===\";\")continue;if(!ie){F+=\"\\\\\",Ae({type:\"text\",value:F});continue}let de=/^\\\\+/.exec(Fe()),tt=0;if(de&&de[0].length>2&&(tt=de[0].length,A.index+=tt,tt%2!==0&&(F+=\"\\\\\")),t.unescape===!0?F=ke():F+=ke(),A.brackets===0){Ae({type:\"text\",value:F});continue}}if(A.brackets>0&&(F!==\"]\"||O.value===\"[\"||O.value===\"[^\")){if(t.posix!==!1&&F===\":\"){let ie=O.value.slice(1);if(ie.includes(\"[\")&&(O.posix=!0,ie.includes(\":\"))){let de=O.value.lastIndexOf(\"[\"),tt=O.value.slice(0,de),Pt=O.value.slice(de+2),It=rBe[Pt];if(It){O.value=tt+It,A.backtrack=!0,ke(),!s.output&&o.indexOf(O)===1&&(s.output=p);continue}}}(F===\"[\"&&he()!==\":\"||F===\"-\"&&he()===\"]\")&&(F=`\\\\${F}`),F===\"]\"&&(O.value===\"[\"||O.value===\"[^\")&&(F=`\\\\${F}`),t.posix===!0&&F===\"!\"&&O.value===\"[\"&&(F=\"^\"),O.value+=F,oe({value:F});continue}if(A.quotes===1&&F!=='\"'){F=jn.escapeRegex(F),O.value+=F,oe({value:F});continue}if(F==='\"'){A.quotes=A.quotes===1?0:1,t.keepQuotes===!0&&Ae({type:\"text\",value:F});continue}if(F===\"(\"){we(\"parens\"),Ae({type:\"paren\",value:F});continue}if(F===\")\"){if(A.parens===0&&t.strictBrackets===!0)throw new SyntaxError(rf(\"opening\",\"(\"));let ie=ae[ae.length-1];if(ie&&A.parens===ie.parens+1){ne(ae.pop());continue}Ae({type:\"paren\",value:F,output:A.parens?\")\":\"\\\\)\"}),fe(\"parens\");continue}if(F===\"[\"){if(t.nobracket===!0||!Fe().includes(\"]\")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(rf(\"closing\",\"]\"));F=`\\\\${F}`}else we(\"brackets\");Ae({type:\"bracket\",value:F});continue}if(F===\"]\"){if(t.nobracket===!0||O&&O.type===\"bracket\"&&O.value.length===1){Ae({type:\"text\",value:F,output:`\\\\${F}`});continue}if(A.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(rf(\"opening\",\"[\"));Ae({type:\"text\",value:F,output:`\\\\${F}`});continue}fe(\"brackets\");let ie=O.value.slice(1);if(O.posix!==!0&&ie[0]===\"^\"&&!ie.includes(\"/\")&&(F=`/${F}`),O.value+=F,oe({value:F}),t.literalBrackets===!1||jn.hasRegexChars(ie))continue;let de=jn.escapeRegex(O.value);if(A.output=A.output.slice(0,-O.value.length),t.literalBrackets===!0){A.output+=de,O.value=de;continue}O.value=`(${a}${de}|${O.value})`,A.output+=O.value;continue}if(F===\"{\"&&t.nobrace!==!0){we(\"braces\");let ie={type:\"brace\",value:F,output:\"(\",outputIndex:A.output.length,tokensIndex:A.tokens.length};ge.push(ie),Ae(ie);continue}if(F===\"}\"){let ie=ge[ge.length-1];if(t.nobrace===!0||!ie){Ae({type:\"text\",value:F,output:F});continue}let de=\")\";if(ie.dots===!0){let tt=o.slice(),Pt=[];for(let It=tt.length-1;It>=0&&(o.pop(),tt[It].type!==\"brace\");It--)tt[It].type!==\"dots\"&&Pt.unshift(tt[It].value);de=sBe(Pt,t),A.backtrack=!0}if(ie.comma!==!0&&ie.dots!==!0){let tt=A.output.slice(0,ie.outputIndex),Pt=A.tokens.slice(ie.tokensIndex);ie.value=ie.output=\"\\\\{\",F=de=\"\\\\}\",A.output=tt;for(let It of Pt)A.output+=It.output||It.value}Ae({type:\"brace\",value:F,output:de}),fe(\"braces\"),ge.pop();continue}if(F===\"|\"){ae.length>0&&ae[ae.length-1].conditions++,Ae({type:\"text\",value:F});continue}if(F===\",\"){let ie=F,de=ge[ge.length-1];de&&re[re.length-1]===\"braces\"&&(de.comma=!0,ie=\"|\"),Ae({type:\"comma\",value:F,output:ie});continue}if(F===\"/\"){if(O.type===\"dot\"&&A.index===A.start+1){A.start=A.index+1,A.consumed=\"\",A.output=\"\",o.pop(),O=s;continue}Ae({type:\"slash\",value:F,output:h});continue}if(F===\".\"){if(A.braces>0&&O.type===\"dot\"){O.value===\".\"&&(O.output=g);let ie=ge[ge.length-1];O.type=\"dots\",O.output+=F,O.value+=F,ie.dots=!0;continue}if(A.braces+A.parens===0&&O.type!==\"bos\"&&O.type!==\"slash\"){Ae({type:\"text\",value:F,output:g});continue}Ae({type:\"dot\",value:F,output:g});continue}if(F===\"?\"){if(!(O&&O.value===\"(\")&&t.noextglob!==!0&&he()===\"(\"&&he(2)!==\"?\"){qe(\"qmark\",F);continue}if(O&&O.type===\"paren\"){let de=he(),tt=F;if(de===\"<\"&&!jn.supportsLookbehinds())throw new Error(\"Node.js v10 or higher is required for regex lookbehinds\");(O.value===\"(\"&&!/[!=<:]/.test(de)||de===\"<\"&&!/<([!=]|\\w+>)/.test(Fe()))&&(tt=`\\\\${F}`),Ae({type:\"text\",value:F,output:tt});continue}if(t.dot!==!0&&(O.type===\"slash\"||O.type===\"bos\")){Ae({type:\"qmark\",value:F,output:L});continue}Ae({type:\"qmark\",value:F,output:D});continue}if(F===\"!\"){if(t.noextglob!==!0&&he()===\"(\"&&(he(2)!==\"?\"||!/[!=<:]/.test(he(3)))){qe(\"negate\",F);continue}if(t.nonegate!==!0&&A.index===0){le();continue}}if(F===\"+\"){if(t.noextglob!==!0&&he()===\"(\"&&he(2)!==\"?\"){qe(\"plus\",F);continue}if(O&&O.value===\"(\"||t.regex===!1){Ae({type:\"plus\",value:F,output:f});continue}if(O&&(O.type===\"bracket\"||O.type===\"paren\"||O.type===\"brace\")||A.parens>0){Ae({type:\"plus\",value:F});continue}Ae({type:\"plus\",value:f});continue}if(F===\"@\"){if(t.noextglob!==!0&&he()===\"(\"&&he(2)!==\"?\"){Ae({type:\"at\",extglob:!0,value:F,output:\"\"});continue}Ae({type:\"text\",value:F});continue}if(F!==\"*\"){(F===\"$\"||F===\"^\")&&(F=`\\\\${F}`);let ie=iBe.exec(Fe());ie&&(F+=ie[0],A.index+=ie[0].length),Ae({type:\"text\",value:F});continue}if(O&&(O.type===\"globstar\"||O.star===!0)){O.type=\"star\",O.star=!0,O.value+=F,O.output=Z,A.backtrack=!0,A.globstar=!0,Ne(F);continue}let Y=Fe();if(t.noextglob!==!0&&/^\\([^?]/.test(Y)){qe(\"star\",F);continue}if(O.type===\"star\"){if(t.noglobstar===!0){Ne(F);continue}let ie=O.prev,de=ie.prev,tt=ie.type===\"slash\"||ie.type===\"bos\",Pt=de&&(de.type===\"star\"||de.type===\"globstar\");if(t.bash===!0&&(!tt||Y[0]&&Y[0]!==\"/\")){Ae({type:\"star\",value:F,output:\"\"});continue}let It=A.braces>0&&(ie.type===\"comma\"||ie.type===\"brace\"),Or=ae.length&&(ie.type===\"pipe\"||ie.type===\"paren\");if(!tt&&ie.type!==\"paren\"&&!It&&!Or){Ae({type:\"star\",value:F,output:\"\"});continue}for(;Y.slice(0,3)===\"/**\";){let ii=r[A.index+4];if(ii&&ii!==\"/\")break;Y=Y.slice(3),Ne(\"/**\",3)}if(ie.type===\"bos\"&&ue()){O.type=\"globstar\",O.value+=F,O.output=$(t),A.output=O.output,A.globstar=!0,Ne(F);continue}if(ie.type===\"slash\"&&ie.prev.type!==\"bos\"&&!Pt&&ue()){A.output=A.output.slice(0,-(ie.output+O.output).length),ie.output=`(?:${ie.output}`,O.type=\"globstar\",O.output=$(t)+(t.strictSlashes?\")\":\"|$)\"),O.value+=F,A.globstar=!0,A.output+=ie.output+O.output,Ne(F);continue}if(ie.type===\"slash\"&&ie.prev.type!==\"bos\"&&Y[0]===\"/\"){let ii=Y[1]!==void 0?\"|$\":\"\";A.output=A.output.slice(0,-(ie.output+O.output).length),ie.output=`(?:${ie.output}`,O.type=\"globstar\",O.output=`${$(t)}${h}|${h}${ii})`,O.value+=F,A.output+=ie.output+O.output,A.globstar=!0,Ne(F+ke()),Ae({type:\"slash\",value:\"/\",output:\"\"});continue}if(ie.type===\"bos\"&&Y[0]===\"/\"){O.type=\"globstar\",O.value+=F,O.output=`(?:^|${h}|${$(t)}${h})`,A.output=O.output,A.globstar=!0,Ne(F+ke()),Ae({type:\"slash\",value:\"/\",output:\"\"});continue}A.output=A.output.slice(0,-O.output.length),O.type=\"globstar\",O.output=$(t),O.value+=F,A.output+=O.output,A.globstar=!0,Ne(F);continue}let pe={type:\"star\",value:F,output:Z};if(t.bash===!0){pe.output=\".*?\",(O.type===\"bos\"||O.type===\"slash\")&&(pe.output=V+pe.output),Ae(pe);continue}if(O&&(O.type===\"bracket\"||O.type===\"paren\")&&t.regex===!0){pe.output=F,Ae(pe);continue}(A.index===A.start||O.type===\"slash\"||O.type===\"dot\")&&(O.type===\"dot\"?(A.output+=B,O.output+=B):t.dot===!0?(A.output+=v,O.output+=v):(A.output+=V,O.output+=V),he()!==\"*\"&&(A.output+=p,O.output+=p)),Ae(pe)}for(;A.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(rf(\"closing\",\"]\"));A.output=jn.escapeLast(A.output,\"[\"),fe(\"brackets\")}for(;A.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(rf(\"closing\",\")\"));A.output=jn.escapeLast(A.output,\"(\"),fe(\"parens\")}for(;A.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(rf(\"closing\",\"}\"));A.output=jn.escapeLast(A.output,\"{\"),fe(\"braces\")}if(t.strictSlashes!==!0&&(O.type===\"star\"||O.type===\"bracket\")&&Ae({type:\"maybe_slash\",value:\"\",output:`${h}?`}),A.backtrack===!0){A.output=\"\";for(let Y of A.tokens)A.output+=Y.output!=null?Y.output:Y.value,Y.suffix&&(A.output+=Y.suffix)}return A};hW.fastpaths=(r,e)=>{let t={...e},i=typeof t.maxLength==\"number\"?Math.min(Ry,t.maxLength):Ry,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);r=fW[r]||r;let s=jn.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=ky.globChars(s),C=t.dot?g:u,y=t.dot?f:u,B=t.capture?\"\":\"?:\",v={negated:!1,prefix:\"\"},D=t.bash===!0?\".*?\":h;t.capture&&(D=`(${D})`);let L=V=>V.noglobstar===!0?D:`(${B}(?:(?!${p}${V.dot?c:o}).)*?)`,H=V=>{switch(V){case\"*\":return`${C}${l}${D}`;case\".*\":return`${o}${l}${D}`;case\"*.*\":return`${C}${D}${o}${l}${D}`;case\"*/*\":return`${C}${D}${a}${l}${y}${D}`;case\"**\":return C+L(t);case\"**/*\":return`(?:${C}${L(t)}${a})?${y}${l}${D}`;case\"**/*.*\":return`(?:${C}${L(t)}${a})?${y}${D}${o}${l}${D}`;case\"**/.*\":return`(?:${C}${L(t)}${a})?${o}${l}${D}`;default:{let W=/^(.*?)\\.(\\w+)$/.exec(V);if(!W)return;let Z=H(W[1]);return Z?Z+o+W[2]:void 0}}},j=jn.removePrefix(r,v),$=H(j);return $&&t.strictSlashes!==!0&&($+=`${a}?`),$};pW.exports=hW});var mW=w((iet,CW)=>{\"use strict\";var oBe=J(\"path\"),aBe=gW(),Ix=dW(),yx=Rd(),ABe=kd(),lBe=r=>r&&typeof r==\"object\"&&!Array.isArray(r),Yr=(r,e,t=!1)=>{if(Array.isArray(r)){let u=r.map(f=>Yr(f,e,t));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=lBe(r)&&r.tokens&&r.input;if(r===\"\"||typeof r!=\"string\"&&!i)throw new TypeError(\"Expected pattern to be a non-empty string\");let n=e||{},s=yx.isWindows(e),o=i?Yr.compileRe(r,e):Yr.makeRe(r,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u={...e,ignore:null,onMatch:null,onResult:null};l=Yr(n.ignore,u,t)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=Yr.test(u,o,e,{glob:r,posix:s}),C={glob:r,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult==\"function\"&&n.onResult(C),f===!1?(C.isMatch=!1,g?C:!1):l(u)?(typeof n.onIgnore==\"function\"&&n.onIgnore(C),C.isMatch=!1,g?C:!1):(typeof n.onMatch==\"function\"&&n.onMatch(C),g?C:!0)};return t&&(c.state=a),c};Yr.test=(r,e,t,{glob:i,posix:n}={})=>{if(typeof r!=\"string\")throw new TypeError(\"Expected input to be a string\");if(r===\"\")return{isMatch:!1,output:\"\"};let s=t||{},o=s.format||(n?yx.toPosixSlashes:null),a=r===i,l=a&&o?o(r):r;return a===!1&&(l=o?o(r):r,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Yr.matchBase(r,e,t,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};Yr.matchBase=(r,e,t,i=yx.isWindows(t))=>(e instanceof RegExp?e:Yr.makeRe(e,t)).test(oBe.basename(r));Yr.isMatch=(r,e,t)=>Yr(e,t)(r);Yr.parse=(r,e)=>Array.isArray(r)?r.map(t=>Yr.parse(t,e)):Ix(r,{...e,fastpaths:!1});Yr.scan=(r,e)=>aBe(r,e);Yr.compileRe=(r,e,t=!1,i=!1)=>{if(t===!0)return r.output;let n=e||{},s=n.contains?\"\":\"^\",o=n.contains?\"\":\"$\",a=`${s}(?:${r.output})${o}`;r&&r.negated===!0&&(a=`^(?!${a}).*$`);let l=Yr.toRegex(a,e);return i===!0&&(l.state=r),l};Yr.makeRe=(r,e={},t=!1,i=!1)=>{if(!r||typeof r!=\"string\")throw new TypeError(\"Expected a non-empty string\");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(r[0]===\".\"||r[0]===\"*\")&&(n.output=Ix.fastpaths(r,e)),n.output||(n=Ix(r,e)),Yr.compileRe(n,e,t,i)};Yr.toRegex=(r,e)=>{try{let t=e||{};return new RegExp(r,t.flags||(t.nocase?\"i\":\"\"))}catch(t){if(e&&e.debug===!0)throw t;return/$^/}};Yr.constants=ABe;CW.exports=Yr});var wx=w((net,EW)=>{\"use strict\";EW.exports=mW()});var yn=w((set,BW)=>{\"use strict\";var yW=J(\"util\"),wW=$J(),Lo=wx(),Bx=Rd(),IW=r=>r===\"\"||r===\"./\",Sr=(r,e,t)=>{e=[].concat(e),r=[].concat(r);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),t&&t.onResult&&t.onResult(u)};for(let u=0;u<e.length;u++){let g=Lo(String(e[u]),{...t,onResult:a},!0),f=g.state.negated||g.state.negatedExtglob;f&&o++;for(let h of r){let p=g(h,!0);!(f?!p.isMatch:p.isMatch)||(f?i.add(p.output):(i.delete(p.output),n.add(p.output)))}}let c=(o===e.length?[...s]:[...n]).filter(u=>!i.has(u));if(t&&c.length===0){if(t.failglob===!0)throw new Error(`No matches found for \"${e.join(\", \")}\"`);if(t.nonull===!0||t.nullglob===!0)return t.unescape?e.map(u=>u.replace(/\\\\/g,\"\")):e}return c};Sr.match=Sr;Sr.matcher=(r,e)=>Lo(r,e);Sr.isMatch=(r,e,t)=>Lo(e,t)(r);Sr.any=Sr.isMatch;Sr.not=(r,e,t={})=>{e=[].concat(e).map(String);let i=new Set,n=[],o=Sr(r,e,{...t,onResult:a=>{t.onResult&&t.onResult(a),n.push(a.output)}});for(let a of n)o.includes(a)||i.add(a);return[...i]};Sr.contains=(r,e,t)=>{if(typeof r!=\"string\")throw new TypeError(`Expected a string: \"${yW.inspect(r)}\"`);if(Array.isArray(e))return e.some(i=>Sr.contains(r,i,t));if(typeof e==\"string\"){if(IW(r)||IW(e))return!1;if(r.includes(e)||r.startsWith(\"./\")&&r.slice(2).includes(e))return!0}return Sr.isMatch(r,e,{...t,contains:!0})};Sr.matchKeys=(r,e,t)=>{if(!Bx.isObject(r))throw new TypeError(\"Expected the first argument to be an object\");let i=Sr(Object.keys(r),e,t),n={};for(let s of i)n[s]=r[s];return n};Sr.some=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Lo(String(n),t);if(i.some(o=>s(o)))return!0}return!1};Sr.every=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Lo(String(n),t);if(!i.every(o=>s(o)))return!1}return!0};Sr.all=(r,e,t)=>{if(typeof r!=\"string\")throw new TypeError(`Expected a string: \"${yW.inspect(r)}\"`);return[].concat(e).every(i=>Lo(i,t)(r))};Sr.capture=(r,e,t)=>{let i=Bx.isWindows(t),s=Lo.makeRe(String(r),{...t,capture:!0}).exec(i?Bx.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?\"\":o)};Sr.makeRe=(...r)=>Lo.makeRe(...r);Sr.scan=(...r)=>Lo.scan(...r);Sr.parse=(r,e)=>{let t=[];for(let i of[].concat(r||[]))for(let n of wW(String(i),e))t.push(Lo.parse(n,e));return t};Sr.braces=(r,e)=>{if(typeof r!=\"string\")throw new TypeError(\"Expected a string\");return e&&e.nobrace===!0||!/\\{.*\\}/.test(r)?[r]:wW(r,e)};Sr.braceExpand=(r,e)=>{if(typeof r!=\"string\")throw new TypeError(\"Expected a string\");return Sr.braces(r,{...e,expand:!0})};BW.exports=Sr});var bW=w((oet,QW)=>{\"use strict\";QW.exports=({onlyFirst:r=!1}={})=>{let e=[\"[\\\\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(e,r?void 0:\"g\")}});var vW=w((aet,SW)=>{\"use strict\";var cBe=bW();SW.exports=r=>typeof r==\"string\"?r.replace(cBe(),\"\"):r});var HW=w((Eet,UW)=>{\"use strict\";UW.exports=(...r)=>[...new Set([].concat(...r))]});var Yx=w((Iet,jW)=>{\"use strict\";var BBe=J(\"stream\"),GW=BBe.PassThrough,QBe=Array.prototype.slice;jW.exports=bBe;function bBe(){let r=[],e=!1,t=QBe.call(arguments),i=t[t.length-1];i&&!Array.isArray(i)&&i.pipe==null?t.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=GW(i);function o(){for(let c=0,u=arguments.length;c<u;c++)r.push(YW(arguments[c],i));return a(),this}function a(){if(e)return;e=!0;let c=r.shift();if(!c){process.nextTick(l);return}Array.isArray(c)||(c=[c]);let u=c.length+1;function g(){--u>0||(e=!1,a())}function f(h){function p(){h.removeListener(\"merge2UnpipeEnd\",p),h.removeListener(\"end\",p),g()}if(h._readableState.endEmitted)return g();h.on(\"merge2UnpipeEnd\",p),h.on(\"end\",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h<c.length;h++)f(c[h]);g()}function l(){return e=!1,s.emit(\"queueDrain\"),n&&s.end()}return s.setMaxListeners(0),s.add=o,s.on(\"unpipe\",function(c){c.emit(\"merge2UnpipeEnd\")}),t.length&&o.apply(null,t),s}function YW(r,e){if(Array.isArray(r))for(let t=0,i=r.length;t<i;t++)r[t]=YW(r[t],e);else{if(!r._readableState&&r.pipe&&(r=r.pipe(GW(e))),!r._readableState||!r.pause||!r.pipe)throw new Error(\"Only readable stream can be merged.\");r.pause()}return r}});var qW=w(My=>{\"use strict\";Object.defineProperty(My,\"__esModule\",{value:!0});function SBe(r){return r.reduce((e,t)=>[].concat(e,t),[])}My.flatten=SBe;function vBe(r,e){let t=[[]],i=0;for(let n of r)e(n)?(i++,t[i]=[]):t[i].push(n);return t}My.splitWhen=vBe});var JW=w(jx=>{\"use strict\";Object.defineProperty(jx,\"__esModule\",{value:!0});function xBe(r){return r.code===\"ENOENT\"}jx.isEnoentCodeError=xBe});var WW=w(Jx=>{\"use strict\";Object.defineProperty(Jx,\"__esModule\",{value:!0});var qx=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function PBe(r,e){return new qx(r,e)}Jx.createDirentFromStats=PBe});var zW=w(uf=>{\"use strict\";Object.defineProperty(uf,\"__esModule\",{value:!0});var DBe=J(\"path\"),kBe=2,RBe=/(\\\\?)([()*?[\\]{|}]|^!|[!+@](?=\\())/g;function FBe(r){return r.replace(/\\\\/g,\"/\")}uf.unixify=FBe;function NBe(r,e){return DBe.resolve(r,e)}uf.makeAbsolute=NBe;function LBe(r){return r.replace(RBe,\"\\\\$2\")}uf.escape=LBe;function TBe(r){if(r.charAt(0)===\".\"){let e=r.charAt(1);if(e===\"/\"||e===\"\\\\\")return r.slice(kBe)}return r}uf.removeLeadingDotSegment=TBe});var XW=w((bet,VW)=>{VW.exports=function(e){if(typeof e!=\"string\"||e===\"\")return!1;for(var t;t=/(\\\\).|([@?!+*]\\(.*\\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}});var $W=w((vet,ZW)=>{var OBe=XW(),_W={\"{\":\"}\",\"(\":\")\",\"[\":\"]\"},MBe=function(r){if(r[0]===\"!\")return!0;for(var e=0,t=-2,i=-2,n=-2,s=-2,o=-2;e<r.length;){if(r[e]===\"*\"||r[e+1]===\"?\"&&/[\\].+)]/.test(r[e])||i!==-1&&r[e]===\"[\"&&r[e+1]!==\"]\"&&(i<e&&(i=r.indexOf(\"]\",e)),i>e&&(o===-1||o>i||(o=r.indexOf(\"\\\\\",e),o===-1||o>i)))||n!==-1&&r[e]===\"{\"&&r[e+1]!==\"}\"&&(n=r.indexOf(\"}\",e),n>e&&(o=r.indexOf(\"\\\\\",e),o===-1||o>n))||s!==-1&&r[e]===\"(\"&&r[e+1]===\"?\"&&/[:!=]/.test(r[e+2])&&r[e+3]!==\")\"&&(s=r.indexOf(\")\",e),s>e&&(o=r.indexOf(\"\\\\\",e),o===-1||o>s))||t!==-1&&r[e]===\"(\"&&r[e+1]!==\"|\"&&(t<e&&(t=r.indexOf(\"|\",e)),t!==-1&&r[t+1]!==\")\"&&(s=r.indexOf(\")\",t),s>t&&(o=r.indexOf(\"\\\\\",t),o===-1||o>s))))return!0;if(r[e]===\"\\\\\"){var a=r[e+1];e+=2;var l=_W[a];if(l){var c=r.indexOf(l,e);c!==-1&&(e=c+1)}if(r[e]===\"!\")return!0}else e++}return!1},KBe=function(r){if(r[0]===\"!\")return!0;for(var e=0;e<r.length;){if(/[*?{}()[\\]]/.test(r[e]))return!0;if(r[e]===\"\\\\\"){var t=r[e+1];e+=2;var i=_W[t];if(i){var n=r.indexOf(i,e);n!==-1&&(e=n+1)}if(r[e]===\"!\")return!0}else e++}return!1};ZW.exports=function(e,t){if(typeof e!=\"string\"||e===\"\")return!1;if(OBe(e))return!0;var i=MBe;return t&&t.strict===!1&&(i=KBe),i(e)}});var t3=w((xet,e3)=>{\"use strict\";var UBe=$W(),HBe=J(\"path\").posix.dirname,GBe=J(\"os\").platform()===\"win32\",Wx=\"/\",YBe=/\\\\/g,jBe=/[\\{\\[].*[\\}\\]]$/,qBe=/(^|[^\\\\])([\\{\\[]|\\([^\\)]+$)/,JBe=/\\\\([\\!\\*\\?\\|\\[\\]\\(\\)\\{\\}])/g;e3.exports=function(e,t){var i=Object.assign({flipBackslashes:!0},t);i.flipBackslashes&&GBe&&e.indexOf(Wx)<0&&(e=e.replace(YBe,Wx)),jBe.test(e)&&(e+=Wx),e+=\"a\";do e=HBe(e);while(UBe(e)||qBe.test(e));return e.replace(JBe,\"$1\")}});var c3=w($r=>{\"use strict\";Object.defineProperty($r,\"__esModule\",{value:!0});var WBe=J(\"path\"),zBe=t3(),r3=yn(),VBe=wx(),i3=\"**\",XBe=\"\\\\\",_Be=/[*?]|^!/,ZBe=/\\[.*]/,$Be=/(?:^|[^!*+?@])\\(.*\\|.*\\)/,e0e=/[!*+?@]\\(.*\\)/,t0e=/{.*(?:,|\\.\\.).*}/;function n3(r,e={}){return!s3(r,e)}$r.isStaticPattern=n3;function s3(r,e={}){return!!(e.caseSensitiveMatch===!1||r.includes(XBe)||_Be.test(r)||ZBe.test(r)||$Be.test(r)||e.extglob!==!1&&e0e.test(r)||e.braceExpansion!==!1&&t0e.test(r))}$r.isDynamicPattern=s3;function r0e(r){return Ky(r)?r.slice(1):r}$r.convertToPositivePattern=r0e;function i0e(r){return\"!\"+r}$r.convertToNegativePattern=i0e;function Ky(r){return r.startsWith(\"!\")&&r[1]!==\"(\"}$r.isNegativePattern=Ky;function o3(r){return!Ky(r)}$r.isPositivePattern=o3;function n0e(r){return r.filter(Ky)}$r.getNegativePatterns=n0e;function s0e(r){return r.filter(o3)}$r.getPositivePatterns=s0e;function o0e(r){return zBe(r,{flipBackslashes:!1})}$r.getBaseDirectory=o0e;function a0e(r){return r.includes(i3)}$r.hasGlobStar=a0e;function a3(r){return r.endsWith(\"/\"+i3)}$r.endsWithSlashGlobStar=a3;function A0e(r){let e=WBe.basename(r);return a3(r)||n3(e)}$r.isAffectDepthOfReadingPattern=A0e;function l0e(r){return r.reduce((e,t)=>e.concat(A3(t)),[])}$r.expandPatternsWithBraceExpansion=l0e;function A3(r){return r3.braces(r,{expand:!0,nodupes:!0})}$r.expandBraceExpansion=A3;function c0e(r,e){let t=VBe.scan(r,Object.assign(Object.assign({},e),{parts:!0}));return t.parts.length===0?[r]:t.parts}$r.getPatternParts=c0e;function l3(r,e){return r3.makeRe(r,e)}$r.makeRe=l3;function u0e(r,e){return r.map(t=>l3(t,e))}$r.convertPatternsToRe=u0e;function g0e(r,e){return e.some(t=>t.test(r))}$r.matchAny=g0e});var g3=w(zx=>{\"use strict\";Object.defineProperty(zx,\"__esModule\",{value:!0});var f0e=Yx();function h0e(r){let e=f0e(r);return r.forEach(t=>{t.once(\"error\",i=>e.emit(\"error\",i))}),e.once(\"close\",()=>u3(r)),e.once(\"end\",()=>u3(r)),e}zx.merge=h0e;function u3(r){r.forEach(e=>e.emit(\"close\"))}});var f3=w(Uy=>{\"use strict\";Object.defineProperty(Uy,\"__esModule\",{value:!0});function p0e(r){return typeof r==\"string\"}Uy.isString=p0e;function d0e(r){return r===\"\"}Uy.isEmpty=d0e});var Da=w(Pa=>{\"use strict\";Object.defineProperty(Pa,\"__esModule\",{value:!0});var C0e=qW();Pa.array=C0e;var m0e=JW();Pa.errno=m0e;var E0e=WW();Pa.fs=E0e;var I0e=zW();Pa.path=I0e;var y0e=c3();Pa.pattern=y0e;var w0e=g3();Pa.stream=w0e;var B0e=f3();Pa.string=B0e});var m3=w(ka=>{\"use strict\";Object.defineProperty(ka,\"__esModule\",{value:!0});var uc=Da();function Q0e(r,e){let t=h3(r),i=p3(r,e.ignore),n=t.filter(l=>uc.pattern.isStaticPattern(l,e)),s=t.filter(l=>uc.pattern.isDynamicPattern(l,e)),o=Vx(n,i,!1),a=Vx(s,i,!0);return o.concat(a)}ka.generate=Q0e;function Vx(r,e,t){let i=d3(r);return\".\"in i?[Xx(\".\",r,e,t)]:C3(i,e,t)}ka.convertPatternsToTasks=Vx;function h3(r){return uc.pattern.getPositivePatterns(r)}ka.getPositivePatterns=h3;function p3(r,e){return uc.pattern.getNegativePatterns(r).concat(e).map(uc.pattern.convertToPositivePattern)}ka.getNegativePatternsAsPositive=p3;function d3(r){let e={};return r.reduce((t,i)=>{let n=uc.pattern.getBaseDirectory(i);return n in t?t[n].push(i):t[n]=[i],t},e)}ka.groupPatternsByBaseDirectory=d3;function C3(r,e,t){return Object.keys(r).map(i=>Xx(i,r[i],e,t))}ka.convertPatternGroupsToTasks=C3;function Xx(r,e,t,i){return{dynamic:i,positive:e,negative:t,base:r,patterns:[].concat(e,t.map(uc.pattern.convertToNegativePattern))}}ka.convertPatternGroupToTask=Xx});var I3=w(Hy=>{\"use strict\";Object.defineProperty(Hy,\"__esModule\",{value:!0});Hy.read=void 0;function b0e(r,e,t){e.fs.lstat(r,(i,n)=>{if(i!==null){E3(t,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){_x(t,n);return}e.fs.stat(r,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){E3(t,s);return}_x(t,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),_x(t,o)})})}Hy.read=b0e;function E3(r,e){r(e)}function _x(r,e){r(null,e)}});var y3=w(Gy=>{\"use strict\";Object.defineProperty(Gy,\"__esModule\",{value:!0});Gy.read=void 0;function S0e(r,e){let t=e.fs.lstatSync(r);if(!t.isSymbolicLink()||!e.followSymbolicLink)return t;try{let i=e.fs.statSync(r);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return t;throw i}}Gy.read=S0e});var w3=w(kA=>{\"use strict\";Object.defineProperty(kA,\"__esModule\",{value:!0});kA.createFileSystemAdapter=kA.FILE_SYSTEM_ADAPTER=void 0;var Yy=J(\"fs\");kA.FILE_SYSTEM_ADAPTER={lstat:Yy.lstat,stat:Yy.stat,lstatSync:Yy.lstatSync,statSync:Yy.statSync};function v0e(r){return r===void 0?kA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},kA.FILE_SYSTEM_ADAPTER),r)}kA.createFileSystemAdapter=v0e});var B3=w($x=>{\"use strict\";Object.defineProperty($x,\"__esModule\",{value:!0});var x0e=w3(),Zx=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=x0e.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,t){return e!=null?e:t}};$x.default=Zx});var gc=w(RA=>{\"use strict\";Object.defineProperty(RA,\"__esModule\",{value:!0});RA.statSync=RA.stat=RA.Settings=void 0;var Q3=I3(),P0e=y3(),eP=B3();RA.Settings=eP.default;function D0e(r,e,t){if(typeof e==\"function\"){Q3.read(r,tP(),e);return}Q3.read(r,tP(e),t)}RA.stat=D0e;function k0e(r,e){let t=tP(e);return P0e.read(r,t)}RA.statSync=k0e;function tP(r={}){return r instanceof eP.default?r:new eP.default(r)}});var S3=w((Ket,b3)=>{b3.exports=R0e;function R0e(r,e){var t,i,n,s=!0;Array.isArray(r)?(t=[],i=r.length):(n=Object.keys(r),t={},i=n.length);function o(l){function c(){e&&e(l,t),e=null}s?process.nextTick(c):c()}function a(l,c,u){t[l]=u,(--i===0||c)&&o(c)}i?n?n.forEach(function(l){r[l](function(c,u){a(l,c,u)})}):r.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var rP=w(qy=>{\"use strict\";Object.defineProperty(qy,\"__esModule\",{value:!0});qy.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var jy=process.versions.node.split(\".\");if(jy[0]===void 0||jy[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var v3=Number.parseInt(jy[0],10),F0e=Number.parseInt(jy[1],10),x3=10,N0e=10,L0e=v3>x3,T0e=v3===x3&&F0e>=N0e;qy.IS_SUPPORT_READDIR_WITH_FILE_TYPES=L0e||T0e});var P3=w(Jy=>{\"use strict\";Object.defineProperty(Jy,\"__esModule\",{value:!0});Jy.createDirentFromStats=void 0;var iP=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function O0e(r,e){return new iP(r,e)}Jy.createDirentFromStats=O0e});var nP=w(Wy=>{\"use strict\";Object.defineProperty(Wy,\"__esModule\",{value:!0});Wy.fs=void 0;var M0e=P3();Wy.fs=M0e});var sP=w(zy=>{\"use strict\";Object.defineProperty(zy,\"__esModule\",{value:!0});zy.joinPathSegments=void 0;function K0e(r,e,t){return r.endsWith(t)?r+e:r+t+e}zy.joinPathSegments=K0e});var L3=w(FA=>{\"use strict\";Object.defineProperty(FA,\"__esModule\",{value:!0});FA.readdir=FA.readdirWithFileTypes=FA.read=void 0;var U0e=gc(),D3=S3(),H0e=rP(),k3=nP(),R3=sP();function G0e(r,e,t){if(!e.stats&&H0e.IS_SUPPORT_READDIR_WITH_FILE_TYPES){F3(r,e,t);return}N3(r,e,t)}FA.read=G0e;function F3(r,e,t){e.fs.readdir(r,{withFileTypes:!0},(i,n)=>{if(i!==null){Vy(t,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:R3.joinPathSegments(r,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){oP(t,s);return}let o=s.map(a=>Y0e(a,e));D3(o,(a,l)=>{if(a!==null){Vy(t,a);return}oP(t,l)})})}FA.readdirWithFileTypes=F3;function Y0e(r,e){return t=>{if(!r.dirent.isSymbolicLink()){t(null,r);return}e.fs.stat(r.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){t(i);return}t(null,r);return}r.dirent=k3.fs.createDirentFromStats(r.name,n),t(null,r)})}}function N3(r,e,t){e.fs.readdir(r,(i,n)=>{if(i!==null){Vy(t,i);return}let s=n.map(o=>{let a=R3.joinPathSegments(r,o,e.pathSegmentSeparator);return l=>{U0e.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:k3.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});D3(s,(o,a)=>{if(o!==null){Vy(t,o);return}oP(t,a)})})}FA.readdir=N3;function Vy(r,e){r(e)}function oP(r,e){r(null,e)}});var U3=w(NA=>{\"use strict\";Object.defineProperty(NA,\"__esModule\",{value:!0});NA.readdir=NA.readdirWithFileTypes=NA.read=void 0;var j0e=gc(),q0e=rP(),T3=nP(),O3=sP();function J0e(r,e){return!e.stats&&q0e.IS_SUPPORT_READDIR_WITH_FILE_TYPES?M3(r,e):K3(r,e)}NA.read=J0e;function M3(r,e){return e.fs.readdirSync(r,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:O3.joinPathSegments(r,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=T3.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}NA.readdirWithFileTypes=M3;function K3(r,e){return e.fs.readdirSync(r).map(i=>{let n=O3.joinPathSegments(r,i,e.pathSegmentSeparator),s=j0e.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:T3.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}NA.readdir=K3});var H3=w(LA=>{\"use strict\";Object.defineProperty(LA,\"__esModule\",{value:!0});LA.createFileSystemAdapter=LA.FILE_SYSTEM_ADAPTER=void 0;var gf=J(\"fs\");LA.FILE_SYSTEM_ADAPTER={lstat:gf.lstat,stat:gf.stat,lstatSync:gf.lstatSync,statSync:gf.statSync,readdir:gf.readdir,readdirSync:gf.readdirSync};function W0e(r){return r===void 0?LA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},LA.FILE_SYSTEM_ADAPTER),r)}LA.createFileSystemAdapter=W0e});var G3=w(AP=>{\"use strict\";Object.defineProperty(AP,\"__esModule\",{value:!0});var z0e=J(\"path\"),V0e=gc(),X0e=H3(),aP=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=X0e.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,z0e.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new V0e.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};AP.default=aP});var Xy=w(TA=>{\"use strict\";Object.defineProperty(TA,\"__esModule\",{value:!0});TA.Settings=TA.scandirSync=TA.scandir=void 0;var Y3=L3(),_0e=U3(),lP=G3();TA.Settings=lP.default;function Z0e(r,e,t){if(typeof e==\"function\"){Y3.read(r,cP(),e);return}Y3.read(r,cP(e),t)}TA.scandir=Z0e;function $0e(r,e){let t=cP(e);return _0e.read(r,t)}TA.scandirSync=$0e;function cP(r={}){return r instanceof lP.default?r:new lP.default(r)}});var q3=w((Vet,j3)=>{\"use strict\";function eQe(r){var e=new r,t=e;function i(){var s=e;return s.next?e=s.next:(e=new r,t=e),s.next=null,s}function n(s){t.next=s,t=s}return{get:i,release:n}}j3.exports=eQe});var W3=w((Xet,uP)=>{\"use strict\";var tQe=q3();function J3(r,e,t){if(typeof r==\"function\"&&(t=e,e=r,r=null),t<1)throw new Error(\"fastqueue concurrency must be greater than 1\");var i=tQe(rQe),n=null,s=null,o=0,a=null,l={push:C,drain:ps,saturated:ps,pause:u,paused:!1,concurrency:t,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:y,empty:ps,kill:v,killAndDrain:D,error:L};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var H=n,j=0;H;)H=H.next,j++;return j}function f(){for(var H=n,j=[];H;)j.push(H.value),H=H.next;return j}function h(){if(!!l.paused){l.paused=!1;for(var H=0;H<l.concurrency;H++)o++,B()}}function p(){return o===0&&l.length()===0}function C(H,j){var $=i.get();$.context=r,$.release=B,$.value=H,$.callback=j||ps,$.errorHandler=a,o===l.concurrency||l.paused?s?(s.next=$,s=$):(n=$,s=$,l.saturated()):(o++,e.call(r,$.value,$.worked))}function y(H,j){var $=i.get();$.context=r,$.release=B,$.value=H,$.callback=j||ps,o===l.concurrency||l.paused?n?($.next=n,n=$):(n=$,s=$,l.saturated()):(o++,e.call(r,$.value,$.worked))}function B(H){H&&i.release(H);var j=n;j?l.paused?o--:(s===n&&(s=null),n=j.next,j.next=null,e.call(r,j.value,j.worked),s===null&&l.empty()):--o===0&&l.drain()}function v(){n=null,s=null,l.drain=ps}function D(){n=null,s=null,l.drain(),l.drain=ps}function L(H){a=H}}function ps(){}function rQe(){this.value=null,this.callback=ps,this.next=null,this.release=ps,this.context=null,this.errorHandler=null;var r=this;this.worked=function(t,i){var n=r.callback,s=r.errorHandler,o=r.value;r.value=null,r.callback=ps,r.errorHandler&&s(t,o),n.call(r.context,t,i),r.release(r)}}function iQe(r,e,t){typeof r==\"function\"&&(t=e,e=r,r=null);function i(u,g){e.call(this,u).then(function(f){g(null,f)},g)}var n=J3(r,i,t),s=n.push,o=n.unshift;return n.push=a,n.unshift=l,n.drained=c,n;function a(u){var g=new Promise(function(f,h){s(u,function(p,C){if(p){h(p);return}f(C)})});return g.catch(ps),g}function l(u){var g=new Promise(function(f,h){o(u,function(p,C){if(p){h(p);return}f(C)})});return g.catch(ps),g}function c(){var u=n.drain,g=new Promise(function(f){n.drain=function(){u(),f()}});return g}}uP.exports=J3;uP.exports.promise=iQe});var _y=w(Mo=>{\"use strict\";Object.defineProperty(Mo,\"__esModule\",{value:!0});Mo.joinPathSegments=Mo.replacePathSegmentSeparator=Mo.isAppliedFilter=Mo.isFatalError=void 0;function nQe(r,e){return r.errorFilter===null?!0:!r.errorFilter(e)}Mo.isFatalError=nQe;function sQe(r,e){return r===null||r(e)}Mo.isAppliedFilter=sQe;function oQe(r,e){return r.split(/[/\\\\]/).join(e)}Mo.replacePathSegmentSeparator=oQe;function aQe(r,e,t){return r===\"\"?e:r.endsWith(t)?r+e:r+t+e}Mo.joinPathSegments=aQe});var hP=w(fP=>{\"use strict\";Object.defineProperty(fP,\"__esModule\",{value:!0});var AQe=_y(),gP=class{constructor(e,t){this._root=e,this._settings=t,this._root=AQe.replacePathSegmentSeparator(e,t.pathSegmentSeparator)}};fP.default=gP});var CP=w(dP=>{\"use strict\";Object.defineProperty(dP,\"__esModule\",{value:!0});var lQe=J(\"events\"),cQe=Xy(),uQe=W3(),Zy=_y(),gQe=hP(),pP=class extends gQe.default{constructor(e,t){super(e,t),this._settings=t,this._scandir=cQe.scandir,this._emitter=new lQe.EventEmitter,this._queue=uQe(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit(\"end\")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error(\"The reader is already destroyed\");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on(\"entry\",e)}onError(e){this._emitter.once(\"error\",e)}onEnd(e){this._emitter.once(\"end\",e)}_pushToQueue(e,t){let i={directory:e,base:t};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,t){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){t(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);t(null,void 0)})}_handleError(e){this._isDestroyed||!Zy.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit(\"error\",e))}_handleEntry(e,t){if(this._isDestroyed||this._isFatalError)return;let i=e.path;t!==void 0&&(e.path=Zy.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),Zy.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&Zy.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit(\"entry\",e)}};dP.default=pP});var z3=w(EP=>{\"use strict\";Object.defineProperty(EP,\"__esModule\",{value:!0});var fQe=CP(),mP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new fQe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(t=>{hQe(e,t)}),this._reader.onEntry(t=>{this._storage.add(t)}),this._reader.onEnd(()=>{pQe(e,[...this._storage])}),this._reader.read()}};EP.default=mP;function hQe(r,e){r(e)}function pQe(r,e){r(null,e)}});var V3=w(yP=>{\"use strict\";Object.defineProperty(yP,\"__esModule\",{value:!0});var dQe=J(\"stream\"),CQe=CP(),IP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new CQe.default(this._root,this._settings),this._stream=new dQe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit(\"error\",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};yP.default=IP});var X3=w(BP=>{\"use strict\";Object.defineProperty(BP,\"__esModule\",{value:!0});var mQe=Xy(),$y=_y(),EQe=hP(),wP=class extends EQe.default{constructor(){super(...arguments),this._scandir=mQe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,t){this._queue.add({directory:e,base:t})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,t){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,t)}catch(i){this._handleError(i)}}_handleError(e){if(!!$y.isFatalError(this._settings,e))throw e}_handleEntry(e,t){let i=e.path;t!==void 0&&(e.path=$y.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),$y.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&$y.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};BP.default=wP});var _3=w(bP=>{\"use strict\";Object.defineProperty(bP,\"__esModule\",{value:!0});var IQe=X3(),QP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new IQe.default(this._root,this._settings)}read(){return this._reader.read()}};bP.default=QP});var Z3=w(vP=>{\"use strict\";Object.defineProperty(vP,\"__esModule\",{value:!0});var yQe=J(\"path\"),wQe=Xy(),SP=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,yQe.sep),this.fsScandirSettings=new wQe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};vP.default=SP});var PP=w(Ko=>{\"use strict\";Object.defineProperty(Ko,\"__esModule\",{value:!0});Ko.Settings=Ko.walkStream=Ko.walkSync=Ko.walk=void 0;var $3=z3(),BQe=V3(),QQe=_3(),xP=Z3();Ko.Settings=xP.default;function bQe(r,e,t){if(typeof e==\"function\"){new $3.default(r,ew()).read(e);return}new $3.default(r,ew(e)).read(t)}Ko.walk=bQe;function SQe(r,e){let t=ew(e);return new QQe.default(r,t).read()}Ko.walkSync=SQe;function vQe(r,e){let t=ew(e);return new BQe.default(r,t).read()}Ko.walkStream=vQe;function ew(r={}){return r instanceof xP.default?r:new xP.default(r)}});var RP=w(kP=>{\"use strict\";Object.defineProperty(kP,\"__esModule\",{value:!0});var xQe=J(\"path\"),PQe=gc(),e4=Da(),DP=class{constructor(e){this._settings=e,this._fsStatSettings=new PQe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return xQe.resolve(this._settings.cwd,e)}_makeEntry(e,t){let i={name:t,path:t,dirent:e4.fs.createDirentFromStats(t,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!e4.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};kP.default=DP});var LP=w(NP=>{\"use strict\";Object.defineProperty(NP,\"__esModule\",{value:!0});var DQe=J(\"stream\"),kQe=gc(),RQe=PP(),FQe=RP(),FP=class extends FQe.default{constructor(){super(...arguments),this._walkStream=RQe.walkStream,this._stat=kQe.stat}dynamic(e,t){return this._walkStream(e,t)}static(e,t){let i=e.map(this._getFullEntryPath,this),n=new DQe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],t).then(l=>{l!==null&&t.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;s<i.length;s++)n.write(s);return n}_getEntry(e,t,i){return this._getStat(e).then(n=>this._makeEntry(n,t)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((t,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?t(s):i(n))})}};NP.default=FP});var t4=w(OP=>{\"use strict\";Object.defineProperty(OP,\"__esModule\",{value:!0});var ff=Da(),TP=class{constructor(e,t,i){this._patterns=e,this._settings=t,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=ff.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let t of e){let i=this._getPatternSegments(t),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:t,segments:i,sections:n})}}_getPatternSegments(e){return ff.pattern.getPatternParts(e,this._micromatchOptions).map(i=>ff.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:ff.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return ff.array.splitWhen(e,t=>t.dynamic&&ff.pattern.hasGlobStar(t.pattern))}};OP.default=TP});var r4=w(KP=>{\"use strict\";Object.defineProperty(KP,\"__esModule\",{value:!0});var NQe=t4(),MP=class extends NQe.default{match(e){let t=e.split(\"/\"),i=t.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||t.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};KP.default=MP});var i4=w(HP=>{\"use strict\";Object.defineProperty(HP,\"__esModule\",{value:!0});var tw=Da(),LQe=r4(),UP=class{constructor(e,t){this._settings=e,this._micromatchOptions=t}getFilter(e,t,i){let n=this._getMatcher(t),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new LQe.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let t=e.filter(tw.pattern.isAffectDepthOfReadingPattern);return tw.pattern.convertPatternsToRe(t,this._micromatchOptions)}_filter(e,t,i,n){let s=this._getEntryLevel(e,t.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(t))return!1;let o=tw.path.removeLeadingDotSegment(t.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,t){let i=e.split(\"/\").length;return t.split(\"/\").length-(e===\"\"?0:i)}_isSkippedByPositivePatterns(e,t){return!this._settings.baseNameMatch&&!t.match(e)}_isSkippedByNegativePatterns(e,t){return!tw.pattern.matchAny(e,t)}};HP.default=UP});var n4=w(YP=>{\"use strict\";Object.defineProperty(YP,\"__esModule\",{value:!0});var Ud=Da(),GP=class{constructor(e,t){this._settings=e,this._micromatchOptions=t,this.index=new Map}getFilter(e,t){let i=Ud.pattern.convertPatternsToRe(e,this._micromatchOptions),n=Ud.pattern.convertPatternsToRe(t,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,t,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,t)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,t){if(!this._settings.absolute)return!1;let i=Ud.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,t)}_isMatchToPatterns(e,t){let i=Ud.path.removeLeadingDotSegment(e);return Ud.pattern.matchAny(i,t)}};YP.default=GP});var s4=w(qP=>{\"use strict\";Object.defineProperty(qP,\"__esModule\",{value:!0});var TQe=Da(),jP=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return TQe.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};qP.default=jP});var a4=w(WP=>{\"use strict\";Object.defineProperty(WP,\"__esModule\",{value:!0});var o4=Da(),JP=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let t=e.path;return this._settings.absolute&&(t=o4.path.makeAbsolute(this._settings.cwd,t),t=o4.path.unixify(t)),this._settings.markDirectories&&e.dirent.isDirectory()&&(t+=\"/\"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:t}):t}};WP.default=JP});var rw=w(VP=>{\"use strict\";Object.defineProperty(VP,\"__esModule\",{value:!0});var OQe=J(\"path\"),MQe=i4(),KQe=n4(),UQe=s4(),HQe=a4(),zP=class{constructor(e){this._settings=e,this.errorFilter=new UQe.default(this._settings),this.entryFilter=new KQe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new MQe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new HQe.default(this._settings)}_getRootDirectory(e){return OQe.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let t=e.base===\".\"?\"\":e.base;return{basePath:t,pathSegmentSeparator:\"/\",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(t,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};VP.default=zP});var A4=w(_P=>{\"use strict\";Object.defineProperty(_P,\"__esModule\",{value:!0});var GQe=LP(),YQe=rw(),XP=class extends YQe.default{constructor(){super(...arguments),this._reader=new GQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(t,e,i);a.once(\"error\",o),a.on(\"data\",l=>n.push(i.transform(l))),a.once(\"end\",()=>s(n))})}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};_P.default=XP});var l4=w($P=>{\"use strict\";Object.defineProperty($P,\"__esModule\",{value:!0});var jQe=J(\"stream\"),qQe=LP(),JQe=rw(),ZP=class extends JQe.default{constructor(){super(...arguments),this._reader=new qQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(t,e,i),s=new jQe.Readable({objectMode:!0,read:()=>{}});return n.once(\"error\",o=>s.emit(\"error\",o)).on(\"data\",o=>s.emit(\"data\",i.transform(o))).once(\"end\",()=>s.emit(\"end\")),s.once(\"close\",()=>n.destroy()),s}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};$P.default=ZP});var c4=w(tD=>{\"use strict\";Object.defineProperty(tD,\"__esModule\",{value:!0});var WQe=gc(),zQe=PP(),VQe=RP(),eD=class extends VQe.default{constructor(){super(...arguments),this._walkSync=zQe.walkSync,this._statSync=WQe.statSync}dynamic(e,t){return this._walkSync(e,t)}static(e,t){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,t);o===null||!t.entryFilter(o)||i.push(o)}return i}_getEntry(e,t,i){try{let n=this._getStat(e);return this._makeEntry(n,t)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};tD.default=eD});var u4=w(iD=>{\"use strict\";Object.defineProperty(iD,\"__esModule\",{value:!0});var XQe=c4(),_Qe=rw(),rD=class extends _Qe.default{constructor(){super(...arguments),this._reader=new XQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(t,e,i).map(i.transform)}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};iD.default=rD});var g4=w(Hd=>{\"use strict\";Object.defineProperty(Hd,\"__esModule\",{value:!0});var hf=J(\"fs\"),ZQe=J(\"os\"),$Qe=ZQe.cpus().length;Hd.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:hf.lstat,lstatSync:hf.lstatSync,stat:hf.stat,statSync:hf.statSync,readdir:hf.readdir,readdirSync:hf.readdirSync};var nD=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,$Qe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,t){return e===void 0?t:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},Hd.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};Hd.default=nD});var iw=w((Itt,h4)=>{\"use strict\";var f4=m3(),ebe=A4(),tbe=l4(),rbe=u4(),sD=g4(),fc=Da();async function oD(r,e){pf(r);let t=aD(r,ebe.default,e),i=await Promise.all(t);return fc.array.flatten(i)}(function(r){function e(o,a){pf(o);let l=aD(o,rbe.default,a);return fc.array.flatten(l)}r.sync=e;function t(o,a){pf(o);let l=aD(o,tbe.default,a);return fc.stream.merge(l)}r.stream=t;function i(o,a){pf(o);let l=[].concat(o),c=new sD.default(a);return f4.generate(l,c)}r.generateTasks=i;function n(o,a){pf(o);let l=new sD.default(a);return fc.pattern.isDynamicPattern(o,l)}r.isDynamicPattern=n;function s(o){return pf(o),fc.path.escape(o)}r.escapePath=s})(oD||(oD={}));function aD(r,e,t){let i=[].concat(r),n=new sD.default(t),s=f4.generate(i,n),o=new e(n);return s.map(o.read,o)}function pf(r){if(![].concat(r).every(i=>fc.string.isString(i)&&!fc.string.isEmpty(i)))throw new TypeError(\"Patterns must be a string (non empty) or an array of strings\")}h4.exports=oD});var d4=w(hc=>{\"use strict\";var{promisify:ibe}=J(\"util\"),p4=J(\"fs\");async function AD(r,e,t){if(typeof t!=\"string\")throw new TypeError(`Expected a string, got ${typeof t}`);try{return(await ibe(p4[r])(t))[e]()}catch(i){if(i.code===\"ENOENT\")return!1;throw i}}function lD(r,e,t){if(typeof t!=\"string\")throw new TypeError(`Expected a string, got ${typeof t}`);try{return p4[r](t)[e]()}catch(i){if(i.code===\"ENOENT\")return!1;throw i}}hc.isFile=AD.bind(null,\"stat\",\"isFile\");hc.isDirectory=AD.bind(null,\"stat\",\"isDirectory\");hc.isSymlink=AD.bind(null,\"lstat\",\"isSymbolicLink\");hc.isFileSync=lD.bind(null,\"statSync\",\"isFile\");hc.isDirectorySync=lD.bind(null,\"statSync\",\"isDirectory\");hc.isSymlinkSync=lD.bind(null,\"lstatSync\",\"isSymbolicLink\")});var y4=w((wtt,cD)=>{\"use strict\";var pc=J(\"path\"),C4=d4(),m4=r=>r.length>1?`{${r.join(\",\")}}`:r[0],E4=(r,e)=>{let t=r[0]===\"!\"?r.slice(1):r;return pc.isAbsolute(t)?t:pc.join(e,t)},nbe=(r,e)=>pc.extname(r)?`**/${r}`:`**/${r}.${m4(e)}`,I4=(r,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \\`files\\` to be of type \\`Array\\` but received type \\`${typeof e.files}\\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \\`extensions\\` to be of type \\`Array\\` but received type \\`${typeof e.extensions}\\``);return e.files&&e.extensions?e.files.map(t=>pc.posix.join(r,nbe(t,e.extensions))):e.files?e.files.map(t=>pc.posix.join(r,`**/${t}`)):e.extensions?[pc.posix.join(r,`**/*.${m4(e.extensions)}`)]:[pc.posix.join(r,\"**\")]};cD.exports=async(r,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!=\"string\")throw new TypeError(`Expected \\`cwd\\` to be of type \\`string\\` but received type \\`${typeof e.cwd}\\``);let t=await Promise.all([].concat(r).map(async i=>await C4.isDirectory(E4(i,e.cwd))?I4(i,e):i));return[].concat.apply([],t)};cD.exports.sync=(r,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!=\"string\")throw new TypeError(`Expected \\`cwd\\` to be of type \\`string\\` but received type \\`${typeof e.cwd}\\``);let t=[].concat(r).map(i=>C4.isDirectorySync(E4(i,e.cwd))?I4(i,e):i);return[].concat.apply([],t)}});var P4=w((Btt,x4)=>{function w4(r){return Array.isArray(r)?r:[r]}var S4=\"\",B4=\" \",uD=\"\\\\\",sbe=/^\\s+$/,obe=/^\\\\!/,abe=/^\\\\#/,Abe=/\\r?\\n/g,lbe=/^\\.*\\/|^\\.+$/,gD=\"/\",Q4=typeof Symbol<\"u\"?Symbol.for(\"node-ignore\"):\"node-ignore\",cbe=(r,e,t)=>Object.defineProperty(r,e,{value:t}),ube=/([0-z])-([0-z])/g,gbe=r=>r.replace(ube,(e,t,i)=>t.charCodeAt(0)<=i.charCodeAt(0)?e:S4),fbe=r=>{let{length:e}=r;return r.slice(0,e-e%2)},hbe=[[/\\\\?\\s+$/,r=>r.indexOf(\"\\\\\")===0?B4:S4],[/\\\\\\s/g,()=>B4],[/[\\\\$.|*+(){^]/g,r=>`\\\\${r}`],[/(?!\\\\)\\?/g,()=>\"[^/]\"],[/^\\//,()=>\"^\"],[/\\//g,()=>\"\\\\/\"],[/^\\^*\\\\\\*\\\\\\*\\\\\\//,()=>\"^(?:.*\\\\/)?\"],[/^(?=[^^])/,function(){return/\\/(?!$)/.test(this)?\"^\":\"(?:^|\\\\/)\"}],[/\\\\\\/\\\\\\*\\\\\\*(?=\\\\\\/|$)/g,(r,e,t)=>e+6<t.length?\"(?:\\\\/[^\\\\/]+)*\":\"\\\\/.+\"],[/(^|[^\\\\]+)\\\\\\*(?=.+)/g,(r,e)=>`${e}[^\\\\/]*`],[/\\\\\\\\\\\\(?=[$.|*+(){^])/g,()=>uD],[/\\\\\\\\/g,()=>uD],[/(\\\\)?\\[([^\\]/]*?)(\\\\*)($|\\])/g,(r,e,t,i,n)=>e===uD?`\\\\[${t}${fbe(i)}${n}`:n===\"]\"&&i.length%2===0?`[${gbe(t)}${i}]`:\"[]\"],[/(?:[^*])$/,r=>/\\/$/.test(r)?`${r}$`:`${r}(?=$|\\\\/$)`],[/(\\^|\\\\\\/)?\\\\\\*$/,(r,e)=>`${e?`${e}[^/]+`:\"[^/]*\"}(?=$|\\\\/$)`]],b4=Object.create(null),pbe=(r,e)=>{let t=b4[r];return t||(t=hbe.reduce((i,n)=>i.replace(n[0],n[1].bind(r)),r),b4[r]=t),e?new RegExp(t,\"i\"):new RegExp(t)},pD=r=>typeof r==\"string\",dbe=r=>r&&pD(r)&&!sbe.test(r)&&r.indexOf(\"#\")!==0,Cbe=r=>r.split(Abe),fD=class{constructor(e,t,i,n){this.origin=e,this.pattern=t,this.negative=i,this.regex=n}},mbe=(r,e)=>{let t=r,i=!1;r.indexOf(\"!\")===0&&(i=!0,r=r.substr(1)),r=r.replace(obe,\"!\").replace(abe,\"#\");let n=pbe(r,e);return new fD(t,r,i,n)},Ebe=(r,e)=>{throw new e(r)},Ra=(r,e,t)=>pD(r)?r?Ra.isNotRelative(r)?t(`path should be a \\`path.relative()\\`d string, but got \"${e}\"`,RangeError):!0:t(\"path must not be empty\",TypeError):t(`path must be a string, but got \\`${e}\\``,TypeError),v4=r=>lbe.test(r);Ra.isNotRelative=v4;Ra.convert=r=>r;var hD=class{constructor({ignorecase:e=!0}={}){cbe(this,Q4,!0),this._rules=[],this._ignorecase=e,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[Q4]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(dbe(e)){let t=mbe(e,this._ignorecase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,w4(pD(e)?Cbe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!t)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,t,i,n){let s=e&&Ra.convert(e);return Ra(s,e,Ebe),this._t(s,t,i,n)}_t(e,t,i,n){if(e in t)return t[e];if(n||(n=e.split(gD)),n.pop(),!n.length)return t[e]=this._testOne(e,i);let s=this._t(n.join(gD)+gD,t,i,n);return t[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return w4(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},nw=r=>new hD(r),Ibe=()=>!1,ybe=r=>Ra(r&&Ra.convert(r),r,Ibe);nw.isPathValid=ybe;nw.default=nw;x4.exports=nw;if(typeof process<\"u\"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform===\"win32\")){let r=t=>/^\\\\\\\\\\?\\\\/.test(t)||/[\"<>|\\u0000-\\u001F]+/u.test(t)?t:t.replace(/\\\\/g,\"/\");Ra.convert=r;let e=/^[a-z]:\\//i;Ra.isNotRelative=t=>e.test(t)||v4(t)}});var k4=w((Qtt,D4)=>{\"use strict\";D4.exports=r=>{let e=/^\\\\\\\\\\?\\\\/.test(r),t=/[^\\u0000-\\u0080]+/.test(r);return e||t?r:r.replace(/\\\\/g,\"/\")}});var M4=w((btt,dD)=>{\"use strict\";var{promisify:wbe}=J(\"util\"),R4=J(\"fs\"),Fa=J(\"path\"),F4=iw(),Bbe=P4(),Gd=k4(),N4=[\"**/node_modules/**\",\"**/flow-typed/**\",\"**/coverage/**\",\"**/.git\"],Qbe=wbe(R4.readFile),bbe=r=>e=>e.startsWith(\"!\")?\"!\"+Fa.posix.join(r,e.slice(1)):Fa.posix.join(r,e),Sbe=(r,e)=>{let t=Gd(Fa.relative(e.cwd,Fa.dirname(e.fileName)));return r.split(/\\r?\\n/).filter(Boolean).filter(i=>!i.startsWith(\"#\")).map(bbe(t))},L4=r=>{let e=Bbe();for(let t of r)e.add(Sbe(t.content,{cwd:t.cwd,fileName:t.filePath}));return e},vbe=(r,e)=>{if(r=Gd(r),Fa.isAbsolute(e)){if(Gd(e).startsWith(r))return e;throw new Error(`Path ${e} is not in cwd ${r}`)}return Fa.join(r,e)},T4=(r,e)=>t=>r.ignores(Gd(Fa.relative(e,vbe(e,t.path||t)))),xbe=async(r,e)=>{let t=Fa.join(e,r),i=await Qbe(t,\"utf8\");return{cwd:e,filePath:t,content:i}},Pbe=(r,e)=>{let t=Fa.join(e,r),i=R4.readFileSync(t,\"utf8\");return{cwd:e,filePath:t,content:i}},O4=({ignore:r=[],cwd:e=Gd(process.cwd())}={})=>({ignore:r,cwd:e});dD.exports=async r=>{r=O4(r);let e=await F4(\"**/.gitignore\",{ignore:N4.concat(r.ignore),cwd:r.cwd}),t=await Promise.all(e.map(n=>xbe(n,r.cwd))),i=L4(t);return T4(i,r.cwd)};dD.exports.sync=r=>{r=O4(r);let t=F4.sync(\"**/.gitignore\",{ignore:N4.concat(r.ignore),cwd:r.cwd}).map(n=>Pbe(n,r.cwd)),i=L4(t);return T4(i,r.cwd)}});var U4=w((Stt,K4)=>{\"use strict\";var{Transform:Dbe}=J(\"stream\"),sw=class extends Dbe{constructor(){super({objectMode:!0})}},CD=class extends sw{constructor(e){super(),this._filter=e}_transform(e,t,i){this._filter(e)&&this.push(e),i()}},mD=class extends sw{constructor(){super(),this._pushed=new Set}_transform(e,t,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};K4.exports={FilterStream:CD,UniqueStream:mD}});var wD=w((vtt,dc)=>{\"use strict\";var G4=J(\"fs\"),ow=HW(),kbe=Yx(),aw=iw(),Aw=y4(),ED=M4(),{FilterStream:Rbe,UniqueStream:Fbe}=U4(),Y4=()=>!1,H4=r=>r[0]===\"!\",Nbe=r=>{if(!r.every(e=>typeof e==\"string\"))throw new TypeError(\"Patterns must be a string or an array of strings\")},Lbe=(r={})=>{if(!r.cwd)return;let e;try{e=G4.statSync(r.cwd)}catch{return}if(!e.isDirectory())throw new Error(\"The `cwd` option must be a path to a directory\")},Tbe=r=>r.stats instanceof G4.Stats?r.path:r,lw=(r,e)=>{r=ow([].concat(r)),Nbe(r),Lbe(e);let t=[];e={ignore:[],expandDirectories:!0,...e};for(let[i,n]of r.entries()){if(H4(n))continue;let s=r.slice(i).filter(a=>H4(a)).map(a=>a.slice(1)),o={...e,ignore:e.ignore.concat(s)};t.push({pattern:n,options:o})}return t},Obe=(r,e)=>{let t={};return r.options.cwd&&(t.cwd=r.options.cwd),Array.isArray(r.options.expandDirectories)?t={...t,files:r.options.expandDirectories}:typeof r.options.expandDirectories==\"object\"&&(t={...t,...r.options.expandDirectories}),e(r.pattern,t)},ID=(r,e)=>r.options.expandDirectories?Obe(r,e):[r.pattern],j4=r=>r&&r.gitignore?ED.sync({cwd:r.cwd,ignore:r.ignore}):Y4,yD=r=>e=>{let{options:t}=r;return t.ignore&&Array.isArray(t.ignore)&&t.expandDirectories&&(t.ignore=Aw.sync(t.ignore)),{pattern:e,options:t}};dc.exports=async(r,e)=>{let t=lw(r,e),i=async()=>e&&e.gitignore?ED({cwd:e.cwd,ignore:e.ignore}):Y4,n=async()=>{let l=await Promise.all(t.map(async c=>{let u=await ID(c,Aw);return Promise.all(u.map(yD(c)))}));return ow(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>aw(l.pattern,l.options)));return ow(...a).filter(l=>!s(Tbe(l)))};dc.exports.sync=(r,e)=>{let t=lw(r,e),i=[];for(let o of t){let a=ID(o,Aw.sync).map(yD(o));i.push(...a)}let n=j4(e),s=[];for(let o of i)s=ow(s,aw.sync(o.pattern,o.options));return s.filter(o=>!n(o))};dc.exports.stream=(r,e)=>{let t=lw(r,e),i=[];for(let a of t){let l=ID(a,Aw.sync).map(yD(a));i.push(...l)}let n=j4(e),s=new Rbe(a=>!n(a)),o=new Fbe;return kbe(i.map(a=>aw.stream(a.pattern,a.options))).pipe(s).pipe(o)};dc.exports.generateGlobTasks=lw;dc.exports.hasMagic=(r,e)=>[].concat(r).some(t=>aw.isDynamicPattern(t,e));dc.exports.gitignore=ED});var bn=w((jtt,s8)=>{function Xbe(r){var e=typeof r;return r!=null&&(e==\"object\"||e==\"function\")}s8.exports=Xbe});var kD=w((qtt,o8)=>{var _be=typeof global==\"object\"&&global&&global.Object===Object&&global;o8.exports=_be});var ds=w((Jtt,a8)=>{var Zbe=kD(),$be=typeof self==\"object\"&&self&&self.Object===Object&&self,eSe=Zbe||$be||Function(\"return this\")();a8.exports=eSe});var l8=w((Wtt,A8)=>{var tSe=ds(),rSe=function(){return tSe.Date.now()};A8.exports=rSe});var u8=w((ztt,c8)=>{var iSe=/\\s/;function nSe(r){for(var e=r.length;e--&&iSe.test(r.charAt(e)););return e}c8.exports=nSe});var f8=w((Vtt,g8)=>{var sSe=u8(),oSe=/^\\s+/;function aSe(r){return r&&r.slice(0,sSe(r)+1).replace(oSe,\"\")}g8.exports=aSe});var Ec=w((Xtt,h8)=>{var ASe=ds(),lSe=ASe.Symbol;h8.exports=lSe});var m8=w((_tt,C8)=>{var p8=Ec(),d8=Object.prototype,cSe=d8.hasOwnProperty,uSe=d8.toString,eC=p8?p8.toStringTag:void 0;function gSe(r){var e=cSe.call(r,eC),t=r[eC];try{r[eC]=void 0;var i=!0}catch{}var n=uSe.call(r);return i&&(e?r[eC]=t:delete r[eC]),n}C8.exports=gSe});var I8=w((Ztt,E8)=>{var fSe=Object.prototype,hSe=fSe.toString;function pSe(r){return hSe.call(r)}E8.exports=pSe});var Ic=w(($tt,B8)=>{var y8=Ec(),dSe=m8(),CSe=I8(),mSe=\"[object Null]\",ESe=\"[object Undefined]\",w8=y8?y8.toStringTag:void 0;function ISe(r){return r==null?r===void 0?ESe:mSe:w8&&w8 in Object(r)?dSe(r):CSe(r)}B8.exports=ISe});var Go=w((ert,Q8)=>{function ySe(r){return r!=null&&typeof r==\"object\"}Q8.exports=ySe});var tC=w((trt,b8)=>{var wSe=Ic(),BSe=Go(),QSe=\"[object Symbol]\";function bSe(r){return typeof r==\"symbol\"||BSe(r)&&wSe(r)==QSe}b8.exports=bSe});var P8=w((rrt,x8)=>{var SSe=f8(),S8=bn(),vSe=tC(),v8=0/0,xSe=/^[-+]0x[0-9a-f]+$/i,PSe=/^0b[01]+$/i,DSe=/^0o[0-7]+$/i,kSe=parseInt;function RSe(r){if(typeof r==\"number\")return r;if(vSe(r))return v8;if(S8(r)){var e=typeof r.valueOf==\"function\"?r.valueOf():r;r=S8(e)?e+\"\":e}if(typeof r!=\"string\")return r===0?r:+r;r=SSe(r);var t=PSe.test(r);return t||DSe.test(r)?kSe(r.slice(2),t?2:8):xSe.test(r)?v8:+r}x8.exports=RSe});var R8=w((irt,k8)=>{var FSe=bn(),RD=l8(),D8=P8(),NSe=\"Expected a function\",LSe=Math.max,TSe=Math.min;function OSe(r,e,t){var i,n,s,o,a,l,c=0,u=!1,g=!1,f=!0;if(typeof r!=\"function\")throw new TypeError(NSe);e=D8(e)||0,FSe(t)&&(u=!!t.leading,g=\"maxWait\"in t,s=g?LSe(D8(t.maxWait)||0,e):s,f=\"trailing\"in t?!!t.trailing:f);function h(j){var $=i,V=n;return i=n=void 0,c=j,o=r.apply(V,$),o}function p(j){return c=j,a=setTimeout(B,e),u?h(j):o}function C(j){var $=j-l,V=j-c,W=e-$;return g?TSe(W,s-V):W}function y(j){var $=j-l,V=j-c;return l===void 0||$>=e||$<0||g&&V>=s}function B(){var j=RD();if(y(j))return v(j);a=setTimeout(B,C(j))}function v(j){return a=void 0,f&&i?h(j):(i=n=void 0,o)}function D(){a!==void 0&&clearTimeout(a),c=0,i=l=n=a=void 0}function L(){return a===void 0?o:v(RD())}function H(){var j=RD(),$=y(j);if(i=arguments,n=this,l=j,$){if(a===void 0)return p(l);if(g)return clearTimeout(a),a=setTimeout(B,e),h(l)}return a===void 0&&(a=setTimeout(B,e)),o}return H.cancel=D,H.flush=L,H}k8.exports=OSe});var N8=w((nrt,F8)=>{var MSe=R8(),KSe=bn(),USe=\"Expected a function\";function HSe(r,e,t){var i=!0,n=!0;if(typeof r!=\"function\")throw new TypeError(USe);return KSe(t)&&(i=\"leading\"in t?!!t.leading:i,n=\"trailing\"in t?!!t.trailing:n),MSe(r,e,{leading:i,maxWait:e,trailing:n})}F8.exports=HSe});var Ta=w((La,kw)=>{\"use strict\";Object.defineProperty(La,\"__esModule\",{value:!0});var Y8=[\"Int8Array\",\"Uint8Array\",\"Uint8ClampedArray\",\"Int16Array\",\"Uint16Array\",\"Int32Array\",\"Uint32Array\",\"Float32Array\",\"Float64Array\",\"BigInt64Array\",\"BigUint64Array\"];function eve(r){return Y8.includes(r)}var tve=[\"Function\",\"Generator\",\"AsyncGenerator\",\"GeneratorFunction\",\"AsyncGeneratorFunction\",\"AsyncFunction\",\"Observable\",\"Array\",\"Buffer\",\"Object\",\"RegExp\",\"Date\",\"Error\",\"Map\",\"Set\",\"WeakMap\",\"WeakSet\",\"ArrayBuffer\",\"SharedArrayBuffer\",\"DataView\",\"Promise\",\"URL\",\"FormData\",\"URLSearchParams\",\"HTMLElement\",...Y8];function rve(r){return tve.includes(r)}var ive=[\"null\",\"undefined\",\"string\",\"number\",\"bigint\",\"boolean\",\"symbol\"];function nve(r){return ive.includes(r)}function Sf(r){return e=>typeof e===r}var{toString:j8}=Object.prototype,oC=r=>{let e=j8.call(r).slice(8,-1);if(/HTML\\w+Element/.test(e)&&X.domElement(r))return\"HTMLElement\";if(rve(e))return e},lr=r=>e=>oC(e)===r;function X(r){if(r===null)return\"null\";switch(typeof r){case\"undefined\":return\"undefined\";case\"string\":return\"string\";case\"number\":return\"number\";case\"boolean\":return\"boolean\";case\"function\":return\"Function\";case\"bigint\":return\"bigint\";case\"symbol\":return\"symbol\";default:}if(X.observable(r))return\"Observable\";if(X.array(r))return\"Array\";if(X.buffer(r))return\"Buffer\";let e=oC(r);if(e)return e;if(r instanceof String||r instanceof Boolean||r instanceof Number)throw new TypeError(\"Please don't use object wrappers for primitive types\");return\"Object\"}X.undefined=Sf(\"undefined\");X.string=Sf(\"string\");var sve=Sf(\"number\");X.number=r=>sve(r)&&!X.nan(r);X.bigint=Sf(\"bigint\");X.function_=Sf(\"function\");X.null_=r=>r===null;X.class_=r=>X.function_(r)&&r.toString().startsWith(\"class \");X.boolean=r=>r===!0||r===!1;X.symbol=Sf(\"symbol\");X.numericString=r=>X.string(r)&&!X.emptyStringOrWhitespace(r)&&!Number.isNaN(Number(r));X.array=(r,e)=>Array.isArray(r)?X.function_(e)?r.every(e):!0:!1;X.buffer=r=>{var e,t,i,n;return(n=(i=(t=(e=r)===null||e===void 0?void 0:e.constructor)===null||t===void 0?void 0:t.isBuffer)===null||i===void 0?void 0:i.call(t,r))!==null&&n!==void 0?n:!1};X.nullOrUndefined=r=>X.null_(r)||X.undefined(r);X.object=r=>!X.null_(r)&&(typeof r==\"object\"||X.function_(r));X.iterable=r=>{var e;return X.function_((e=r)===null||e===void 0?void 0:e[Symbol.iterator])};X.asyncIterable=r=>{var e;return X.function_((e=r)===null||e===void 0?void 0:e[Symbol.asyncIterator])};X.generator=r=>X.iterable(r)&&X.function_(r.next)&&X.function_(r.throw);X.asyncGenerator=r=>X.asyncIterable(r)&&X.function_(r.next)&&X.function_(r.throw);X.nativePromise=r=>lr(\"Promise\")(r);var ove=r=>{var e,t;return X.function_((e=r)===null||e===void 0?void 0:e.then)&&X.function_((t=r)===null||t===void 0?void 0:t.catch)};X.promise=r=>X.nativePromise(r)||ove(r);X.generatorFunction=lr(\"GeneratorFunction\");X.asyncGeneratorFunction=r=>oC(r)===\"AsyncGeneratorFunction\";X.asyncFunction=r=>oC(r)===\"AsyncFunction\";X.boundFunction=r=>X.function_(r)&&!r.hasOwnProperty(\"prototype\");X.regExp=lr(\"RegExp\");X.date=lr(\"Date\");X.error=lr(\"Error\");X.map=r=>lr(\"Map\")(r);X.set=r=>lr(\"Set\")(r);X.weakMap=r=>lr(\"WeakMap\")(r);X.weakSet=r=>lr(\"WeakSet\")(r);X.int8Array=lr(\"Int8Array\");X.uint8Array=lr(\"Uint8Array\");X.uint8ClampedArray=lr(\"Uint8ClampedArray\");X.int16Array=lr(\"Int16Array\");X.uint16Array=lr(\"Uint16Array\");X.int32Array=lr(\"Int32Array\");X.uint32Array=lr(\"Uint32Array\");X.float32Array=lr(\"Float32Array\");X.float64Array=lr(\"Float64Array\");X.bigInt64Array=lr(\"BigInt64Array\");X.bigUint64Array=lr(\"BigUint64Array\");X.arrayBuffer=lr(\"ArrayBuffer\");X.sharedArrayBuffer=lr(\"SharedArrayBuffer\");X.dataView=lr(\"DataView\");X.directInstanceOf=(r,e)=>Object.getPrototypeOf(r)===e.prototype;X.urlInstance=r=>lr(\"URL\")(r);X.urlString=r=>{if(!X.string(r))return!1;try{return new URL(r),!0}catch{return!1}};X.truthy=r=>Boolean(r);X.falsy=r=>!r;X.nan=r=>Number.isNaN(r);X.primitive=r=>X.null_(r)||nve(typeof r);X.integer=r=>Number.isInteger(r);X.safeInteger=r=>Number.isSafeInteger(r);X.plainObject=r=>{if(j8.call(r)!==\"[object Object]\")return!1;let e=Object.getPrototypeOf(r);return e===null||e===Object.getPrototypeOf({})};X.typedArray=r=>eve(oC(r));var ave=r=>X.safeInteger(r)&&r>=0;X.arrayLike=r=>!X.nullOrUndefined(r)&&!X.function_(r)&&ave(r.length);X.inRange=(r,e)=>{if(X.number(e))return r>=Math.min(0,e)&&r<=Math.max(e,0);if(X.array(e)&&e.length===2)return r>=Math.min(...e)&&r<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var Ave=1,lve=[\"innerHTML\",\"ownerDocument\",\"style\",\"attributes\",\"nodeValue\"];X.domElement=r=>X.object(r)&&r.nodeType===Ave&&X.string(r.nodeName)&&!X.plainObject(r)&&lve.every(e=>e in r);X.observable=r=>{var e,t,i,n;return r?r===((t=(e=r)[Symbol.observable])===null||t===void 0?void 0:t.call(e))||r===((n=(i=r)[\"@@observable\"])===null||n===void 0?void 0:n.call(i)):!1};X.nodeStream=r=>X.object(r)&&X.function_(r.pipe)&&!X.observable(r);X.infinite=r=>r===1/0||r===-1/0;var q8=r=>e=>X.integer(e)&&Math.abs(e%2)===r;X.evenInteger=q8(0);X.oddInteger=q8(1);X.emptyArray=r=>X.array(r)&&r.length===0;X.nonEmptyArray=r=>X.array(r)&&r.length>0;X.emptyString=r=>X.string(r)&&r.length===0;X.nonEmptyString=r=>X.string(r)&&r.length>0;var cve=r=>X.string(r)&&!/\\S/.test(r);X.emptyStringOrWhitespace=r=>X.emptyString(r)||cve(r);X.emptyObject=r=>X.object(r)&&!X.map(r)&&!X.set(r)&&Object.keys(r).length===0;X.nonEmptyObject=r=>X.object(r)&&!X.map(r)&&!X.set(r)&&Object.keys(r).length>0;X.emptySet=r=>X.set(r)&&r.size===0;X.nonEmptySet=r=>X.set(r)&&r.size>0;X.emptyMap=r=>X.map(r)&&r.size===0;X.nonEmptyMap=r=>X.map(r)&&r.size>0;X.propertyKey=r=>X.any([X.string,X.number,X.symbol],r);X.formData=r=>lr(\"FormData\")(r);X.urlSearchParams=r=>lr(\"URLSearchParams\")(r);var J8=(r,e,t)=>{if(!X.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(t.length===0)throw new TypeError(\"Invalid number of values\");return r.call(t,e)};X.any=(r,...e)=>(X.array(r)?r:[r]).some(i=>J8(Array.prototype.some,i,e));X.all=(r,...e)=>J8(Array.prototype.every,r,e);var Ye=(r,e,t,i={})=>{if(!r){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(t.map(o=>`\\`${X(o)}\\``))].join(\", \")}`:`received value of type \\`${X(t)}\\``;throw new TypeError(`Expected value which is \\`${e}\\`, ${s}.`)}};La.assert={undefined:r=>Ye(X.undefined(r),\"undefined\",r),string:r=>Ye(X.string(r),\"string\",r),number:r=>Ye(X.number(r),\"number\",r),bigint:r=>Ye(X.bigint(r),\"bigint\",r),function_:r=>Ye(X.function_(r),\"Function\",r),null_:r=>Ye(X.null_(r),\"null\",r),class_:r=>Ye(X.class_(r),\"Class\",r),boolean:r=>Ye(X.boolean(r),\"boolean\",r),symbol:r=>Ye(X.symbol(r),\"symbol\",r),numericString:r=>Ye(X.numericString(r),\"string with a number\",r),array:(r,e)=>{Ye(X.array(r),\"Array\",r),e&&r.forEach(e)},buffer:r=>Ye(X.buffer(r),\"Buffer\",r),nullOrUndefined:r=>Ye(X.nullOrUndefined(r),\"null or undefined\",r),object:r=>Ye(X.object(r),\"Object\",r),iterable:r=>Ye(X.iterable(r),\"Iterable\",r),asyncIterable:r=>Ye(X.asyncIterable(r),\"AsyncIterable\",r),generator:r=>Ye(X.generator(r),\"Generator\",r),asyncGenerator:r=>Ye(X.asyncGenerator(r),\"AsyncGenerator\",r),nativePromise:r=>Ye(X.nativePromise(r),\"native Promise\",r),promise:r=>Ye(X.promise(r),\"Promise\",r),generatorFunction:r=>Ye(X.generatorFunction(r),\"GeneratorFunction\",r),asyncGeneratorFunction:r=>Ye(X.asyncGeneratorFunction(r),\"AsyncGeneratorFunction\",r),asyncFunction:r=>Ye(X.asyncFunction(r),\"AsyncFunction\",r),boundFunction:r=>Ye(X.boundFunction(r),\"Function\",r),regExp:r=>Ye(X.regExp(r),\"RegExp\",r),date:r=>Ye(X.date(r),\"Date\",r),error:r=>Ye(X.error(r),\"Error\",r),map:r=>Ye(X.map(r),\"Map\",r),set:r=>Ye(X.set(r),\"Set\",r),weakMap:r=>Ye(X.weakMap(r),\"WeakMap\",r),weakSet:r=>Ye(X.weakSet(r),\"WeakSet\",r),int8Array:r=>Ye(X.int8Array(r),\"Int8Array\",r),uint8Array:r=>Ye(X.uint8Array(r),\"Uint8Array\",r),uint8ClampedArray:r=>Ye(X.uint8ClampedArray(r),\"Uint8ClampedArray\",r),int16Array:r=>Ye(X.int16Array(r),\"Int16Array\",r),uint16Array:r=>Ye(X.uint16Array(r),\"Uint16Array\",r),int32Array:r=>Ye(X.int32Array(r),\"Int32Array\",r),uint32Array:r=>Ye(X.uint32Array(r),\"Uint32Array\",r),float32Array:r=>Ye(X.float32Array(r),\"Float32Array\",r),float64Array:r=>Ye(X.float64Array(r),\"Float64Array\",r),bigInt64Array:r=>Ye(X.bigInt64Array(r),\"BigInt64Array\",r),bigUint64Array:r=>Ye(X.bigUint64Array(r),\"BigUint64Array\",r),arrayBuffer:r=>Ye(X.arrayBuffer(r),\"ArrayBuffer\",r),sharedArrayBuffer:r=>Ye(X.sharedArrayBuffer(r),\"SharedArrayBuffer\",r),dataView:r=>Ye(X.dataView(r),\"DataView\",r),urlInstance:r=>Ye(X.urlInstance(r),\"URL\",r),urlString:r=>Ye(X.urlString(r),\"string with a URL\",r),truthy:r=>Ye(X.truthy(r),\"truthy\",r),falsy:r=>Ye(X.falsy(r),\"falsy\",r),nan:r=>Ye(X.nan(r),\"NaN\",r),primitive:r=>Ye(X.primitive(r),\"primitive\",r),integer:r=>Ye(X.integer(r),\"integer\",r),safeInteger:r=>Ye(X.safeInteger(r),\"integer\",r),plainObject:r=>Ye(X.plainObject(r),\"plain object\",r),typedArray:r=>Ye(X.typedArray(r),\"TypedArray\",r),arrayLike:r=>Ye(X.arrayLike(r),\"array-like\",r),domElement:r=>Ye(X.domElement(r),\"HTMLElement\",r),observable:r=>Ye(X.observable(r),\"Observable\",r),nodeStream:r=>Ye(X.nodeStream(r),\"Node.js Stream\",r),infinite:r=>Ye(X.infinite(r),\"infinite number\",r),emptyArray:r=>Ye(X.emptyArray(r),\"empty array\",r),nonEmptyArray:r=>Ye(X.nonEmptyArray(r),\"non-empty array\",r),emptyString:r=>Ye(X.emptyString(r),\"empty string\",r),nonEmptyString:r=>Ye(X.nonEmptyString(r),\"non-empty string\",r),emptyStringOrWhitespace:r=>Ye(X.emptyStringOrWhitespace(r),\"empty string or whitespace\",r),emptyObject:r=>Ye(X.emptyObject(r),\"empty object\",r),nonEmptyObject:r=>Ye(X.nonEmptyObject(r),\"non-empty object\",r),emptySet:r=>Ye(X.emptySet(r),\"empty set\",r),nonEmptySet:r=>Ye(X.nonEmptySet(r),\"non-empty set\",r),emptyMap:r=>Ye(X.emptyMap(r),\"empty map\",r),nonEmptyMap:r=>Ye(X.nonEmptyMap(r),\"non-empty map\",r),propertyKey:r=>Ye(X.propertyKey(r),\"PropertyKey\",r),formData:r=>Ye(X.formData(r),\"FormData\",r),urlSearchParams:r=>Ye(X.urlSearchParams(r),\"URLSearchParams\",r),evenInteger:r=>Ye(X.evenInteger(r),\"even integer\",r),oddInteger:r=>Ye(X.oddInteger(r),\"odd integer\",r),directInstanceOf:(r,e)=>Ye(X.directInstanceOf(r,e),\"T\",r),inRange:(r,e)=>Ye(X.inRange(r,e),\"in range\",r),any:(r,...e)=>Ye(X.any(r,...e),\"predicate returns truthy for any value\",e,{multipleValues:!0}),all:(r,...e)=>Ye(X.all(r,...e),\"predicate returns truthy for all values\",e,{multipleValues:!0})};Object.defineProperties(X,{class:{value:X.class_},function:{value:X.function_},null:{value:X.null_}});Object.defineProperties(La.assert,{class:{value:La.assert.class_},function:{value:La.assert.function_},null:{value:La.assert.null_}});La.default=X;kw.exports=X;kw.exports.default=X;kw.exports.assert=La.assert});var W8=w((Yrt,ek)=>{\"use strict\";var Rw=class extends Error{constructor(e){super(e||\"Promise was canceled\"),this.name=\"CancelError\"}get isCanceled(){return!0}},vf=class{static fn(e){return(...t)=>new vf((i,n,s)=>{t.push(s),e(...t).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((t,i)=>{this._reject=i;let n=a=>{this._isPending=!1,t(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error(\"The `onCancel` handler was attached after the promise settled.\");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let t of this._cancelHandlers)t()}catch(t){this._reject(t)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new Rw(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(vf.prototype,Promise.prototype);ek.exports=vf;ek.exports.CancelError=Rw});var z8=w((rk,ik)=>{\"use strict\";Object.defineProperty(rk,\"__esModule\",{value:!0});var uve=J(\"tls\"),tk=(r,e)=>{let t;typeof e==\"function\"?t={connect:e}:t=e;let i=typeof t.connect==\"function\",n=typeof t.secureConnect==\"function\",s=typeof t.close==\"function\",o=()=>{i&&t.connect(),r instanceof uve.TLSSocket&&n&&(r.authorized?t.secureConnect():r.authorizationError||r.once(\"secureConnect\",t.secureConnect)),s&&r.once(\"close\",t.close)};r.writable&&!r.connecting?o():r.connecting?r.once(\"connect\",o):r.destroyed&&s&&t.close(r._hadError)};rk.default=tk;ik.exports=tk;ik.exports.default=tk});var V8=w((sk,ok)=>{\"use strict\";Object.defineProperty(sk,\"__esModule\",{value:!0});var gve=z8(),fve=Number(process.versions.node.split(\".\")[0]),nk=r=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};r.timings=e;let t=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l===\"error\"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};t(r),r.prependOnceListener(\"abort\",()=>{e.abort=Date.now(),(!e.response||fve>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener(\"lookup\",a),gve.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener(\"lookup\",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};r.socket?i(r.socket):r.prependOnceListener(\"socket\",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof r.writableFinished==\"boolean\"?r.writableFinished:r.finished&&r.outputSize===0&&(!r.socket||r.socket.writableLength===0))()?n():r.prependOnceListener(\"finish\",n),r.prependOnceListener(\"response\",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,t(o),o.prependOnceListener(\"end\",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};sk.default=nk;ok.exports=nk;ok.exports.default=nk});var rz=w((jrt,lk)=>{\"use strict\";var{V4MAPPED:hve,ADDRCONFIG:pve,ALL:tz,promises:{Resolver:X8},lookup:dve}=J(\"dns\"),{promisify:ak}=J(\"util\"),Cve=J(\"os\"),xf=Symbol(\"cacheableLookupCreateConnection\"),Ak=Symbol(\"cacheableLookupInstance\"),_8=Symbol(\"expires\"),mve=typeof tz==\"number\",Z8=r=>{if(!(r&&typeof r.createConnection==\"function\"))throw new Error(\"Expected an Agent instance as the first argument\")},Eve=r=>{for(let e of r)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},$8=()=>{let r=!1,e=!1;for(let t of Object.values(Cve.networkInterfaces()))for(let i of t)if(!i.internal&&(i.family===\"IPv6\"?e=!0:r=!0,r&&e))return{has4:r,has6:e};return{has4:r,has6:e}},Ive=r=>Symbol.iterator in r,ez={ttl:!0},yve={all:!0},Fw=class{constructor({cache:e=new Map,maxTtl:t=1/0,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new X8,lookup:o=dve}={}){if(this.maxTtl=t,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=ak(o),this._resolver instanceof X8?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=ak(this._resolver.resolve4.bind(this._resolver)),this._resolve6=ak(this._resolver.resolve6.bind(this._resolver))),this._iface=$8(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,t,i){if(typeof t==\"function\"?(i=t,t={}):typeof t==\"number\"&&(t={family:t}),!i)throw new Error(\"Callback must be a function.\");this.lookupAsync(e,t).then(n=>{t.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,t={}){typeof t==\"number\"&&(t={family:t});let i=await this.query(e);if(t.family===6){let n=i.filter(s=>s.family===6);t.hints&hve&&(mve&&t.hints&tz||n.length===0)?Eve(i):i=n}else t.family===4&&(i=i.filter(n=>n.family===4));if(t.hints&pve){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code=\"ENOTFOUND\",n.hostname=e,n}return t.all?i:i[0]}async query(e){let t=await this._cache.get(e);if(!t){let i=this._pending[e];if(i)t=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,t=await n}}return t=t.map(i=>({...i})),t}async _resolve(e){let t=async c=>{try{return await c}catch(u){if(u.code===\"ENODATA\"||u.code===\"ENOTFOUND\")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,ez),this._resolve6(e,ez)].map(c=>t(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,t,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,t[_8]=Date.now()+i;try{await this._cache.set(e,t,i)}catch(n){this.lookupAsync=async()=>{let s=new Error(\"Cache Error. Please recreate the CacheableLookup instance.\");throw s.cause=n,s}}Ive(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,yve);try{let t=await this._resolve(e);t.entries.length===0&&this._fallback&&(t=await this._lookup(e),t.entries.length!==0&&this._hostnamesToFallback.add(e));let i=t.entries.length===0?this.errorTtl:t.cacheTtl;return await this._set(e,t.entries,i),delete this._pending[e],t.entries}catch(t){throw delete this._pending[e],t}}_tick(e){let t=this._nextRemovalTime;(!t||e<t)&&(clearTimeout(this._removalTimeout),this._nextRemovalTime=e,this._removalTimeout=setTimeout(()=>{this._nextRemovalTime=!1;let i=1/0,n=Date.now();for(let[s,o]of this._cache){let a=o[_8];n>=a?this._cache.delete(s):a<i&&(i=a)}i!==1/0&&this._tick(i-n)},e),this._removalTimeout.unref&&this._removalTimeout.unref())}install(e){if(Z8(e),xf in e)throw new Error(\"CacheableLookup has been already installed\");e[xf]=e.createConnection,e[Ak]=this,e.createConnection=(t,i)=>(\"lookup\"in t||(t.lookup=this.lookup),e[xf](t,i))}uninstall(e){if(Z8(e),e[xf]){if(e[Ak]!==this)throw new Error(\"The agent is not owned by this CacheableLookup instance\");e.createConnection=e[xf],delete e[xf],delete e[Ak]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=$8(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};lk.exports=Fw;lk.exports.default=Fw});var sz=w((qrt,ck)=>{\"use strict\";var wve=typeof URL>\"u\"?J(\"url\").URL:URL,Bve=\"text/plain\",Qve=\"us-ascii\",iz=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),bve=(r,{stripHash:e})=>{let t=r.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!t)throw new Error(`Invalid URL: ${r}`);let i=t[1].split(\";\"),n=t[2],s=e?\"\":t[3],o=!1;i[i.length-1]===\"base64\"&&(i.pop(),o=!0);let a=(i.shift()||\"\").toLowerCase(),c=[...i.map(u=>{let[g,f=\"\"]=u.split(\"=\").map(h=>h.trim());return g===\"charset\"&&(f=f.toLowerCase(),f===Qve)?\"\":`${g}${f?`=${f}`:\"\"}`}).filter(Boolean)];return o&&c.push(\"base64\"),(c.length!==0||a&&a!==Bve)&&c.unshift(a),`data:${c.join(\";\")},${o?n.trim():n}${s?`#${s}`:\"\"}`},nz=(r,e)=>{if(e={defaultProtocol:\"http:\",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,\"normalizeHttps\"))throw new Error(\"options.normalizeHttps is renamed to options.forceHttp\");if(Reflect.has(e,\"normalizeHttp\"))throw new Error(\"options.normalizeHttp is renamed to options.forceHttps\");if(Reflect.has(e,\"stripFragment\"))throw new Error(\"options.stripFragment is renamed to options.stripHash\");if(r=r.trim(),/^data:/i.test(r))return bve(r,e);let t=r.startsWith(\"//\");!t&&/^\\.*\\//.test(r)||(r=r.replace(/^(?!(?:\\w+:)?\\/\\/)|^\\/\\//,e.defaultProtocol));let n=new wve(r);if(e.forceHttp&&e.forceHttps)throw new Error(\"The `forceHttp` and `forceHttps` options cannot be used together\");if(e.forceHttp&&n.protocol===\"https:\"&&(n.protocol=\"http:\"),e.forceHttps&&n.protocol===\"http:\"&&(n.protocol=\"https:\"),e.stripAuthentication&&(n.username=\"\",n.password=\"\"),e.stripHash&&(n.hash=\"\"),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\\/{2,}/g,(s,o)=>/^(?!\\/)/g.test(o)?`${o}/`:\"/\")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split(\"/\"),o=s[s.length-1];iz(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join(\"/\")+\"/\")}if(n.hostname&&(n.hostname=n.hostname.replace(/\\.$/,\"\"),e.stripWWW&&/^www\\.([a-z\\-\\d]{2,63})\\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\\./,\"\"))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])iz(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\\/$/,\"\")),r=n.toString(),(e.removeTrailingSlash||n.pathname===\"/\")&&n.hash===\"\"&&(r=r.replace(/\\/$/,\"\")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\\/\\//,\"//\")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\\/\\//,\"\")),r};ck.exports=nz;ck.exports.default=nz});var Az=w((Jrt,az)=>{az.exports=oz;function oz(r,e){if(r&&e)return oz(r)(e);if(typeof r!=\"function\")throw new TypeError(\"need wrapper function\");return Object.keys(r).forEach(function(i){t[i]=r[i]}),t;function t(){for(var i=new Array(arguments.length),n=0;n<i.length;n++)i[n]=arguments[n];var s=r.apply(this,i),o=i[i.length-1];return typeof s==\"function\"&&s!==o&&Object.keys(o).forEach(function(a){s[a]=o[a]}),s}}});var gk=w((Wrt,uk)=>{var lz=Az();uk.exports=lz(Nw);uk.exports.strict=lz(cz);Nw.proto=Nw(function(){Object.defineProperty(Function.prototype,\"once\",{value:function(){return Nw(this)},configurable:!0}),Object.defineProperty(Function.prototype,\"onceStrict\",{value:function(){return cz(this)},configurable:!0})});function Nw(r){var e=function(){return e.called?e.value:(e.called=!0,e.value=r.apply(this,arguments))};return e.called=!1,e}function cz(r){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=r.apply(this,arguments)},t=r.name||\"Function wrapped with `once`\";return e.onceError=t+\" shouldn't be called more than once\",e.called=!1,e}});var fk=w((zrt,gz)=>{var Sve=gk(),vve=function(){},xve=function(r){return r.setHeader&&typeof r.abort==\"function\"},Pve=function(r){return r.stdio&&Array.isArray(r.stdio)&&r.stdio.length===3},uz=function(r,e,t){if(typeof e==\"function\")return uz(r,null,e);e||(e={}),t=Sve(t||vve);var i=r._writableState,n=r._readableState,s=e.readable||e.readable!==!1&&r.readable,o=e.writable||e.writable!==!1&&r.writable,a=function(){r.writable||l()},l=function(){o=!1,s||t.call(r)},c=function(){s=!1,o||t.call(r)},u=function(p){t.call(r,p?new Error(\"exited with error code: \"+p):null)},g=function(p){t.call(r,p)},f=function(){if(s&&!(n&&n.ended))return t.call(r,new Error(\"premature close\"));if(o&&!(i&&i.ended))return t.call(r,new Error(\"premature close\"))},h=function(){r.req.on(\"finish\",l)};return xve(r)?(r.on(\"complete\",l),r.on(\"abort\",f),r.req?h():r.on(\"request\",h)):o&&!i&&(r.on(\"end\",a),r.on(\"close\",a)),Pve(r)&&r.on(\"exit\",u),r.on(\"end\",c),r.on(\"finish\",l),e.error!==!1&&r.on(\"error\",g),r.on(\"close\",f),function(){r.removeListener(\"complete\",l),r.removeListener(\"abort\",f),r.removeListener(\"request\",h),r.req&&r.req.removeListener(\"finish\",l),r.removeListener(\"end\",a),r.removeListener(\"close\",a),r.removeListener(\"finish\",l),r.removeListener(\"exit\",u),r.removeListener(\"end\",c),r.removeListener(\"error\",g),r.removeListener(\"close\",f)}};gz.exports=uz});var pz=w((Vrt,hz)=>{var Dve=gk(),kve=fk(),hk=J(\"fs\"),aC=function(){},Rve=/^v?\\.0/.test(process.version),Lw=function(r){return typeof r==\"function\"},Fve=function(r){return!Rve||!hk?!1:(r instanceof(hk.ReadStream||aC)||r instanceof(hk.WriteStream||aC))&&Lw(r.close)},Nve=function(r){return r.setHeader&&Lw(r.abort)},Lve=function(r,e,t,i){i=Dve(i);var n=!1;r.on(\"close\",function(){n=!0}),kve(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Fve(r))return r.close(aC);if(Nve(r))return r.abort();if(Lw(r.destroy))return r.destroy();i(o||new Error(\"stream was destroyed\"))}}},fz=function(r){r()},Tve=function(r,e){return r.pipe(e)},Ove=function(){var r=Array.prototype.slice.call(arguments),e=Lw(r[r.length-1]||aC)&&r.pop()||aC;if(Array.isArray(r[0])&&(r=r[0]),r.length<2)throw new Error(\"pump requires two streams per minimum\");var t,i=r.map(function(n,s){var o=s<r.length-1,a=s>0;return Lve(n,o,a,function(l){t||(t=l),l&&i.forEach(fz),!o&&(i.forEach(fz),e(t))})});return r.reduce(Tve)};hz.exports=Ove});var Cz=w((Xrt,dz)=>{\"use strict\";var{PassThrough:Mve}=J(\"stream\");dz.exports=r=>{r={...r};let{array:e}=r,{encoding:t}=r,i=t===\"buffer\",n=!1;e?n=!(t||i):t=t||\"utf8\",i&&(t=null);let s=new Mve({objectMode:n});t&&s.setEncoding(t);let o=0,a=[];return s.on(\"data\",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(\"\"),s.getBufferedLength=()=>o,s}});var mz=w((_rt,Pf)=>{\"use strict\";var Kve=pz(),Uve=Cz(),Tw=class extends Error{constructor(){super(\"maxBuffer exceeded\"),this.name=\"MaxBufferError\"}};async function Ow(r,e){if(!r)return Promise.reject(new Error(\"Expected a stream\"));e={maxBuffer:1/0,...e};let{maxBuffer:t}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=Kve(r,Uve(e),a=>{if(a){o(a);return}n()}),i.on(\"data\",()=>{i.getBufferedLength()>t&&o(new Tw)})}),i.getBufferedValue()}Pf.exports=Ow;Pf.exports.default=Ow;Pf.exports.buffer=(r,e)=>Ow(r,{...e,encoding:\"buffer\"});Pf.exports.array=(r,e)=>Ow(r,{...e,array:!0});Pf.exports.MaxBufferError=Tw});var Iz=w(($rt,Ez)=>{\"use strict\";var Hve=[200,203,204,206,300,301,404,405,410,414,501],Gve=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],Yve={date:!0,connection:!0,\"keep-alive\":!0,\"proxy-authenticate\":!0,\"proxy-authorization\":!0,te:!0,trailer:!0,\"transfer-encoding\":!0,upgrade:!0},jve={\"content-length\":!0,\"content-encoding\":!0,\"transfer-encoding\":!0,\"content-range\":!0};function pk(r){let e={};if(!r)return e;let t=r.trim().split(/\\s*,\\s*/);for(let i of t){let[n,s]=i.split(/\\s*=\\s*/,2);e[n]=s===void 0?!0:s.replace(/^\"|\"$/g,\"\")}return e}function qve(r){let e=[];for(let t in r){let i=r[t];e.push(i===!0?t:t+\"=\"+i)}if(!!e.length)return e.join(\", \")}Ez.exports=class{constructor(e,t,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!t||!t.headers)throw Error(\"Response headers missing\");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status=\"status\"in t?t.status:200,this._resHeaders=t.headers,this._rescc=pk(t.headers[\"cache-control\"]),this._method=\"method\"in e?e.method:\"GET\",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=t.headers.vary?e.headers:null,this._reqcc=pk(e.headers[\"cache-control\"]),o&&\"pre-check\"in this._rescc&&\"post-check\"in this._rescc&&(delete this._rescc[\"pre-check\"],delete this._rescc[\"post-check\"],delete this._rescc[\"no-cache\"],delete this._rescc[\"no-store\"],delete this._rescc[\"must-revalidate\"],this._resHeaders=Object.assign({},this._resHeaders,{\"cache-control\":qve(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!t.headers[\"cache-control\"]&&/no-cache/.test(t.headers.pragma)&&(this._rescc[\"no-cache\"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc[\"no-store\"]&&(this._method===\"GET\"||this._method===\"HEAD\"||this._method===\"POST\"&&this._hasExplicitExpiration())&&Gve.indexOf(this._status)!==-1&&!this._rescc[\"no-store\"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc[\"max-age\"]||this._rescc[\"s-maxage\"]||Hve.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc[\"s-maxage\"]||this._rescc[\"max-age\"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error(\"Request headers missing\")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let t=pk(e.headers[\"cache-control\"]);return t[\"no-cache\"]||/no-cache/.test(e.headers.pragma)||t[\"max-age\"]&&this.age()>t[\"max-age\"]||t[\"min-fresh\"]&&this.timeToLive()<1e3*t[\"min-fresh\"]||this.stale()&&!(t[\"max-stale\"]&&!this._rescc[\"must-revalidate\"]&&(t[\"max-stale\"]===!0||t[\"max-stale\"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,t){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||t&&e.method===\"HEAD\")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc[\"must-revalidate\"]||this._rescc.public||this._rescc[\"s-maxage\"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary===\"*\")return!1;let t=this._resHeaders.vary.trim().toLowerCase().split(/\\s*,\\s*/);for(let i of t)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let t={};for(let i in e)Yve[i]||(t[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\\s*,\\s*/);for(let n of i)delete t[n]}if(t.warning){let i=t.warning.split(/,/).filter(n=>!/^\\s*1[0-9][0-9]/.test(n));i.length?t.warning=i.join(\",\").trim():delete t.warning}return t}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),t=this.age();return t>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:\"\")+'113 - \"rfc7234 5.5.4\"'),e.age=`${Math.round(t)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);return isFinite(e)&&Math.abs(this._responseTime-e)<288e5?e:this._responseTime}age(){let e=Math.max(0,(this._responseTime-this.date())/1e3);if(this._resHeaders.age){let i=this._ageValue();i>e&&(e=i)}let t=(this.now()-this._responseTime)/1e3;return e+t}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc[\"no-cache\"]||this._isShared&&this._resHeaders[\"set-cookie\"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary===\"*\")return 0;if(this._isShared){if(this._rescc[\"proxy-revalidate\"])return 0;if(this._rescc[\"s-maxage\"])return parseInt(this._rescc[\"s-maxage\"],10)}if(this._rescc[\"max-age\"])return parseInt(this._rescc[\"max-age\"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,t=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||i<t?0:Math.max(e,(i-t)/1e3)}if(this._resHeaders[\"last-modified\"]){let i=Date.parse(this._resHeaders[\"last-modified\"]);if(isFinite(i)&&t>i)return Math.max(e,(t-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error(\"Reinitialized\");if(!e||e.v!==1)throw Error(\"Invalid serialization\");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let t=this._copyWithoutHopByHopHeaders(e.headers);if(delete t[\"if-range\"],!this._requestMatches(e,!0)||!this.storable())return delete t[\"if-none-match\"],delete t[\"if-modified-since\"],t;if(this._resHeaders.etag&&(t[\"if-none-match\"]=t[\"if-none-match\"]?`${t[\"if-none-match\"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),t[\"accept-ranges\"]||t[\"if-match\"]||t[\"if-unmodified-since\"]||this._method&&this._method!=\"GET\"){if(delete t[\"if-modified-since\"],t[\"if-none-match\"]){let n=t[\"if-none-match\"].split(/,/).filter(s=>!/^\\s*W\\//.test(s));n.length?t[\"if-none-match\"]=n.join(\",\").trim():delete t[\"if-none-match\"]}}else this._resHeaders[\"last-modified\"]&&!t[\"if-modified-since\"]&&(t[\"if-modified-since\"]=this._resHeaders[\"last-modified\"]);return t}revalidatedPolicy(e,t){if(this._assertRequestHasHeaders(e),!t||!t.headers)throw Error(\"Response headers missing\");let i=!1;if(t.status!==void 0&&t.status!=304?i=!1:t.headers.etag&&!/^\\s*W\\//.test(t.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\\s*W\\//,\"\")===t.headers.etag:this._resHeaders.etag&&t.headers.etag?i=this._resHeaders.etag.replace(/^\\s*W\\//,\"\")===t.headers.etag.replace(/^\\s*W\\//,\"\"):this._resHeaders[\"last-modified\"]?i=this._resHeaders[\"last-modified\"]===t.headers[\"last-modified\"]:!this._resHeaders.etag&&!this._resHeaders[\"last-modified\"]&&!t.headers.etag&&!t.headers[\"last-modified\"]&&(i=!0),!i)return{policy:new this.constructor(e,t),modified:t.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in t.headers&&!jve[o]?t.headers[o]:this._resHeaders[o];let s=Object.assign({},t,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var Mw=w((eit,yz)=>{\"use strict\";yz.exports=r=>{let e={};for(let[t,i]of Object.entries(r))e[t.toLowerCase()]=i;return e}});var Bz=w((tit,wz)=>{\"use strict\";var Jve=J(\"stream\").Readable,Wve=Mw(),dk=class extends Jve{constructor(e,t,i,n){if(typeof e!=\"number\")throw new TypeError(\"Argument `statusCode` should be a number\");if(typeof t!=\"object\")throw new TypeError(\"Argument `headers` should be an object\");if(!(i instanceof Buffer))throw new TypeError(\"Argument `body` should be a buffer\");if(typeof n!=\"string\")throw new TypeError(\"Argument `url` should be a string\");super(),this.statusCode=e,this.headers=Wve(t),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};wz.exports=dk});var bz=w((rit,Qz)=>{\"use strict\";var zve=[\"destroy\",\"setTimeout\",\"socket\",\"headers\",\"trailers\",\"rawHeaders\",\"statusCode\",\"httpVersion\",\"httpVersionMinor\",\"httpVersionMajor\",\"rawTrailers\",\"statusMessage\"];Qz.exports=(r,e)=>{let t=new Set(Object.keys(r).concat(zve));for(let i of t)i in e||(e[i]=typeof r[i]==\"function\"?r[i].bind(r):r[i])}});var vz=w((iit,Sz)=>{\"use strict\";var Vve=J(\"stream\").PassThrough,Xve=bz(),_ve=r=>{if(!(r&&r.pipe))throw new TypeError(\"Parameter `response` must be a response stream.\");let e=new Vve;return Xve(r,e),r.pipe(e)};Sz.exports=_ve});var xz=w(Ck=>{Ck.stringify=function r(e){if(typeof e>\"u\")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(\":base64:\"+e.toString(\"base64\"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e==\"object\"){var t=\"\",i=Array.isArray(e);t=i?\"[\":\"{\";var n=!0;for(var s in e){var o=typeof e[s]==\"function\"||!i&&typeof e[s]>\"u\";Object.hasOwnProperty.call(e,s)&&!o&&(n||(t+=\",\"),n=!1,i?e[s]==null?t+=\"null\":t+=r(e[s]):e[s]!==void 0&&(t+=r(s)+\":\"+r(e[s])))}return t+=i?\"]\":\"}\",t}else return typeof e==\"string\"?JSON.stringify(/^:/.test(e)?\":\"+e:e):typeof e>\"u\"?\"null\":JSON.stringify(e)};Ck.parse=function(r){return JSON.parse(r,function(e,t){return typeof t==\"string\"?/^:base64:/.test(t)?Buffer.from(t.substring(8),\"base64\"):/^:/.test(t)?t.substring(1):t:t})}});var kz=w((sit,Dz)=>{\"use strict\";var Zve=J(\"events\"),Pz=xz(),$ve=r=>{let e={redis:\"@keyv/redis\",mongodb:\"@keyv/mongo\",mongo:\"@keyv/mongo\",sqlite:\"@keyv/sqlite\",postgresql:\"@keyv/postgres\",postgres:\"@keyv/postgres\",mysql:\"@keyv/mysql\"};if(r.adapter||r.uri){let t=r.adapter||/^[^:]*/.exec(r.uri)[0];return new(J(e[t]))(r)}return new Map},mk=class extends Zve{constructor(e,t){if(super(),this.opts=Object.assign({namespace:\"keyv\",serialize:Pz.stringify,deserialize:Pz.parse},typeof e==\"string\"?{uri:e}:e,t),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=$ve(i)}typeof this.opts.store.on==\"function\"&&this.opts.store.on(\"error\",i=>this.emit(\"error\",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,t){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n==\"string\"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires==\"number\"&&Date.now()>n.expires){this.delete(e);return}return t&&t.raw?n:n.value}})}set(e,t,i){e=this._getKeyPrefix(e),typeof i>\"u\"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i==\"number\"?Date.now()+i:null;return t={value:t,expires:s},this.opts.serialize(t)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:t}=this.opts;return Promise.resolve().then(()=>t.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};Dz.exports=mk});var Nz=w((oit,Fz)=>{\"use strict\";var exe=J(\"events\"),Kw=J(\"url\"),txe=sz(),rxe=mz(),Ek=Iz(),Rz=Bz(),ixe=Mw(),nxe=vz(),sxe=kz(),ro=class{constructor(e,t){if(typeof e!=\"function\")throw new TypeError(\"Parameter `request` must be a function\");return this.cache=new sxe({uri:typeof t==\"string\"&&t,store:typeof t!=\"string\"&&t,namespace:\"cacheable-request\"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(t,i)=>{let n;if(typeof t==\"string\")n=Ik(Kw.parse(t)),t={};else if(t instanceof Kw.URL)n=Ik(Kw.parse(t.toString())),t={};else{let[g,...f]=(t.path||\"\").split(\"?\"),h=f.length>0?`?${f.join(\"?\")}`:\"\";n=Ik({...t,pathname:g,search:h})}t={headers:{},method:\"GET\",cache:!0,strictTtl:!1,automaticFailover:!1,...t,...oxe(n)},t.headers=ixe(t.headers);let s=new exe,o=txe(Kw.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${t.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(y=>{h=()=>{f||(f=!0,y())}}),C=y=>{if(l&&!g.forceRefresh){y.status=y.statusCode;let v=Ek.fromObject(l.cachePolicy).revalidatedPolicy(g,y);if(!v.modified){let D=v.policy.responseHeaders();y=new Rz(l.statusCode,D,l.body,l.url),y.cachePolicy=v.policy,y.fromCache=!0}}y.fromCache||(y.cachePolicy=new Ek(g,y,g),y.fromCache=!1);let B;g.cache&&y.cachePolicy.storable()?(B=nxe(y),(async()=>{try{let v=rxe.buffer(y);if(await Promise.race([p,new Promise(j=>y.once(\"end\",j))]),f)return;let D=await v,L={cachePolicy:y.cachePolicy.toObject(),url:y.url,statusCode:y.fromCache?l.statusCode:y.statusCode,body:D},H=g.strictTtl?y.cachePolicy.timeToLive():void 0;g.maxTtl&&(H=H?Math.min(H,g.maxTtl):g.maxTtl),await this.cache.set(a,L,H)}catch(v){s.emit(\"error\",new ro.CacheError(v))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(v){s.emit(\"error\",new ro.CacheError(v))}})(),s.emit(\"response\",B||y),typeof i==\"function\"&&i(B||y)};try{let y=e(g,C);y.once(\"error\",h),y.once(\"abort\",h),s.emit(\"request\",y)}catch(y){s.emit(\"error\",new ro.RequestError(y))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p>\"u\")return u(h);let C=Ek.fromObject(p.cachePolicy);if(C.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let y=C.responseHeaders(),B=new Rz(p.statusCode,y,p.body,p.url);B.cachePolicy=C,B.fromCache=!0,s.emit(\"response\",B),typeof i==\"function\"&&i(B)}else l=p,h.headers=C.revalidationHeaders(h),u(h)},f=h=>s.emit(\"error\",new ro.CacheError(h));this.cache.once(\"error\",f),s.on(\"response\",()=>this.cache.removeListener(\"error\",f));try{await g(t)}catch(h){t.automaticFailover&&!c&&u(t),s.emit(\"error\",new ro.CacheError(h))}})(),s}}};function oxe(r){let e={...r};return e.path=`${r.pathname||\"/\"}${r.search||\"\"}`,delete e.pathname,delete e.search,e}function Ik(r){return{protocol:r.protocol,auth:r.auth,hostname:r.hostname||r.host||\"localhost\",port:r.port,pathname:r.pathname,search:r.search}}ro.RequestError=class extends Error{constructor(r){super(r.message),this.name=\"RequestError\",Object.assign(this,r)}};ro.CacheError=class extends Error{constructor(r){super(r.message),this.name=\"CacheError\",Object.assign(this,r)}};Fz.exports=ro});var Tz=w((lit,Lz)=>{\"use strict\";var axe=[\"aborted\",\"complete\",\"headers\",\"httpVersion\",\"httpVersionMinor\",\"httpVersionMajor\",\"method\",\"rawHeaders\",\"rawTrailers\",\"setTimeout\",\"socket\",\"statusCode\",\"statusMessage\",\"trailers\",\"url\"];Lz.exports=(r,e)=>{if(e._readableState.autoDestroy)throw new Error(\"The second stream must have the `autoDestroy` option set to `false`\");let t=new Set(Object.keys(r).concat(axe)),i={};for(let n of t)n in e||(i[n]={get(){let s=r[n];return typeof s==\"function\"?s.bind(r):s},set(s){r[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),r.once(\"aborted\",()=>{e.destroy(),e.emit(\"aborted\")}),r.once(\"close\",()=>{r.complete&&e.readable?e.once(\"end\",()=>{e.emit(\"close\")}):e.emit(\"close\")}),e}});var Mz=w((cit,Oz)=>{\"use strict\";var{Transform:Axe,PassThrough:lxe}=J(\"stream\"),yk=J(\"zlib\"),cxe=Tz();Oz.exports=r=>{let e=(r.headers[\"content-encoding\"]||\"\").toLowerCase();if(![\"gzip\",\"deflate\",\"br\"].includes(e))return r;let t=e===\"br\";if(t&&typeof yk.createBrotliDecompress!=\"function\")return r.destroy(new Error(\"Brotli is not supported on Node.js < 12\")),r;let i=!0,n=new Axe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new lxe({autoDestroy:!1,destroy(a,l){r.destroy(),l(a)}}),o=t?yk.createBrotliDecompress():yk.createUnzip();return o.once(\"error\",a=>{if(i&&!r.readable){s.end();return}s.destroy(a)}),cxe(r,s),r.pipe(n).pipe(o).pipe(s),s}});var Bk=w((uit,Kz)=>{\"use strict\";var wk=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError(\"`maxSize` must be a number greater than 0\");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,t){if(this.cache.set(e,t),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction==\"function\")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let t=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,t),t}}set(e,t){return this.cache.has(e)?this.cache.set(e,t):this._set(e,t),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[t]=e;this.cache.has(t)||(yield e)}}get size(){let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}};Kz.exports=wk});var bk=w((git,Yz)=>{\"use strict\";var uxe=J(\"events\"),gxe=J(\"tls\"),fxe=J(\"http2\"),hxe=Bk(),tn=Symbol(\"currentStreamsCount\"),Uz=Symbol(\"request\"),ms=Symbol(\"cachedOriginSet\"),Df=Symbol(\"gracefullyClosing\"),pxe=[\"maxDeflateDynamicTableSize\",\"maxSessionMemory\",\"maxHeaderListPairs\",\"maxOutstandingPings\",\"maxReservedRemoteStreams\",\"maxSendHeaderBlockLength\",\"paddingStrategy\",\"localAddress\",\"path\",\"rejectUnauthorized\",\"minDHSize\",\"ca\",\"cert\",\"clientCertEngine\",\"ciphers\",\"key\",\"pfx\",\"servername\",\"minVersion\",\"maxVersion\",\"secureProtocol\",\"crl\",\"honorCipherOrder\",\"ecdhCurve\",\"dhparam\",\"secureOptions\",\"sessionIdContext\"],dxe=(r,e,t)=>{let i=0,n=r.length;for(;i<n;){let s=i+n>>>1;t(r[s],e)?i=s+1:n=s}return i},Cxe=(r,e)=>r.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,Qk=(r,e)=>{for(let t of r)t[ms].length<e[ms].length&&t[ms].every(i=>e[ms].includes(i))&&t[tn]+e[tn]<=e.remoteSettings.maxConcurrentStreams&&Gz(t)},mxe=(r,e)=>{for(let t of r)e[ms].length<t[ms].length&&e[ms].every(i=>t[ms].includes(i))&&e[tn]+t[tn]<=t.remoteSettings.maxConcurrentStreams&&Gz(e)},Hz=({agent:r,isFree:e})=>{let t={};for(let i in r.sessions){let s=r.sessions[i].filter(o=>{let a=o[jo.kCurrentStreamsCount]<o.remoteSettings.maxConcurrentStreams;return e?a:!a});s.length!==0&&(t[i]=s)}return t},Gz=r=>{r[Df]=!0,r[tn]===0&&r.close()},jo=class extends uxe{constructor({timeout:e=6e4,maxSessions:t=1/0,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=t,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new hxe({maxSize:n})}static normalizeOrigin(e,t){return typeof e==\"string\"&&(e=new URL(e)),t&&e.hostname!==t&&(e.hostname=t),e.origin}normalizeOptions(e){let t=\"\";if(e)for(let i of pxe)e[i]&&(t+=`:${e[i]}`);return t}_tryToCreateNewSession(e,t){if(!(e in this.queue)||!(t in this.queue[e]))return;let i=this.queue[e][t];this._sessionsCount<this.maxSessions&&!i.completed&&(i.completed=!0,i())}getSession(e,t,i){return new Promise((n,s)=>{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(t),a=jo.normalizeOrigin(e,t&&t.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError(\"The `origin` argument needs to be a string or an URL object\"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let C=p.remoteSettings.maxConcurrentStreams;if(C<g)break;if(p[ms].includes(a)){let y=p[tn];if(y>=C||p[Df]||p.destroyed)continue;h||(g=C),y>f&&(h=p,f=y)}}if(h){if(i.length!==1){for(let{reject:p}of i){let C=new Error(`Expected the length of listeners to be 1, got ${i.length}.\nPlease report this to https://github.com/szmarczak/http2-wrapper/`);p(C)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=fxe.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u),...t});f[tn]=0,f[Df]=!1;let h=()=>f[tn]<f.remoteSettings.maxConcurrentStreams,p=!0;f.socket.once(\"session\",y=>{this.tlsSessionCache.set(u,y)}),f.once(\"error\",y=>{for(let{reject:B}of i)B(y);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once(\"close\",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let y=this.sessions[o];y.splice(y.indexOf(f),1),y.length===0&&delete this.sessions[o]}else{let y=new Error(\"Session closed without receiving a SETTINGS frame\");y.code=\"HTTP2WRAPPER_NOSETTINGS\";for(let{reject:B}of i)B(y);l()}this._tryToCreateNewSession(o,a)});let C=()=>{if(!(!(o in this.queue)||!h())){for(let y of f[ms])if(y in this.queue[o]){let{listeners:B}=this.queue[o][y];for(;B.length!==0&&h();)B.shift().resolve(f);let v=this.queue[o];if(v[y].listeners.length===0&&(delete v[y],Object.keys(v).length===0)){delete this.queue[o];break}if(!h())break}}};f.on(\"origin\",()=>{f[ms]=f.originSet,h()&&(C(),Qk(this.sessions[o],f))}),f.once(\"remoteSettings\",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let y=new Error(\"Agent has been destroyed\");for(let B of i)B.reject(y);f.destroy();return}f[ms]=f.originSet;{let y=this.sessions;if(o in y){let B=y[o];B.splice(dxe(B,f,Cxe),0,f)}else y[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit(\"session\",f),C(),l(),f[tn]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,t,i),i.length=0),f.on(\"remoteSettings\",()=>{C(),Qk(this.sessions[o],f)})}),f[Uz]=f.request,f.request=(y,B)=>{if(f[Df])throw new Error(\"The session is gracefully closing. No new streams are allowed.\");let v=f[Uz](y,B);return f.ref(),++f[tn],f[tn]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,v.once(\"close\",()=>{if(p=h(),--f[tn],!f.destroyed&&!f.closed&&(mxe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let D=f[tn]===0;D&&f.unref(),D&&(this._freeSessionsCount>this.maxFreeSessions||f[Df])?f.close():(Qk(this.sessions[o],f),C())}}),v}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,t,i,n){return new Promise((s,o)=>{this.getSession(e,t,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,t){return jo.connect(e,t)}static connect(e,t){t.ALPNProtocols=[\"h2\"];let i=e.port||443,n=e.hostname||e.host;return typeof t.servername>\"u\"&&(t.servername=n),gxe.connect(i,n,t)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let t of e)t[tn]===0&&t.close()}destroy(e){for(let t of Object.values(this.sessions))for(let i of t)i.destroy(e);for(let t of Object.values(this.queue))for(let i of Object.values(t))i.destroyed=!0;this.queue={}}get freeSessions(){return Hz({agent:this,isFree:!0})}get busySessions(){return Hz({agent:this,isFree:!1})}};jo.kCurrentStreamsCount=tn;jo.kGracefullyClosing=Df;Yz.exports={Agent:jo,globalAgent:new jo}});var vk=w((fit,jz)=>{\"use strict\";var{Readable:Exe}=J(\"stream\"),Sk=class extends Exe{constructor(e,t){super({highWaterMark:t,autoDestroy:!1}),this.statusCode=null,this.statusMessage=\"\",this.httpVersion=\"2.0\",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,t){return this.req.setTimeout(e,t),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners(\"data\"),this.resume())}_read(){this.req&&this.req._request.resume()}};jz.exports=Sk});var xk=w((hit,qz)=>{\"use strict\";qz.exports=r=>{let e={protocol:r.protocol,hostname:typeof r.hostname==\"string\"&&r.hostname.startsWith(\"[\")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||\"\"}${r.search||\"\"}`};return typeof r.port==\"string\"&&r.port.length!==0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||\"\"}:${r.password||\"\"}`),e}});var Wz=w((pit,Jz)=>{\"use strict\";Jz.exports=(r,e,t)=>{for(let i of t)r.on(i,(...n)=>e.emit(i,...n))}});var Vz=w((dit,zz)=>{\"use strict\";zz.exports=r=>{switch(r){case\":method\":case\":scheme\":case\":authority\":case\":path\":return!0;default:return!1}}});var _z=w((mit,Xz)=>{\"use strict\";var kf=(r,e,t)=>{Xz.exports[e]=class extends r{constructor(...n){super(typeof t==\"string\"?t:t(n)),this.name=`${super.name} [${e}]`,this.code=e}}};kf(TypeError,\"ERR_INVALID_ARG_TYPE\",r=>{let e=r[0].includes(\".\")?\"property\":\"argument\",t=r[1],i=Array.isArray(t);return i&&(t=`${t.slice(0,-1).join(\", \")} or ${t.slice(-1)}`),`The \"${r[0]}\" ${e} must be ${i?\"one of\":\"of\"} type ${t}. Received ${typeof r[2]}`});kf(TypeError,\"ERR_INVALID_PROTOCOL\",r=>`Protocol \"${r[0]}\" not supported. Expected \"${r[1]}\"`);kf(Error,\"ERR_HTTP_HEADERS_SENT\",r=>`Cannot ${r[0]} headers after they are sent to the client`);kf(TypeError,\"ERR_INVALID_HTTP_TOKEN\",r=>`${r[0]} must be a valid HTTP token [${r[1]}]`);kf(TypeError,\"ERR_HTTP_INVALID_HEADER_VALUE\",r=>`Invalid value \"${r[0]} for header \"${r[1]}\"`);kf(TypeError,\"ERR_INVALID_CHAR\",r=>`Invalid character in ${r[0]} [${r[1]}]`)});var Fk=w((Eit,n5)=>{\"use strict\";var Ixe=J(\"http2\"),{Writable:yxe}=J(\"stream\"),{Agent:Zz,globalAgent:wxe}=bk(),Bxe=vk(),Qxe=xk(),bxe=Wz(),Sxe=Vz(),{ERR_INVALID_ARG_TYPE:Pk,ERR_INVALID_PROTOCOL:vxe,ERR_HTTP_HEADERS_SENT:$z,ERR_INVALID_HTTP_TOKEN:xxe,ERR_HTTP_INVALID_HEADER_VALUE:Pxe,ERR_INVALID_CHAR:Dxe}=_z(),{HTTP2_HEADER_STATUS:e5,HTTP2_HEADER_METHOD:t5,HTTP2_HEADER_PATH:r5,HTTP2_METHOD_CONNECT:kxe}=Ixe.constants,Ki=Symbol(\"headers\"),Dk=Symbol(\"origin\"),kk=Symbol(\"session\"),i5=Symbol(\"options\"),Uw=Symbol(\"flushedHeaders\"),AC=Symbol(\"jobs\"),Rxe=/^[\\^`\\-\\w!#$%&*+.|~]+$/,Fxe=/[^\\t\\u0020-\\u007E\\u0080-\\u00FF]/,Rk=class extends yxe{constructor(e,t,i){super({autoDestroy:!1});let n=typeof e==\"string\"||e instanceof URL;if(n&&(e=Qxe(e instanceof URL?e:new URL(e))),typeof t==\"function\"||t===void 0?(i=t,t=n?e:{...e}):t={...e,...t},t.h2session)this[kk]=t.h2session;else if(t.agent===!1)this.agent=new Zz({maxFreeSessions:0});else if(typeof t.agent>\"u\"||t.agent===null)typeof t.createConnection==\"function\"?(this.agent=new Zz({maxFreeSessions:0}),this.agent.createConnection=t.createConnection):this.agent=wxe;else if(typeof t.agent.request==\"function\")this.agent=t.agent;else throw new Pk(\"options.agent\",[\"Agent-like Object\",\"undefined\",\"false\"],t.agent);if(t.protocol&&t.protocol!==\"https:\")throw new vxe(t.protocol,\"https:\");let s=t.port||t.defaultPort||this.agent&&this.agent.defaultPort||443,o=t.hostname||t.host||\"localhost\";delete t.hostname,delete t.host,delete t.port;let{timeout:a}=t;if(t.timeout=void 0,this[Ki]=Object.create(null),this[AC]=[],this.socket=null,this.connection=null,this.method=t.method||\"GET\",this.path=t.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,t.headers)for(let[l,c]of Object.entries(t.headers))this.setHeader(l,c);t.auth&&!(\"authorization\"in this[Ki])&&(this[Ki].authorization=\"Basic \"+Buffer.from(t.auth).toString(\"base64\")),t.session=t.tlsSession,t.path=t.socketPath,this[i5]=t,s===443?(this[Dk]=`https://${o}`,\":authority\"in this[Ki]||(this[Ki][\":authority\"]=o)):(this[Dk]=`https://${o}:${s}`,\":authority\"in this[Ki]||(this[Ki][\":authority\"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once(\"response\",i),this[Uw]=!1}get method(){return this[Ki][t5]}set method(e){e&&(this[Ki][t5]=e.toUpperCase())}get path(){return this[Ki][r5]}set path(e){e&&(this[Ki][r5]=e)}get _mustNotHaveABody(){return this.method===\"GET\"||this.method===\"HEAD\"||this.method===\"DELETE\"}_write(e,t,i){if(this._mustNotHaveABody){i(new Error(\"The GET, HEAD and DELETE methods must NOT have a body\"));return}this.flushHeaders();let n=()=>this._request.write(e,t,i);this._request?n():this[AC].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let t=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?t():this[AC].push(t)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit(\"abort\")),this.aborted=!0,this.destroy())}_destroy(e,t){this.res&&this.res._dump(),this._request&&this._request.destroy(),t(e)}async flushHeaders(){if(this[Uw]||this.destroyed)return;this[Uw]=!0;let e=this.method===kxe,t=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||bxe(i,this,[\"timeout\",\"continue\",\"close\",\"error\"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once(\"finish\",()=>{o(...a)})};i.once(\"response\",n((o,a,l)=>{let c=new Bxe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[e5],c.headers=o,c.rawHeaders=l,c.once(\"end\",()=>{this.aborted?(c.aborted=!0,c.emit(\"aborted\")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit(\"connect\",c,i,Buffer.alloc(0))?this.emit(\"close\"):i.destroy()):(i.on(\"data\",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once(\"end\",()=>{c.push(null)}),this.emit(\"response\",c)||c._dump())})),i.once(\"headers\",n(o=>this.emit(\"information\",{statusCode:o[e5]}))),i.once(\"trailers\",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[AC])o();this.emit(\"socket\",this.socket)};if(this[kk])try{t(this[kk].request(this[Ki]))}catch(i){this.emit(\"error\",i)}else{this.reusedSocket=!0;try{t(await this.agent.request(this[Dk],this[i5],this[Ki]))}catch(i){this.emit(\"error\",i)}}}getHeader(e){if(typeof e!=\"string\")throw new Pk(\"name\",\"string\",e);return this[Ki][e.toLowerCase()]}get headersSent(){return this[Uw]}removeHeader(e){if(typeof e!=\"string\")throw new Pk(\"name\",\"string\",e);if(this.headersSent)throw new $z(\"remove\");delete this[Ki][e.toLowerCase()]}setHeader(e,t){if(this.headersSent)throw new $z(\"set\");if(typeof e!=\"string\"||!Rxe.test(e)&&!Sxe(e))throw new xxe(\"Header name\",e);if(typeof t>\"u\")throw new Pxe(t,e);if(Fxe.test(t))throw new Dxe(\"header content\",e);this[Ki][e.toLowerCase()]=t}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,t){let i=()=>this._request.setTimeout(e,t);return this._request?i():this[AC].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};n5.exports=Rk});var o5=w((Iit,s5)=>{\"use strict\";var Nxe=J(\"tls\");s5.exports=(r={})=>new Promise((e,t)=>{let i=Nxe.connect(r,()=>{r.resolveSocket?(i.off(\"error\",t),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on(\"error\",t)})});var A5=w((yit,a5)=>{\"use strict\";var Lxe=J(\"net\");a5.exports=r=>{let e=r.host,t=r.headers&&r.headers.host;return t&&(t.startsWith(\"[\")?t.indexOf(\"]\")===-1?e=t:e=t.slice(1,-1):e=t.split(\":\",1)[0]),Lxe.isIP(e)?\"\":e}});var u5=w((wit,Lk)=>{\"use strict\";var l5=J(\"http\"),Nk=J(\"https\"),Txe=o5(),Oxe=Bk(),Mxe=Fk(),Kxe=A5(),Uxe=xk(),Hw=new Oxe({maxSize:100}),lC=new Map,c5=(r,e,t)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{r.emit(\"free\",e,t)};e.on(\"free\",i);let n=()=>{r.removeSocket(e,t)};e.on(\"close\",n);let s=()=>{r.removeSocket(e,t),e.off(\"close\",n),e.off(\"free\",i),e.off(\"agentRemove\",s)};e.on(\"agentRemove\",s),r.emit(\"free\",e,t)},Hxe=async r=>{let e=`${r.host}:${r.port}:${r.ALPNProtocols.sort()}`;if(!Hw.has(e)){if(lC.has(e))return(await lC.get(e)).alpnProtocol;let{path:t,agent:i}=r;r.path=r.socketPath;let n=Txe(r);lC.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Hw.set(e,o),r.path=t,o===\"h2\")s.destroy();else{let{globalAgent:a}=Nk,l=Nk.Agent.prototype.createConnection;i?i.createConnection===l?c5(i,s,r):s.destroy():a.createConnection===l?c5(a,s,r):s.destroy()}return lC.delete(e),o}catch(s){throw lC.delete(e),s}}return Hw.get(e)};Lk.exports=async(r,e,t)=>{if((typeof r==\"string\"||r instanceof URL)&&(r=Uxe(new URL(r))),typeof e==\"function\"&&(t=e,e=void 0),e={ALPNProtocols:[\"h2\",\"http/1.1\"],...r,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error(\"The `ALPNProtocols` option must be an Array with at least one entry\");e.protocol=e.protocol||\"https:\";let i=e.protocol===\"https:\";e.host=e.hostname||e.host||\"localhost\",e.session=e.tlsSession,e.servername=e.servername||Kxe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?Nk.globalAgent:l5.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error(\"The `options.agent` object can contain only `http`, `https` or `http2` properties\");e.agent=n[i?\"https\":\"http\"]}return i&&await Hxe(e)===\"h2\"?(n&&(e.agent=n.http2),new Mxe(e,t)):l5.request(e,t)};Lk.exports.protocolCache=Hw});var f5=w((Bit,g5)=>{\"use strict\";var Gxe=J(\"http2\"),Yxe=bk(),Tk=Fk(),jxe=vk(),qxe=u5(),Jxe=(r,e,t)=>new Tk(r,e,t),Wxe=(r,e,t)=>{let i=new Tk(r,e,t);return i.end(),i};g5.exports={...Gxe,ClientRequest:Tk,IncomingMessage:jxe,...Yxe,request:Jxe,get:Wxe,auto:qxe}});var Mk=w(Ok=>{\"use strict\";Object.defineProperty(Ok,\"__esModule\",{value:!0});var h5=Ta();Ok.default=r=>h5.default.nodeStream(r)&&h5.default.function_(r.getBoundary)});var m5=w(Kk=>{\"use strict\";Object.defineProperty(Kk,\"__esModule\",{value:!0});var d5=J(\"fs\"),C5=J(\"util\"),p5=Ta(),zxe=Mk(),Vxe=C5.promisify(d5.stat);Kk.default=async(r,e)=>{if(e&&\"content-length\"in e)return Number(e[\"content-length\"]);if(!r)return 0;if(p5.default.string(r))return Buffer.byteLength(r);if(p5.default.buffer(r))return r.length;if(zxe.default(r))return C5.promisify(r.getLength.bind(r))();if(r instanceof d5.ReadStream){let{size:t}=await Vxe(r.path);return t===0?void 0:t}}});var Hk=w(Uk=>{\"use strict\";Object.defineProperty(Uk,\"__esModule\",{value:!0});function Xxe(r,e,t){let i={};for(let n of t)i[n]=(...s)=>{e.emit(n,...s)},r.on(n,i[n]);return()=>{for(let n of t)r.off(n,i[n])}}Uk.default=Xxe});var E5=w(Gk=>{\"use strict\";Object.defineProperty(Gk,\"__esModule\",{value:!0});Gk.default=()=>{let r=[];return{once(e,t,i){e.once(t,i),r.push({origin:e,event:t,fn:i})},unhandleAll(){for(let e of r){let{origin:t,event:i,fn:n}=e;t.removeListener(i,n)}r.length=0}}}});var y5=w(cC=>{\"use strict\";Object.defineProperty(cC,\"__esModule\",{value:!0});cC.TimeoutError=void 0;var _xe=J(\"net\"),Zxe=E5(),I5=Symbol(\"reentry\"),$xe=()=>{},Gw=class extends Error{constructor(e,t){super(`Timeout awaiting '${t}' for ${e}ms`),this.event=t,this.name=\"TimeoutError\",this.code=\"ETIMEDOUT\"}};cC.TimeoutError=Gw;cC.default=(r,e,t)=>{if(I5 in r)return $xe;r[I5]=!0;let i=[],{once:n,unhandleAll:s}=Zxe.default(),o=(g,f,h)=>{var p;let C=setTimeout(f,g,g,h);(p=C.unref)===null||p===void 0||p.call(C);let y=()=>{clearTimeout(C)};return i.push(y),y},{host:a,hostname:l}=t,c=(g,f)=>{r.destroy(new Gw(g,f))},u=()=>{for(let g of i)g();s()};if(r.once(\"error\",g=>{if(u(),r.listenerCount(\"error\")===0)throw g}),r.once(\"close\",u),n(r,\"response\",g=>{n(g,\"end\",u)}),typeof e.request<\"u\"&&o(e.request,c,\"request\"),typeof e.socket<\"u\"){let g=()=>{c(e.socket,\"socket\")};r.setTimeout(e.socket,g),i.push(()=>{r.removeListener(\"timeout\",g)})}return n(r,\"socket\",g=>{var f;let{socketPath:h}=r;if(g.connecting){let p=Boolean(h!=null?h:_xe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:\"\")!==0);if(typeof e.lookup<\"u\"&&!p&&typeof g.address().address>\"u\"){let C=o(e.lookup,c,\"lookup\");n(g,\"lookup\",C)}if(typeof e.connect<\"u\"){let C=()=>o(e.connect,c,\"connect\");p?n(g,\"connect\",C()):n(g,\"lookup\",y=>{y===null&&n(g,\"connect\",C())})}typeof e.secureConnect<\"u\"&&t.protocol===\"https:\"&&n(g,\"connect\",()=>{let C=o(e.secureConnect,c,\"secureConnect\");n(g,\"secureConnect\",C)})}if(typeof e.send<\"u\"){let p=()=>o(e.send,c,\"send\");g.connecting?n(g,\"connect\",()=>{n(r,\"upload-complete\",p())}):n(r,\"upload-complete\",p())}}),typeof e.response<\"u\"&&n(r,\"upload-complete\",()=>{let g=o(e.response,c,\"response\");n(r,\"response\",g)}),u}});var B5=w(Yk=>{\"use strict\";Object.defineProperty(Yk,\"__esModule\",{value:!0});var w5=Ta();Yk.default=r=>{r=r;let e={protocol:r.protocol,hostname:w5.default.string(r.hostname)&&r.hostname.startsWith(\"[\")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||\"\"}${r.search||\"\"}`};return w5.default.string(r.port)&&r.port.length>0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||\"\"}:${r.password||\"\"}`),e}});var Q5=w(jk=>{\"use strict\";Object.defineProperty(jk,\"__esModule\",{value:!0});var ePe=J(\"url\"),tPe=[\"protocol\",\"host\",\"hostname\",\"port\",\"pathname\",\"search\"];jk.default=(r,e)=>{var t,i;if(e.path){if(e.pathname)throw new TypeError(\"Parameters `path` and `pathname` are mutually exclusive.\");if(e.search)throw new TypeError(\"Parameters `path` and `search` are mutually exclusive.\");if(e.searchParams)throw new TypeError(\"Parameters `path` and `searchParams` are mutually exclusive.\")}if(e.search&&e.searchParams)throw new TypeError(\"Parameters `search` and `searchParams` are mutually exclusive.\");if(!r){if(!e.protocol)throw new TypeError(\"No URL protocol specified\");r=`${e.protocol}//${(i=(t=e.hostname)!==null&&t!==void 0?t:e.host)!==null&&i!==void 0?i:\"\"}`}let n=new ePe.URL(r);if(e.path){let s=e.path.indexOf(\"?\");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of tPe)e[s]&&(n[s]=e[s].toString());return n}});var b5=w(Jk=>{\"use strict\";Object.defineProperty(Jk,\"__esModule\",{value:!0});var qk=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,t){typeof e==\"object\"?this.weakMap.set(e,t):this.map.set(e,t)}get(e){return typeof e==\"object\"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e==\"object\"?this.weakMap.has(e):this.map.has(e)}};Jk.default=qk});var zk=w(Wk=>{\"use strict\";Object.defineProperty(Wk,\"__esModule\",{value:!0});var rPe=async r=>{let e=[],t=0;for await(let i of r)e.push(i),t+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,t):Buffer.from(e.join(\"\"))};Wk.default=rPe});var v5=w(Bc=>{\"use strict\";Object.defineProperty(Bc,\"__esModule\",{value:!0});Bc.dnsLookupIpVersionToFamily=Bc.isDnsLookupIpVersion=void 0;var S5={auto:0,ipv4:4,ipv6:6};Bc.isDnsLookupIpVersion=r=>r in S5;Bc.dnsLookupIpVersionToFamily=r=>{if(Bc.isDnsLookupIpVersion(r))return S5[r];throw new Error(\"Invalid DNS lookup IP version\")}});var Vk=w(Yw=>{\"use strict\";Object.defineProperty(Yw,\"__esModule\",{value:!0});Yw.isResponseOk=void 0;Yw.isResponseOk=r=>{let{statusCode:e}=r,t=r.request.options.followRedirect?299:399;return e>=200&&e<=t||e===304}});var P5=w(Xk=>{\"use strict\";Object.defineProperty(Xk,\"__esModule\",{value:!0});var x5=new Set;Xk.default=r=>{x5.has(r)||(x5.add(r),process.emitWarning(`Got: ${r}`,{type:\"DeprecationWarning\"}))}});var D5=w(_k=>{\"use strict\";Object.defineProperty(_k,\"__esModule\",{value:!0});var mr=Ta(),iPe=(r,e)=>{if(mr.default.null_(r.encoding))throw new TypeError(\"To get a Buffer, set `options.responseType` to `buffer` instead\");mr.assert.any([mr.default.string,mr.default.undefined],r.encoding),mr.assert.any([mr.default.boolean,mr.default.undefined],r.resolveBodyOnly),mr.assert.any([mr.default.boolean,mr.default.undefined],r.methodRewriting),mr.assert.any([mr.default.boolean,mr.default.undefined],r.isStream),mr.assert.any([mr.default.string,mr.default.undefined],r.responseType),r.responseType===void 0&&(r.responseType=\"text\");let{retry:t}=r;if(e?r.retry={...e.retry}:r.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},mr.default.object(t)?(r.retry={...r.retry,...t},r.retry.methods=[...new Set(r.retry.methods.map(i=>i.toUpperCase()))],r.retry.statusCodes=[...new Set(r.retry.statusCodes)],r.retry.errorCodes=[...new Set(r.retry.errorCodes)]):mr.default.number(t)&&(r.retry.limit=t),mr.default.undefined(r.retry.maxRetryAfter)&&(r.retry.maxRetryAfter=Math.min(...[r.timeout.request,r.timeout.connect].filter(mr.default.number))),mr.default.object(r.pagination)){e&&(r.pagination={...e.pagination,...r.pagination});let{pagination:i}=r;if(!mr.default.function_(i.transform))throw new Error(\"`options.pagination.transform` must be implemented\");if(!mr.default.function_(i.shouldContinue))throw new Error(\"`options.pagination.shouldContinue` must be implemented\");if(!mr.default.function_(i.filter))throw new TypeError(\"`options.pagination.filter` must be implemented\");if(!mr.default.function_(i.paginate))throw new Error(\"`options.pagination.paginate` must be implemented\")}return r.responseType===\"json\"&&r.headers.accept===void 0&&(r.headers.accept=\"application/json\"),r};_k.default=iPe});var k5=w(uC=>{\"use strict\";Object.defineProperty(uC,\"__esModule\",{value:!0});uC.retryAfterStatusCodes=void 0;uC.retryAfterStatusCodes=new Set([413,429,503]);var nPe=({attemptCount:r,retryOptions:e,error:t,retryAfter:i})=>{if(r>e.limit)return 0;let n=e.methods.includes(t.options.method),s=e.errorCodes.includes(t.code),o=t.response&&e.statusCodes.includes(t.response.statusCode);if(!n||!s&&!o)return 0;if(t.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(t.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(r-1)*1e3+a};uC.default=nPe});var hC=w(Yt=>{\"use strict\";Object.defineProperty(Yt,\"__esModule\",{value:!0});Yt.UnsupportedProtocolError=Yt.ReadError=Yt.TimeoutError=Yt.UploadError=Yt.CacheError=Yt.HTTPError=Yt.MaxRedirectsError=Yt.RequestError=Yt.setNonEnumerableProperties=Yt.knownHookEvents=Yt.withoutBody=Yt.kIsNormalizedAlready=void 0;var R5=J(\"util\"),F5=J(\"stream\"),sPe=J(\"fs\"),UA=J(\"url\"),N5=J(\"http\"),Zk=J(\"http\"),oPe=J(\"https\"),aPe=V8(),APe=rz(),L5=Nz(),lPe=Mz(),cPe=f5(),uPe=Mw(),Ee=Ta(),gPe=m5(),T5=Mk(),fPe=Hk(),O5=y5(),hPe=B5(),M5=Q5(),pPe=b5(),dPe=zk(),K5=v5(),CPe=Vk(),HA=P5(),mPe=D5(),EPe=k5(),$k,xi=Symbol(\"request\"),Jw=Symbol(\"response\"),Rf=Symbol(\"responseSize\"),Ff=Symbol(\"downloadedSize\"),Nf=Symbol(\"bodySize\"),Lf=Symbol(\"uploadedSize\"),jw=Symbol(\"serverResponsesPiped\"),U5=Symbol(\"unproxyEvents\"),H5=Symbol(\"isFromCache\"),eR=Symbol(\"cancelTimeouts\"),G5=Symbol(\"startedReading\"),Tf=Symbol(\"stopReading\"),qw=Symbol(\"triggerRead\"),GA=Symbol(\"body\"),gC=Symbol(\"jobs\"),Y5=Symbol(\"originalResponse\"),j5=Symbol(\"retryTimeout\");Yt.kIsNormalizedAlready=Symbol(\"isNormalizedAlready\");var IPe=Ee.default.string(process.versions.brotli);Yt.withoutBody=new Set([\"GET\",\"HEAD\"]);Yt.knownHookEvents=[\"init\",\"beforeRequest\",\"beforeRedirect\",\"beforeError\",\"beforeRetry\",\"afterResponse\"];function yPe(r){for(let e in r){let t=r[e];if(!Ee.default.string(t)&&!Ee.default.number(t)&&!Ee.default.boolean(t)&&!Ee.default.null_(t)&&!Ee.default.undefined(t))throw new TypeError(`The \\`searchParams\\` value '${String(t)}' must be a string, number, boolean or null`)}}function wPe(r){return Ee.default.object(r)&&!(\"statusCode\"in r)}var tR=new pPe.default,BPe=async r=>new Promise((e,t)=>{let i=n=>{t(n)};r.pending||e(),r.once(\"error\",i),r.once(\"ready\",()=>{r.off(\"error\",i),e()})}),QPe=new Set([300,301,302,303,304,307,308]),bPe=[\"context\",\"body\",\"json\",\"form\"];Yt.setNonEnumerableProperties=(r,e)=>{let t={};for(let i of r)if(!!i)for(let n of bPe)n in i&&(t[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,t)};var ei=class extends Error{constructor(e,t,i){var n;if(super(e),Error.captureStackTrace(this,this.constructor),this.name=\"RequestError\",this.code=t.code,i instanceof $w?(Object.defineProperty(this,\"request\",{enumerable:!1,value:i}),Object.defineProperty(this,\"response\",{enumerable:!1,value:i[Jw]}),Object.defineProperty(this,\"options\",{enumerable:!1,value:i.options})):Object.defineProperty(this,\"options\",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,Ee.default.string(t.stack)&&Ee.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(`\n`).reverse(),a=t.stack.slice(t.stack.indexOf(t.message)+t.message.length).split(`\n`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(`\n`)}${a.reverse().join(`\n`)}`}}};Yt.RequestError=ei;var Ww=class extends ei{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name=\"MaxRedirectsError\"}};Yt.MaxRedirectsError=Ww;var zw=class extends ei{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name=\"HTTPError\"}};Yt.HTTPError=zw;var Vw=class extends ei{constructor(e,t){super(e.message,e,t),this.name=\"CacheError\"}};Yt.CacheError=Vw;var Xw=class extends ei{constructor(e,t){super(e.message,e,t),this.name=\"UploadError\"}};Yt.UploadError=Xw;var _w=class extends ei{constructor(e,t,i){super(e.message,e,i),this.name=\"TimeoutError\",this.event=e.event,this.timings=t}};Yt.TimeoutError=_w;var fC=class extends ei{constructor(e,t){super(e.message,e,t),this.name=\"ReadError\"}};Yt.ReadError=fC;var Zw=class extends ei{constructor(e){super(`Unsupported protocol \"${e.url.protocol}\"`,{},e),this.name=\"UnsupportedProtocolError\"}};Yt.UnsupportedProtocolError=Zw;var SPe=[\"socket\",\"connect\",\"continue\",\"information\",\"upgrade\",\"timeout\"],$w=class extends F5.Duplex{constructor(e,t={},i){super({autoDestroy:!1,highWaterMark:0}),this[Ff]=0,this[Lf]=0,this.requestInitialized=!1,this[jw]=new Set,this.redirects=[],this[Tf]=!1,this[qw]=!1,this[gC]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on(\"pipe\",c=>{c.prependListener(\"data\",n),c.on(\"data\",s),c.prependListener(\"end\",n),c.on(\"end\",s)}),this.on(\"unpipe\",c=>{c.off(\"data\",n),c.off(\"data\",s),c.off(\"end\",n),c.off(\"end\",s)}),this.on(\"pipe\",c=>{c instanceof Zk.IncomingMessage&&(this.options.headers={...c.headers,...this.options.headers})});let{json:o,body:a,form:l}=t;if((o||a||l)&&this._lockWrite(),Yt.kIsNormalizedAlready in t)this.options=t;else try{this.options=this.constructor.normalizeArguments(e,t,i)}catch(c){Ee.default.nodeStream(t.body)&&t.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof sPe.ReadStream&&await BPe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError(\"Missing `url` property\");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[xi])===null||c===void 0||c.destroy();return}for(let g of this[gC])g();this[gC].length=0,this.requestInitialized=!0}catch(u){if(u instanceof ei){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,t,i){var n,s,o,a,l;let c=t;if(Ee.default.object(e)&&!Ee.default.urlInstance(e))t={...i,...e,...t};else{if(e&&t&&t.url!==void 0)throw new TypeError(\"The `url` option is mutually exclusive with the `input` argument\");t={...i,...t},e!==void 0&&(t.url=e),Ee.default.urlInstance(t.url)&&(t.url=new UA.URL(t.url.toString()))}if(t.cache===!1&&(t.cache=void 0),t.dnsCache===!1&&(t.dnsCache=void 0),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.method),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.headers),Ee.assert.any([Ee.default.string,Ee.default.urlInstance,Ee.default.undefined],t.prefixUrl),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cookieJar),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.searchParams),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.cache),Ee.assert.any([Ee.default.object,Ee.default.number,Ee.default.undefined],t.timeout),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.context),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.hooks),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.decompress),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.ignoreInvalidCookies),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.followRedirect),Ee.assert.any([Ee.default.number,Ee.default.undefined],t.maxRedirects),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.throwHttpErrors),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.http2),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.allowGetBody),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.localAddress),Ee.assert.any([K5.isDnsLookupIpVersion,Ee.default.undefined],t.dnsLookupIpVersion),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.https),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.rejectUnauthorized),t.https&&(Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.https.rejectUnauthorized),Ee.assert.any([Ee.default.function_,Ee.default.undefined],t.https.checkServerIdentity),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificateAuthority),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.key),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificate),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.https.passphrase),Ee.assert.any([Ee.default.string,Ee.default.buffer,Ee.default.array,Ee.default.undefined],t.https.pfx)),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cacheOptions),Ee.default.string(t.method)?t.method=t.method.toUpperCase():t.method=\"GET\",t.headers===(i==null?void 0:i.headers)?t.headers={...t.headers}:t.headers=uPe({...i==null?void 0:i.headers,...t.headers}),\"slashes\"in t)throw new TypeError(\"The legacy `url.Url` has been deprecated. Use `URL` instead.\");if(\"auth\"in t)throw new TypeError(\"Parameter `auth` is deprecated. Use `username` / `password` instead.\");if(\"searchParams\"in t&&t.searchParams&&t.searchParams!==(i==null?void 0:i.searchParams)){let h;if(Ee.default.string(t.searchParams)||t.searchParams instanceof UA.URLSearchParams)h=new UA.URLSearchParams(t.searchParams);else{yPe(t.searchParams),h=new UA.URLSearchParams;for(let p in t.searchParams){let C=t.searchParams[p];C===null?h.append(p,\"\"):C!==void 0&&h.append(p,C)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,C)=>{h.has(C)||h.append(C,p)}),t.searchParams=h}if(t.username=(s=t.username)!==null&&s!==void 0?s:\"\",t.password=(o=t.password)!==null&&o!==void 0?o:\"\",Ee.default.undefined(t.prefixUrl)?t.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:\"\":(t.prefixUrl=t.prefixUrl.toString(),t.prefixUrl!==\"\"&&!t.prefixUrl.endsWith(\"/\")&&(t.prefixUrl+=\"/\")),Ee.default.string(t.url)){if(t.url.startsWith(\"/\"))throw new Error(\"`input` must not start with a slash when using `prefixUrl`\");t.url=M5.default(t.prefixUrl+t.url,t)}else(Ee.default.undefined(t.url)&&t.prefixUrl!==\"\"||t.protocol)&&(t.url=M5.default(t.prefixUrl,t));if(t.url){\"port\"in t&&delete t.port;let{prefixUrl:h}=t;Object.defineProperty(t,\"prefixUrl\",{set:C=>{let y=t.url;if(!y.href.startsWith(C))throw new Error(`Cannot change \\`prefixUrl\\` from ${h} to ${C}: ${y.href}`);t.url=new UA.URL(C+y.href.slice(h.length)),h=C},get:()=>h});let{protocol:p}=t.url;if(p===\"unix:\"&&(p=\"http:\",t.url=new UA.URL(`http://unix${t.url.pathname}${t.url.search}`)),t.searchParams&&(t.url.search=t.searchParams.toString()),p!==\"http:\"&&p!==\"https:\")throw new Zw(t);t.username===\"\"?t.username=t.url.username:t.url.username=t.username,t.password===\"\"?t.password=t.url.password:t.url.password=t.password}let{cookieJar:u}=t;if(u){let{setCookie:h,getCookieString:p}=u;Ee.assert.function_(h),Ee.assert.function_(p),h.length===4&&p.length===0&&(h=R5.promisify(h.bind(t.cookieJar)),p=R5.promisify(p.bind(t.cookieJar)),t.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=t;if(g&&(tR.has(g)||tR.set(g,new L5((h,p)=>{let C=h[xi](h,p);return Ee.default.promise(C)&&(C.once=(y,B)=>{if(y===\"error\")C.catch(B);else if(y===\"abort\")(async()=>{try{(await C).once(\"abort\",B)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${y}`);return C}),C},g))),t.cacheOptions={...t.cacheOptions},t.dnsCache===!0)$k||($k=new APe.default),t.dnsCache=$k;else if(!Ee.default.undefined(t.dnsCache)&&!t.dnsCache.lookup)throw new TypeError(`Parameter \\`dnsCache\\` must be a CacheableLookup instance or a boolean, got ${Ee.default(t.dnsCache)}`);Ee.default.number(t.timeout)?t.timeout={request:t.timeout}:i&&t.timeout!==i.timeout?t.timeout={...i.timeout,...t.timeout}:t.timeout={...t.timeout},t.context||(t.context={});let f=t.hooks===(i==null?void 0:i.hooks);t.hooks={...t.hooks};for(let h of Yt.knownHookEvents)if(h in t.hooks)if(Ee.default.array(t.hooks[h]))t.hooks[h]=[...t.hooks[h]];else throw new TypeError(`Parameter \\`${h}\\` must be an Array, got ${Ee.default(t.hooks[h])}`);else t.hooks[h]=[];if(i&&!f)for(let h of Yt.knownHookEvents)i.hooks[h].length>0&&(t.hooks[h]=[...i.hooks[h],...t.hooks[h]]);if(\"family\"in t&&HA.default('\"options.family\" was never documented, please use \"options.dnsLookupIpVersion\"'),i!=null&&i.https&&(t.https={...i.https,...t.https}),\"rejectUnauthorized\"in t&&HA.default('\"options.rejectUnauthorized\" is now deprecated, please use \"options.https.rejectUnauthorized\"'),\"checkServerIdentity\"in t&&HA.default('\"options.checkServerIdentity\" was never documented, please use \"options.https.checkServerIdentity\"'),\"ca\"in t&&HA.default('\"options.ca\" was never documented, please use \"options.https.certificateAuthority\"'),\"key\"in t&&HA.default('\"options.key\" was never documented, please use \"options.https.key\"'),\"cert\"in t&&HA.default('\"options.cert\" was never documented, please use \"options.https.certificate\"'),\"passphrase\"in t&&HA.default('\"options.passphrase\" was never documented, please use \"options.https.passphrase\"'),\"pfx\"in t&&HA.default('\"options.pfx\" was never documented, please use \"options.https.pfx\"'),\"followRedirects\"in t)throw new TypeError(\"The `followRedirects` option does not exist. Use `followRedirect` instead.\");if(t.agent){for(let h in t.agent)if(h!==\"http\"&&h!==\"https\"&&h!==\"http2\")throw new TypeError(`Expected the \\`options.agent\\` properties to be \\`http\\`, \\`https\\` or \\`http2\\`, got \\`${h}\\``)}return t.maxRedirects=(l=t.maxRedirects)!==null&&l!==void 0?l:0,Yt.setNonEnumerableProperties([i,c],t),mPe.default(t,i)}_lockWrite(){let e=()=>{throw new TypeError(\"The payload has been already provided\")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:t}=e,i=!Ee.default.undefined(e.form),n=!Ee.default.undefined(e.json),s=!Ee.default.undefined(e.body),o=i||n||s,a=Yt.withoutBody.has(e.method)&&!(e.method===\"GET\"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \\`${e.method}\\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError(\"The `body`, `json` and `form` options are mutually exclusive\");if(s&&!(e.body instanceof F5.Readable)&&!Ee.default.string(e.body)&&!Ee.default.buffer(e.body)&&!T5.default(e.body))throw new TypeError(\"The `body` option must be a stream.Readable, string or Buffer\");if(i&&!Ee.default.object(e.form))throw new TypeError(\"The `form` option must be an Object\");{let l=!Ee.default.string(t[\"content-type\"]);s?(T5.default(e.body)&&l&&(t[\"content-type\"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[GA]=e.body):i?(l&&(t[\"content-type\"]=\"application/x-www-form-urlencoded\"),this[GA]=new UA.URLSearchParams(e.form).toString()):(l&&(t[\"content-type\"]=\"application/json\"),this[GA]=e.stringifyJson(e.json));let c=await gPe.default(this[GA],e.headers);Ee.default.undefined(t[\"content-length\"])&&Ee.default.undefined(t[\"transfer-encoding\"])&&!a&&!Ee.default.undefined(c)&&(t[\"content-length\"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[Nf]=Number(t[\"content-length\"])||void 0}async _onResponseBase(e){let{options:t}=this,{url:i}=t;this[Y5]=e,t.decompress&&(e=lPe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:N5.STATUS_CODES[n],s.url=t.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[H5]=s.isFromCache,this[Rf]=Number(e.headers[\"content-length\"])||void 0,this[Jw]=e,e.once(\"end\",()=>{this[Rf]=this[Ff],this.emit(\"downloadProgress\",this.downloadProgress)}),e.once(\"error\",a=>{e.destroy(),this._beforeError(new fC(a,this))}),e.once(\"aborted\",()=>{this._beforeError(new fC({name:\"Error\",message:\"The server aborted pending request\",code:\"ECONNRESET\"},this))}),this.emit(\"downloadProgress\",this.downloadProgress);let o=e.headers[\"set-cookie\"];if(Ee.default.object(t.cookieJar)&&o){let a=o.map(async l=>t.cookieJar.setCookie(l,i.toString()));t.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(t.followRedirect&&e.headers.location&&QPe.has(n)){if(e.resume(),this[xi]&&(this[eR](),delete this[xi],this[U5]()),(n===303&&t.method!==\"GET\"&&t.method!==\"HEAD\"||!t.methodRewriting)&&(t.method=\"GET\",\"body\"in t&&delete t.body,\"json\"in t&&delete t.json,\"form\"in t&&delete t.form,this[GA]=void 0,delete t.headers[\"content-length\"]),this.redirects.length>=t.maxRedirects){this._beforeError(new Ww(this));return}try{let l=Buffer.from(e.headers.location,\"binary\").toString(),c=new UA.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?(\"host\"in t.headers&&delete t.headers.host,\"cookie\"in t.headers&&delete t.headers.cookie,\"authorization\"in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(t.username=\"\",t.password=\"\")):(c.username=t.username,c.password=t.password),this.redirects.push(u),t.url=c;for(let g of t.hooks.beforeRedirect)await g(t,s);this.emit(\"redirect\",s,t),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(t.isStream&&t.throwHttpErrors&&!CPe.isResponseOk(s)){this._beforeError(new zw(s));return}e.on(\"readable\",()=>{this[qw]&&this._read()}),this.on(\"resume\",()=>{e.resume()}),this.on(\"pause\",()=>{e.pause()}),e.once(\"end\",()=>{this.push(null)}),this.emit(\"response\",e);for(let a of this[jw])if(!a.headersSent){for(let l in e.headers){let c=t.decompress?l!==\"content-encoding\":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(t){this._beforeError(t)}}_onRequest(e){let{options:t}=this,{timeout:i,url:n}=t;aPe.default(e),this[eR]=O5.default(e,i,n);let s=t.cache?\"cacheableResponse\":\"response\";e.once(s,l=>{this._onResponse(l)}),e.once(\"error\",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners(\"end\"),l=l instanceof O5.TimeoutError?new _w(l,this.timings,this):new ei(l.message,l,this),this._beforeError(l)}),this[U5]=fPe.default(e,this,SPe),this[xi]=e,this.emit(\"uploadProgress\",this.uploadProgress);let o=this[GA],a=this.redirects.length===0?this:e;Ee.default.nodeStream(o)?(o.pipe(a),o.once(\"error\",l=>{this._beforeError(new Xw(l,this))})):(this._unlockWrite(),Ee.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit(\"request\",e)}async _createCacheableRequest(e,t){return new Promise((i,n)=>{Object.assign(t,hPe.default(e)),delete t.url;let s,o=tR.get(t.cache)(t,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit(\"cacheableResponse\",a),i(a)});t.url=e,o.once(\"error\",n),o.once(\"request\",async a=>{s=a,i(s)})})}async _makeRequest(){var e,t,i,n,s;let{options:o}=this,{headers:a}=o;for(let B in a)if(Ee.default.undefined(a[B]))delete a[B];else if(Ee.default.null_(a[B]))throw new TypeError(`Use \\`undefined\\` instead of \\`null\\` to delete the \\`${B}\\` header`);if(o.decompress&&Ee.default.undefined(a[\"accept-encoding\"])&&(a[\"accept-encoding\"]=IPe?\"gzip, deflate, br\":\"gzip, deflate\"),o.cookieJar){let B=await o.cookieJar.getCookieString(o.url.toString());Ee.default.nonEmptyString(B)&&(o.headers.cookie=B)}for(let B of o.hooks.beforeRequest){let v=await B(o);if(!Ee.default.undefined(v)){o.request=()=>v;break}}o.body&&this[GA]!==o.body&&(this[GA]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!(\"lookup\"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname===\"unix\"){let B=/(?<socketPath>.+?):(?<path>.+)/.exec(`${g.pathname}${g.search}`);if(B!=null&&B.groups){let{socketPath:v,path:D}=B.groups;Object.assign(o,{socketPath:v,path:D,host:\"\"})}}let f=g.protocol===\"https:\",h;o.http2?h=cPe.auto:h=f?oPe.request:N5.request;let p=(e=o.request)!==null&&e!==void 0?e:h,C=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?\"https\":\"http\"]),o[xi]=p,delete o.request,delete o.timeout;let y=o;if(y.shared=(t=o.cacheOptions)===null||t===void 0?void 0:t.shared,y.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,y.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,y.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{y.family=K5.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch{throw new Error(\"Invalid `dnsLookupIpVersion` option value\")}o.https&&(\"rejectUnauthorized\"in o.https&&(y.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(y.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(y.ca=o.https.certificateAuthority),o.https.certificate&&(y.cert=o.https.certificate),o.https.key&&(y.key=o.https.key),o.https.passphrase&&(y.passphrase=o.https.passphrase),o.https.pfx&&(y.pfx=o.https.pfx));try{let B=await C(g,y);Ee.default.undefined(B)&&(B=h(g,y)),o.request=c,o.timeout=u,o.agent=l,o.https&&(\"rejectUnauthorized\"in o.https&&delete y.rejectUnauthorized,o.https.checkServerIdentity&&delete y.checkServerIdentity,o.https.certificateAuthority&&delete y.ca,o.https.certificate&&delete y.cert,o.https.key&&delete y.key,o.https.passphrase&&delete y.passphrase,o.https.pfx&&delete y.pfx),wPe(B)?this._onRequest(B):this.writable?(this.once(\"finish\",()=>{this._onResponse(B)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(B)}catch(B){throw B instanceof L5.CacheError?new Vw(B,this):new ei(B.message,B,this)}}async _error(e){try{for(let t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new ei(t.message,t,this)}this.destroy(e)}_beforeError(e){if(this[Tf])return;let{options:t}=this,i=this.retryCount+1;this[Tf]=!0,e instanceof ei||(e=new ei(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await dPe.default(s),s.body=s.rawBody.toString()}catch{}}if(this.listenerCount(\"retry\")!==0){let o;try{let a;s&&\"retry-after\"in s.headers&&(a=Number(s.headers[\"retry-after\"]),Number.isNaN(a)?(a=Date.parse(s.headers[\"retry-after\"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await t.retry.calculateDelay({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:EPe.default({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new ei(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new ei(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit(\"retry\",i,e))};this[j5]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[qw]=!0;let e=this[Jw];if(e&&!this[Tf]){e.readableLength&&(this[qw]=!1);let t;for(;(t=e.read())!==null;){this[Ff]+=t.length,this[G5]=!0;let i=this.downloadProgress;i.percent<1&&this.emit(\"downloadProgress\",i),this.push(t)}}}_write(e,t,i){let n=()=>{this._writeRequest(e,t,i)};this.requestInitialized?n():this[gC].push(n)}_writeRequest(e,t,i){this[xi].destroyed||(this._progressCallbacks.push(()=>{this[Lf]+=Buffer.byteLength(e,t);let n=this.uploadProgress;n.percent<1&&this.emit(\"uploadProgress\",n)}),this[xi].write(e,t,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let t=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(xi in this)){e();return}if(this[xi].destroyed){e();return}this[xi].end(i=>{i||(this[Nf]=this[Lf],this.emit(\"uploadProgress\",this.uploadProgress),this[xi].emit(\"upload-complete\")),e(i)})};this.requestInitialized?t():this[gC].push(t)}_destroy(e,t){var i;this[Tf]=!0,clearTimeout(this[j5]),xi in this&&(this[eR](),!((i=this[Jw])===null||i===void 0)&&i.complete||this[xi].destroy()),e!==null&&!Ee.default.undefined(e)&&!(e instanceof ei)&&(e=new ei(e.message,e,this)),t(e)}get _isAboutToError(){return this[Tf]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,t,i;return((t=(e=this[xi])===null||e===void 0?void 0:e.destroyed)!==null&&t!==void 0?t:this.destroyed)&&!(!((i=this[Y5])===null||i===void 0)&&i.complete)}get socket(){var e,t;return(t=(e=this[xi])===null||e===void 0?void 0:e.socket)!==null&&t!==void 0?t:void 0}get downloadProgress(){let e;return this[Rf]?e=this[Ff]/this[Rf]:this[Rf]===this[Ff]?e=1:e=0,{percent:e,transferred:this[Ff],total:this[Rf]}}get uploadProgress(){let e;return this[Nf]?e=this[Lf]/this[Nf]:this[Nf]===this[Lf]?e=1:e=0,{percent:e,transferred:this[Lf],total:this[Nf]}}get timings(){var e;return(e=this[xi])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[H5]}pipe(e,t){if(this[G5])throw new Error(\"Failed to pipe. The response has been emitted already.\");return e instanceof Zk.ServerResponse&&this[jw].add(e),super.pipe(e,t)}unpipe(e){return e instanceof Zk.ServerResponse&&this[jw].delete(e),super.unpipe(e),this}};Yt.default=$w});var pC=w(io=>{\"use strict\";var vPe=io&&io.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),xPe=io&&io.__exportStar||function(r,e){for(var t in r)t!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,t)&&vPe(e,r,t)};Object.defineProperty(io,\"__esModule\",{value:!0});io.CancelError=io.ParseError=void 0;var q5=hC(),rR=class extends q5.RequestError{constructor(e,t){let{options:i}=t.request;super(`${e.message} in \"${i.url.toString()}\"`,e,t.request),this.name=\"ParseError\"}};io.ParseError=rR;var iR=class extends q5.RequestError{constructor(e){super(\"Promise was canceled\",{},e),this.name=\"CancelError\"}get isCanceled(){return!0}};io.CancelError=iR;xPe(hC(),io)});var W5=w(nR=>{\"use strict\";Object.defineProperty(nR,\"__esModule\",{value:!0});var J5=pC(),PPe=(r,e,t,i)=>{let{rawBody:n}=r;try{if(e===\"text\")return n.toString(i);if(e===\"json\")return n.length===0?\"\":t(n.toString());if(e===\"buffer\")return n;throw new J5.ParseError({message:`Unknown body type '${e}'`,name:\"Error\"},r)}catch(s){throw new J5.ParseError(s,r)}};nR.default=PPe});var sR=w(YA=>{\"use strict\";var DPe=YA&&YA.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),kPe=YA&&YA.__exportStar||function(r,e){for(var t in r)t!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,t)&&DPe(e,r,t)};Object.defineProperty(YA,\"__esModule\",{value:!0});var RPe=J(\"events\"),FPe=Ta(),NPe=W8(),eB=pC(),z5=W5(),V5=hC(),LPe=Hk(),TPe=zk(),X5=Vk(),OPe=[\"request\",\"response\",\"redirect\",\"uploadProgress\",\"downloadProgress\"];function _5(r){let e,t,i=new RPe.EventEmitter,n=new NPe((o,a,l)=>{let c=u=>{let g=new V5.default(void 0,r);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new eB.CancelError(g))),e=g,g.once(\"response\",async p=>{var C;if(p.retryCount=u,p.request.aborted)return;let y;try{y=await TPe.default(g),p.rawBody=y}catch{return}if(g._isAboutToError)return;let B=((C=p.headers[\"content-encoding\"])!==null&&C!==void 0?C:\"\").toLowerCase(),v=[\"gzip\",\"deflate\",\"br\"].includes(B),{options:D}=g;if(v&&!D.decompress)p.body=y;else try{p.body=z5.default(p,D.responseType,D.parseJson,D.encoding)}catch(L){if(p.body=y.toString(),X5.isResponseOk(p)){g._beforeError(L);return}}try{for(let[L,H]of D.hooks.afterResponse.entries())p=await H(p,async j=>{let $=V5.default.normalizeArguments(void 0,{...j,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},D);$.hooks.afterResponse=$.hooks.afterResponse.slice(0,L);for(let W of $.hooks.beforeRetry)await W($);let V=_5($);return l(()=>{V.catch(()=>{}),V.cancel()}),V})}catch(L){g._beforeError(new eB.RequestError(L.message,L,g));return}if(!X5.isResponseOk(p)){g._beforeError(new eB.HTTPError(p));return}t=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:C}=g;if(p instanceof eB.HTTPError&&!C.throwHttpErrors){let{response:y}=p;o(g.options.resolveBodyOnly?y.body:y);return}a(p)};g.once(\"error\",f);let h=g.options.body;g.once(\"retry\",(p,C)=>{var y,B;if(h===((y=C.request)===null||y===void 0?void 0:y.options.body)&&FPe.default.nodeStream((B=C.request)===null||B===void 0?void 0:B.options.body)){f(C);return}c(p)}),LPe.default(g,i,OPe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=t.request;return z5.default(t,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept=\"application/json\"),s(\"json\")},n.buffer=()=>s(\"buffer\"),n.text=()=>s(\"text\"),n}YA.default=_5;kPe(pC(),YA)});var Z5=w(oR=>{\"use strict\";Object.defineProperty(oR,\"__esModule\",{value:!0});var MPe=pC();function KPe(r,...e){let t=(async()=>{if(r instanceof MPe.RequestError)try{for(let n of e)if(n)for(let s of n)r=await s(r)}catch(n){r=n}throw r})(),i=()=>t;return t.json=i,t.text=i,t.buffer=i,t.on=i,t}oR.default=KPe});var tV=w(aR=>{\"use strict\";Object.defineProperty(aR,\"__esModule\",{value:!0});var $5=Ta();function eV(r){for(let e of Object.values(r))($5.default.plainObject(e)||$5.default.array(e))&&eV(e);return Object.freeze(r)}aR.default=eV});var iV=w(rV=>{\"use strict\";Object.defineProperty(rV,\"__esModule\",{value:!0})});var AR=w(Is=>{\"use strict\";var UPe=Is&&Is.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),HPe=Is&&Is.__exportStar||function(r,e){for(var t in r)t!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,t)&&UPe(e,r,t)};Object.defineProperty(Is,\"__esModule\",{value:!0});Is.defaultHandler=void 0;var nV=Ta(),Es=sR(),GPe=Z5(),rB=hC(),YPe=tV(),jPe={RequestError:Es.RequestError,CacheError:Es.CacheError,ReadError:Es.ReadError,HTTPError:Es.HTTPError,MaxRedirectsError:Es.MaxRedirectsError,TimeoutError:Es.TimeoutError,ParseError:Es.ParseError,CancelError:Es.CancelError,UnsupportedProtocolError:Es.UnsupportedProtocolError,UploadError:Es.UploadError},qPe=async r=>new Promise(e=>{setTimeout(e,r)}),{normalizeArguments:tB}=rB.default,sV=(...r)=>{let e;for(let t of r)e=tB(void 0,t,e);return e},JPe=r=>r.isStream?new rB.default(void 0,r):Es.default(r),WPe=r=>\"defaults\"in r&&\"options\"in r.defaults,zPe=[\"get\",\"post\",\"put\",\"patch\",\"head\",\"delete\"];Is.defaultHandler=(r,e)=>e(r);var oV=(r,e)=>{if(r)for(let t of r)t(e)},aV=r=>{r._rawHandlers=r.handlers,r.handlers=r.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>r.handlers[l++](u,l===r.handlers.length?JPe:c);if(nV.default.plainObject(i)){let u={...i,...n};rB.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{oV(r.options.hooks.init,n),oV((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=tB(i,n,s!=null?s:r.options);if(g[rB.kIsNormalizedAlready]=!0,u)throw new Es.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return GPe.default(u,r.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[r.options],s=[...r._rawHandlers],o;for(let a of i)WPe(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),\"handlers\"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==Is.defaultHandler),s.length===0&&s.push(Is.defaultHandler),aV({options:sV(...n),handlers:s,mutableDefaults:Boolean(o)})};let t=async function*(i,n){let s=tB(i,n,r.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!nV.default.object(o))throw new TypeError(\"`options.pagination` must be implemented\");let a=[],{countLimit:l}=o,c=0;for(;c<o.requestLimit;){c!==0&&await qPe(o.backoff);let u=await e(void 0,void 0,s),g=await o.transform(u),f=[];for(let p of g)if(o.filter(p,a,f)&&(!o.shouldContinue(p,a,f)||(yield p,o.stackAllItems&&a.push(p),f.push(p),--l<=0)))return;let h=o.paginate(u,a,f);if(h===!1)return;h===u.request.options?s=u.request.options:h!==void 0&&(s=tB(void 0,h,s)),c++}};e.paginate=t,e.paginate.all=async(i,n)=>{let s=[];for await(let o of t(i,n))s.push(o);return s},e.paginate.each=t,e.stream=(i,n)=>e(i,{...n,isStream:!0});for(let i of zPe)e[i]=(n,s)=>e(n,{...s,method:i}),e.stream[i]=(n,s)=>e(n,{...s,method:i,isStream:!0});return Object.assign(e,jPe),Object.defineProperty(e,\"defaults\",{value:r.mutableDefaults?r:YPe.default(r),writable:r.mutableDefaults,configurable:r.mutableDefaults,enumerable:!0}),e.mergeOptions=sV,e};Is.default=aV;HPe(iV(),Is)});var nB=w((Oa,iB)=>{\"use strict\";var VPe=Oa&&Oa.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),AV=Oa&&Oa.__exportStar||function(r,e){for(var t in r)t!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,t)&&VPe(e,r,t)};Object.defineProperty(Oa,\"__esModule\",{value:!0});var XPe=J(\"url\"),lV=AR(),_Pe={options:{method:\"GET\",retry:{limit:2,methods:[\"GET\",\"PUT\",\"HEAD\",\"DELETE\",\"OPTIONS\",\"TRACE\"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:[\"ETIMEDOUT\",\"ECONNRESET\",\"EADDRINUSE\",\"ECONNREFUSED\",\"EPIPE\",\"ENOTFOUND\",\"ENETUNREACH\",\"EAI_AGAIN\"],maxRetryAfter:void 0,calculateDelay:({computedValue:r})=>r},timeout:{},headers:{\"user-agent\":\"got (https://github.com/sindresorhus/got)\"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:\"text\",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:\"\",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:r=>r.request.options.responseType===\"json\"?r.body:JSON.parse(r.body),paginate:r=>{if(!Reflect.has(r.headers,\"link\"))return!1;let e=r.headers.link.split(\",\"),t;for(let i of e){let n=i.split(\";\");if(n[1].includes(\"next\")){t=n[0].trimStart().trim(),t=t.slice(1,-1);break}}return t?{url:new XPe.URL(t)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:r=>JSON.parse(r),stringifyJson:r=>JSON.stringify(r),cacheOptions:{}},handlers:[lV.defaultHandler],mutableDefaults:!1},lR=lV.default(_Pe);Oa.default=lR;iB.exports=lR;iB.exports.default=lR;iB.exports.__esModule=!0;AV(AR(),Oa);AV(sR(),Oa)});var fV=w(Of=>{\"use strict\";var Jit=J(\"net\"),ZPe=J(\"tls\"),cR=J(\"http\"),cV=J(\"https\"),$Pe=J(\"events\"),Wit=J(\"assert\"),eDe=J(\"util\");Of.httpOverHttp=tDe;Of.httpsOverHttp=rDe;Of.httpOverHttps=iDe;Of.httpsOverHttps=nDe;function tDe(r){var e=new Ma(r);return e.request=cR.request,e}function rDe(r){var e=new Ma(r);return e.request=cR.request,e.createSocket=uV,e.defaultPort=443,e}function iDe(r){var e=new Ma(r);return e.request=cV.request,e}function nDe(r){var e=new Ma(r);return e.request=cV.request,e.createSocket=uV,e.defaultPort=443,e}function Ma(r){var e=this;e.options=r||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||cR.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on(\"free\",function(i,n,s,o){for(var a=gV(n,s,o),l=0,c=e.requests.length;l<c;++l){var u=e.requests[l];if(u.host===a.host&&u.port===a.port){e.requests.splice(l,1),u.request.onSocket(i);return}}i.destroy(),e.removeSocket(i)})}eDe.inherits(Ma,$Pe.EventEmitter);Ma.prototype.addRequest=function(e,t,i,n){var s=this,o=uR({request:e},s.options,gV(t,i,n));if(s.sockets.length>=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on(\"free\",l),a.on(\"close\",c),a.on(\"agentRemove\",c),e.onSocket(a);function l(){s.emit(\"free\",a,o)}function c(u){s.removeSocket(a),a.removeListener(\"free\",l),a.removeListener(\"close\",c),a.removeListener(\"agentRemove\",c)}})};Ma.prototype.createSocket=function(e,t){var i=this,n={};i.sockets.push(n);var s=uR({},i.proxyOptions,{method:\"CONNECT\",path:e.host+\":\"+e.port,agent:!1,headers:{host:e.host+\":\"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers[\"Proxy-Authorization\"]=\"Basic \"+new Buffer(s.proxyAuth).toString(\"base64\")),jA(\"making CONNECT request\");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once(\"response\",a),o.once(\"upgrade\",l),o.once(\"connect\",c),o.once(\"error\",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){jA(\"tunneling socket could not be established, statusCode=%d\",g.statusCode),f.destroy();var p=new Error(\"tunneling socket could not be established, statusCode=\"+g.statusCode);p.code=\"ECONNRESET\",e.request.emit(\"error\",p),i.removeSocket(n);return}if(h.length>0){jA(\"got illegal response body from proxy\"),f.destroy();var p=new Error(\"got illegal response body from proxy\");p.code=\"ECONNRESET\",e.request.emit(\"error\",p),i.removeSocket(n);return}return jA(\"tunneling connection has established\"),i.sockets[i.sockets.indexOf(n)]=f,t(f)}function u(g){o.removeAllListeners(),jA(`tunneling socket could not be established, cause=%s\n`,g.message,g.stack);var f=new Error(\"tunneling socket could not be established, cause=\"+g.message);f.code=\"ECONNRESET\",e.request.emit(\"error\",f),i.removeSocket(n)}};Ma.prototype.removeSocket=function(e){var t=this.sockets.indexOf(e);if(t!==-1){this.sockets.splice(t,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function uV(r,e){var t=this;Ma.prototype.createSocket.call(t,r,function(i){var n=r.request.getHeader(\"host\"),s=uR({},t.options,{socket:i,servername:n?n.replace(/:.*$/,\"\"):r.host}),o=ZPe.connect(0,s);t.sockets[t.sockets.indexOf(i)]=o,e(o)})}function gV(r,e,t){return typeof r==\"string\"?{host:r,port:e,localAddress:t}:r}function uR(r){for(var e=1,t=arguments.length;e<t;++e){var i=arguments[e];if(typeof i==\"object\")for(var n=Object.keys(i),s=0,o=n.length;s<o;++s){var a=n[s];i[a]!==void 0&&(r[a]=i[a])}}return r}var jA;process.env.NODE_DEBUG&&/\\btunnel\\b/.test(process.env.NODE_DEBUG)?jA=function(){var r=Array.prototype.slice.call(arguments);typeof r[0]==\"string\"?r[0]=\"TUNNEL: \"+r[0]:r.unshift(\"TUNNEL:\"),console.error.apply(console,r)}:jA=function(){};Of.debug=jA});var pV=w((Vit,hV)=>{hV.exports=fV()});var SV=w((aB,CR)=>{var bV=Object.assign({},J(\"fs\")),dR=function(){var r=typeof document<\"u\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<\"u\"&&(r=r||__filename),function(e){e=e||{};var t=typeof e<\"u\"?e:{},i,n;t.ready=new Promise(function(d,E){i=d,n=E});var s={},o;for(o in t)t.hasOwnProperty(o)&&(s[o]=t[o]);var a=[],l=\"./this.program\",c=function(d,E){throw E},u=!1,g=!0,f=\"\";function h(d){return t.locateFile?t.locateFile(d,f):f+d}var p,C,y,B;g&&(u?f=J(\"path\").dirname(f)+\"/\":f=__dirname+\"/\",p=function(E,I){var k=ca(E);return k?I?k:k.toString():(y||(y=bV),B||(B=J(\"path\")),E=B.normalize(E),y.readFileSync(E,I?null:\"utf8\"))},C=function(E){var I=p(E,!0);return I.buffer||(I=new Uint8Array(I)),re(I.buffer),I},process.argv.length>1&&(l=process.argv[1].replace(/\\\\/g,\"/\")),a=process.argv.slice(2),c=function(d){process.exit(d)},t.inspect=function(){return\"[Emscripten Module object]\"});var v=t.print||console.log.bind(console),D=t.printErr||console.warn.bind(console);for(o in s)s.hasOwnProperty(o)&&(t[o]=s[o]);s=null,t.arguments&&(a=t.arguments),t.thisProgram&&(l=t.thisProgram),t.quit&&(c=t.quit);var L=16;function H(d,E){return E||(E=L),Math.ceil(d/E)*E}var j=0,$=function(d){j=d},V;t.wasmBinary&&(V=t.wasmBinary);var W=t.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&wr(\"no native wasm support detected\");function Z(d,E,I){switch(E=E||\"i8\",E.charAt(E.length-1)===\"*\"&&(E=\"i32\"),E){case\"i1\":return ne[d>>0];case\"i8\":return ne[d>>0];case\"i16\":return pe[d>>1];case\"i32\":return de[d>>2];case\"i64\":return de[d>>2];case\"float\":return Pt[d>>2];case\"double\":return It[d>>3];default:wr(\"invalid type for getValue: \"+E)}return null}var A,ae=!1,ge;function re(d,E){d||wr(\"Assertion failed: \"+E)}function O(d){var E=t[\"_\"+d];return re(E,\"Cannot call unknown function \"+d+\", make sure it is exported\"),E}function F(d,E,I,k,T){var _={string:function(it){var Et=0;if(it!=null&&it!==0){var Qe=(it.length<<2)+1;Et=Q(Qe),oe(it,Et,Qe)}return Et},array:function(it){var Et=Q(it.length);return fe(it,Et),Et}};function te(it){return E===\"string\"?Fe(it):E===\"boolean\"?Boolean(it):it}var Be=O(d),me=[],Je=0;if(k)for(var nt=0;nt<k.length;nt++){var wt=_[I[nt]];wt?(Je===0&&(Je=kE()),me[nt]=wt(k[nt])):me[nt]=k[nt]}var lt=Be.apply(null,me);return lt=te(lt),Je!==0&&RE(Je),lt}function ue(d,E,I,k){I=I||[];var T=I.every(function(te){return te===\"number\"}),_=E!==\"string\";return _&&T&&!k?O(d):function(){return F(d,E,I,arguments,k)}}var he=typeof TextDecoder<\"u\"?new TextDecoder(\"utf8\"):void 0;function ke(d,E,I){for(var k=E+I,T=E;d[T]&&!(T>=k);)++T;if(T-E>16&&d.subarray&&he)return he.decode(d.subarray(E,T));for(var _=\"\";E<T;){var te=d[E++];if(!(te&128)){_+=String.fromCharCode(te);continue}var Be=d[E++]&63;if((te&224)==192){_+=String.fromCharCode((te&31)<<6|Be);continue}var me=d[E++]&63;if((te&240)==224?te=(te&15)<<12|Be<<6|me:te=(te&7)<<18|Be<<12|me<<6|d[E++]&63,te<65536)_+=String.fromCharCode(te);else{var Je=te-65536;_+=String.fromCharCode(55296|Je>>10,56320|Je&1023)}}return _}function Fe(d,E){return d?ke(Y,d,E):\"\"}function Ne(d,E,I,k){if(!(k>0))return 0;for(var T=I,_=I+k-1,te=0;te<d.length;++te){var Be=d.charCodeAt(te);if(Be>=55296&&Be<=57343){var me=d.charCodeAt(++te);Be=65536+((Be&1023)<<10)|me&1023}if(Be<=127){if(I>=_)break;E[I++]=Be}else if(Be<=2047){if(I+1>=_)break;E[I++]=192|Be>>6,E[I++]=128|Be&63}else if(Be<=65535){if(I+2>=_)break;E[I++]=224|Be>>12,E[I++]=128|Be>>6&63,E[I++]=128|Be&63}else{if(I+3>=_)break;E[I++]=240|Be>>18,E[I++]=128|Be>>12&63,E[I++]=128|Be>>6&63,E[I++]=128|Be&63}}return E[I]=0,I-T}function oe(d,E,I){return Ne(d,Y,E,I)}function le(d){for(var E=0,I=0;I<d.length;++I){var k=d.charCodeAt(I);k>=55296&&k<=57343&&(k=65536+((k&1023)<<10)|d.charCodeAt(++I)&1023),k<=127?++E:k<=2047?E+=2:k<=65535?E+=3:E+=4}return E}function we(d){var E=le(d)+1,I=dt(E);return I&&Ne(d,ne,I,E),I}function fe(d,E){ne.set(d,E)}function Ae(d,E){return d%E>0&&(d+=E-d%E),d}var qe,ne,Y,pe,ie,de,tt,Pt,It;function Or(d){qe=d,t.HEAP8=ne=new Int8Array(d),t.HEAP16=pe=new Int16Array(d),t.HEAP32=de=new Int32Array(d),t.HEAPU8=Y=new Uint8Array(d),t.HEAPU16=ie=new Uint16Array(d),t.HEAPU32=tt=new Uint32Array(d),t.HEAPF32=Pt=new Float32Array(d),t.HEAPF64=It=new Float64Array(d)}var ii=t.INITIAL_MEMORY||16777216,gi,hr=[],fi=[],ni=[],Ls=!1;function pr(){if(t.preRun)for(typeof t.preRun==\"function\"&&(t.preRun=[t.preRun]);t.preRun.length;)oa(t.preRun.shift());Co(hr)}function Ei(){Ls=!0,!t.noFSInit&&!S.init.initialized&&S.init(),$n.init(),Co(fi)}function _n(){if(t.postRun)for(typeof t.postRun==\"function\"&&(t.postRun=[t.postRun]);t.postRun.length;)eg(t.postRun.shift());Co(ni)}function oa(d){hr.unshift(d)}function aA(d){fi.unshift(d)}function eg(d){ni.unshift(d)}var Zn=0,AA=null,aa=null;function up(d){return d}function lA(d){Zn++,t.monitorRunDependencies&&t.monitorRunDependencies(Zn)}function cA(d){if(Zn--,t.monitorRunDependencies&&t.monitorRunDependencies(Zn),Zn==0&&(AA!==null&&(clearInterval(AA),AA=null),aa)){var E=aa;aa=null,E()}}t.preloadedImages={},t.preloadedAudios={};function wr(d){t.onAbort&&t.onAbort(d),d+=\"\",D(d),ae=!0,ge=1,d=\"abort(\"+d+\"). Build with -s ASSERTIONS=1 for more info.\";var E=new WebAssembly.RuntimeError(d);throw n(E),E}var wl=\"data:application/octet-stream;base64,\";function tg(d){return d.startsWith(wl)}var po=\"data:application/octet-stream;base64,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ACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAgAEUEQCAEQQA2AhwMAQsgBCgCDEEANgIAIAQoAgwgBCgCEDYCBCAEKAIMIAQvARo7AQggBCgCDCAELwEYOwEKAkAgBC8BGARAIAQoAhQhASAELwEYIQIjAEEgayIAJAAgACABNgIYIAAgAjYCFCAAQQA2AhACQCAAKAIURQRAIABBADYCHAwBCyAAIAAoAhQQGDYCDCAAKAIMRQRAIAAoAhBBDkEAEBQgAEEANgIcDAELIAAoAgwgACgCGCAAKAIUEBkaIAAgACgCDDYCHAsgACgCHCEBIABBIGokACABIQAgBCgCDCAANgIMIABFBEAgBCgCDBAVIARBADYCHAwDCwwBCyAEKAIMQQA2AgwLIAQgBCgCDDYCHAsgBCgCHCEAIARBIGokACAAC5EBAQV/IAAoAkxBAE4hAyAAKAIAQQFxIgRFBEAgACgCNCIBBEAgASAAKAI4NgI4CyAAKAI4IgIEQCACIAE2AjQLIABBrKABKAIARgRAQaygASACNgIACwsgABClASEBIAAgACgCDBEAACECIAAoAmAiBQRAIAUQFQsCQCAERQRAIAAQFQwBCyADRQ0ACyABIAJyC/kBAQF/IwBBIGsiAiQAIAIgADYCHCACIAE5AxACQCACKAIcRQ0AIAICfAJ8IAIrAxBEAAAAAAAAAABkBEAgAisDEAwBC0QAAAAAAAAAAAtEAAAAAAAA8D9jBEACfCACKwMQRAAAAAAAAAAAZARAIAIrAxAMAQtEAAAAAAAAAAALDAELRAAAAAAAAPA/CyACKAIcKwMoIAIoAhwrAyChoiACKAIcKwMgoDkDCCACKAIcKwMQIAIrAwggAigCHCsDGKFjRQ0AIAIoAhwoAgAgAisDCCACKAIcKAIMIAIoAhwoAgQRFgAgAigCHCACKwMIOQMYCyACQSBqJAAL4QUCAn8BfiMAQTBrIgQkACAEIAA2AiQgBCABNgIgIAQgAjYCHCAEIAM2AhgCQCAEKAIkRQRAIARCfzcDKAwBCyAEKAIgRQRAIAQoAhhBEkEAEBQgBEJ/NwMoDAELIAQoAhxBgyBxBEAgBEEVQRYgBCgCHEEBcRs2AhQgBEIANwMAA0AgBCkDACAEKAIkKQMwVARAIAQgBCgCJCAEKQMAIAQoAhwgBCgCGBBNNgIQIAQoAhAEQCAEKAIcQQJxBEAgBAJ/IAQoAhAiARAuQQFqIQADQEEAIABFDQEaIAEgAEEBayIAaiICLQAAQS9HDQALIAILNgIMIAQoAgwEQCAEIAQoAgxBAWo2AhALCyAEKAIgIAQoAhAgBCgCFBEDAEUEQCMAQRBrIgAgBCgCGDYCDCAAKAIMBEAgACgCDEEANgIAIAAoAgxBADYCBAsgBCAEKQMANwMoDAULCyAEIAQpAwBCAXw3AwAMAQsLIAQoAhhBCUEAEBQgBEJ/NwMoDAELIAQoAiQoAlAhASAEKAIgIQIgBCgCHCEDIAQoAhghBSMAQTBrIgAkACAAIAE2AiQgACACNgIgIAAgAzYCHCAAIAU2AhgCQAJAIAAoAiQEQCAAKAIgDQELIAAoAhhBEkEAEBQgAEJ/NwMoDAELIAAoAiQpAwhCAFIEQCAAIAAoAiAQczYCFCAAIAAoAhQgACgCJCgCAHA2AhAgACAAKAIkKAIQIAAoAhBBAnRqKAIANgIMA0ACQCAAKAIMRQ0AIAAoAiAgACgCDCgCABBbBEAgACAAKAIMKAIYNgIMDAIFIAAoAhxBCHEEQCAAKAIMKQMIQn9SBEAgACAAKAIMKQMINwMoDAYLDAILIAAoAgwpAxBCf1IEQCAAIAAoAgwpAxA3AygMBQsLCwsLIAAoAhhBCUEAEBQgAEJ/NwMoCyAAKQMoIQYgAEEwaiQAIAQgBjcDKAsgBCkDKCEGIARBMGokACAGC9QDAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNgIQAkACQCADKAIYBEAgAygCFA0BCyADKAIQQRJBABAUIANBADoAHwwBCyADKAIYKQMIQgBSBEAgAyADKAIUEHM2AgwgAyADKAIMIAMoAhgoAgBwNgIIIANBADYCACADIAMoAhgoAhAgAygCCEECdGooAgA2AgQDQCADKAIEBEACQCADKAIEKAIcIAMoAgxHDQAgAygCFCADKAIEKAIAEFsNAAJAIAMoAgQpAwhCf1EEQAJAIAMoAgAEQCADKAIAIAMoAgQoAhg2AhgMAQsgAygCGCgCECADKAIIQQJ0aiADKAIEKAIYNgIACyADKAIEEBUgAygCGCIAIAApAwhCAX03AwgCQCADKAIYIgApAwi6IAAoAgC4RHsUrkfheoQ/omNFDQAgAygCGCgCAEGAAk0NACADKAIYIAMoAhgoAgBBAXYgAygCEBBaQQFxRQRAIANBADoAHwwICwsMAQsgAygCBEJ/NwMQCyADQQE6AB8MBAsgAyADKAIENgIAIAMgAygCBCgCGDYCBAwBCwsLIAMoAhBBCUEAEBQgA0EAOgAfCyADLQAfQQFxIQAgA0EgaiQAIAAL3wIBAX8jAEEwayIDJAAgAyAANgIoIAMgATYCJCADIAI2AiACQCADKAIkIAMoAigoAgBGBEAgA0EBOgAvDAELIAMgAygCJEEEEH8iADYCHCAARQRAIAMoAiBBDkEAEBQgA0EAOgAvDAELIAMoAigpAwhCAFIEQCADQQA2AhgDQCADKAIYIAMoAigoAgBPRQRAIAMgAygCKCgCECADKAIYQQJ0aigCADYCFANAIAMoAhQEQCADIAMoAhQoAhg2AhAgAyADKAIUKAIcIAMoAiRwNgIMIAMoAhQgAygCHCADKAIMQQJ0aigCADYCGCADKAIcIAMoAgxBAnRqIAMoAhQ2AgAgAyADKAIQNgIUDAELCyADIAMoAhhBAWo2AhgMAQsLCyADKAIoKAIQEBUgAygCKCADKAIcNgIQIAMoAiggAygCJDYCACADQQE6AC8LIAMtAC9BAXEhACADQTBqJAAgAAtNAQJ/IAEtAAAhAgJAIAAtAAAiA0UNACACIANHDQADQCABLQABIQIgAC0AASIDRQ0BIAFBAWohASAAQQFqIQAgAiADRg0ACwsgAyACawvRCQECfyMAQSBrIgEkACABIAA2AhwgASABKAIcKAIsNgIQA0AgASABKAIcKAI8IAEoAhwoAnRrIAEoAhwoAmxrNgIUIAEoAhwoAmwgASgCECABKAIcKAIsQYYCa2pPBEAgASgCHCgCOCABKAIcKAI4IAEoAhBqIAEoAhAgASgCFGsQGRogASgCHCIAIAAoAnAgASgCEGs2AnAgASgCHCIAIAAoAmwgASgCEGs2AmwgASgCHCIAIAAoAlwgASgCEGs2AlwjAEEgayIAIAEoAhw2AhwgACAAKAIcKAIsNgIMIAAgACgCHCgCTDYCGCAAIAAoAhwoAkQgACgCGEEBdGo2AhADQCAAIAAoAhBBAmsiAjYCECAAIAIvAQA2AhQgACgCEAJ/IAAoAhQgACgCDE8EQCAAKAIUIAAoAgxrDAELQQALOwEAIAAgACgCGEEBayICNgIYIAINAAsgACAAKAIMNgIYIAAgACgCHCgCQCAAKAIYQQF0ajYCEANAIAAgACgCEEECayICNgIQIAAgAi8BADYCFCAAKAIQAn8gACgCFCAAKAIMTwRAIAAoAhQgACgCDGsMAQtBAAs7AQAgACAAKAIYQQFrIgI2AhggAg0ACyABIAEoAhAgASgCFGo2AhQLIAEoAhwoAgAoAgQEQCABIAEoAhwoAgAgASgCHCgCdCABKAIcKAI4IAEoAhwoAmxqaiABKAIUEHY2AhggASgCHCIAIAEoAhggACgCdGo2AnQgASgCHCgCdCABKAIcKAK0LWpBA08EQCABIAEoAhwoAmwgASgCHCgCtC1rNgIMIAEoAhwgASgCHCgCOCABKAIMai0AADYCSCABKAIcIAEoAhwoAlQgASgCHCgCOCABKAIMQQFqai0AACABKAIcKAJIIAEoAhwoAlh0c3E2AkgDQCABKAIcKAK0LQRAIAEoAhwgASgCHCgCVCABKAIcKAI4IAEoAgxBAmpqLQAAIAEoAhwoAkggASgCHCgCWHRzcTYCSCABKAIcKAJAIAEoAgwgASgCHCgCNHFBAXRqIAEoAhwoAkQgASgCHCgCSEEBdGovAQA7AQAgASgCHCgCRCABKAIcKAJIQQF0aiABKAIMOwEAIAEgASgCDEEBajYCDCABKAIcIgAgACgCtC1BAWs2ArQtIAEoAhwoAnQgASgCHCgCtC1qQQNPDQELCwsgASgCHCgCdEGGAkkEfyABKAIcKAIAKAIEQQBHBUEAC0EBcQ0BCwsgASgCHCgCwC0gASgCHCgCPEkEQCABIAEoAhwoAmwgASgCHCgCdGo2AggCQCABKAIcKALALSABKAIISQRAIAEgASgCHCgCPCABKAIIazYCBCABKAIEQYICSwRAIAFBggI2AgQLIAEoAhwoAjggASgCCGpBACABKAIEEDMgASgCHCABKAIIIAEoAgRqNgLALQwBCyABKAIcKALALSABKAIIQYICakkEQCABIAEoAghBggJqIAEoAhwoAsAtazYCBCABKAIEIAEoAhwoAjwgASgCHCgCwC1rSwRAIAEgASgCHCgCPCABKAIcKALALWs2AgQLIAEoAhwoAjggASgCHCgCwC1qQQAgASgCBBAzIAEoAhwiACABKAIEIAAoAsAtajYCwC0LCwsgAUEgaiQAC4YFAQF/IwBBIGsiBCQAIAQgADYCHCAEIAE2AhggBCACNgIUIAQgAzYCECAEQQM2AgwCQCAEKAIcKAK8LUEQIAQoAgxrSgRAIAQgBCgCEDYCCCAEKAIcIgAgAC8BuC0gBCgCCEH//wNxIAQoAhwoArwtdHI7AbgtIAQoAhwvAbgtQf8BcSEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhwvAbgtQQh2IQEgBCgCHCgCCCECIAQoAhwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCHCAEKAIIQf//A3FBECAEKAIcKAK8LWt1OwG4LSAEKAIcIgAgACgCvC0gBCgCDEEQa2o2ArwtDAELIAQoAhwiACAALwG4LSAEKAIQQf//A3EgBCgCHCgCvC10cjsBuC0gBCgCHCIAIAQoAgwgACgCvC1qNgK8LQsgBCgCHBC9ASAEKAIUQf8BcSEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhRB//8DcUEIdiEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhRBf3NB/wFxIQEgBCgCHCgCCCECIAQoAhwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCFEF/c0H//wNxQQh2IQEgBCgCHCgCCCECIAQoAhwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCHCgCCCAEKAIcKAIUaiAEKAIYIAQoAhQQGRogBCgCHCIAIAQoAhQgACgCFGo2AhQgBEEgaiQAC6sBAQF/IwBBEGsiASQAIAEgADYCDCABKAIMKAIIBEAgASgCDCgCCBAbIAEoAgxBADYCCAsCQCABKAIMKAIERQ0AIAEoAgwoAgQoAgBBAXFFDQAgASgCDCgCBCgCEEF+Rw0AIAEoAgwoAgQiACAAKAIAQX5xNgIAIAEoAgwoAgQoAgBFBEAgASgCDCgCBBA3IAEoAgxBADYCBAsLIAEoAgxBADoADCABQRBqJAAL8QMBAX8jAEHQAGsiCCQAIAggADYCSCAIIAE3A0AgCCACNwM4IAggAzYCNCAIIAQ6ADMgCCAFNgIsIAggBjcDICAIIAc2AhwCQAJAAkAgCCgCSEUNACAIKQNAIAgpA0AgCCkDOHxWDQAgCCgCLA0BIAgpAyBQDQELIAgoAhxBEkEAEBQgCEEANgJMDAELIAhBgAEQGCIANgIYIABFBEAgCCgCHEEOQQAQFCAIQQA2AkwMAQsgCCgCGCAIKQNANwMAIAgoAhggCCkDQCAIKQM4fDcDCCAIKAIYQShqEDsgCCgCGCAILQAzOgBgIAgoAhggCCgCLDYCECAIKAIYIAgpAyA3AxgjAEEQayIAIAgoAhhB5ABqNgIMIAAoAgxBADYCACAAKAIMQQA2AgQgACgCDEEANgIIIwBBEGsiACAIKAJINgIMIAAoAgwpAxhC/4EBgyEBIAhBfzYCCCAIQQc2AgQgCEEONgIAQRAgCBA0IAGEIQEgCCgCGCABNwNwIAgoAhggCCgCGCkDcELAAINCAFI6AHggCCgCNARAIAgoAhhBKGogCCgCNCAIKAIcEIQBQQBIBEAgCCgCGBAVIAhBADYCTAwCCwsgCCAIKAJIQQEgCCgCGCAIKAIcEIEBNgJMCyAIKAJMIQAgCEHQAGokACAAC9MEAQJ/IwBBMGsiAyQAIAMgADYCJCADIAE3AxggAyACNgIUAkAgAygCJCgCQCADKQMYp0EEdGooAgBFBEAgAygCFEEUQQAQFCADQgA3AygMAQsgAyADKAIkKAJAIAMpAxinQQR0aigCACkDSDcDCCADKAIkKAIAIAMpAwhBABAnQQBIBEAgAygCFCADKAIkKAIAEBcgA0IANwMoDAELIAMoAiQoAgAhAiADKAIUIQQjAEEwayIAJAAgACACNgIoIABBgAI7ASYgACAENgIgIAAgAC8BJkGAAnFBAEc6ABsgAEEeQS4gAC0AG0EBcRs2AhwCQCAAKAIoQRpBHCAALQAbQQFxG6xBARAnQQBIBEAgACgCICAAKAIoEBcgAEF/NgIsDAELIAAgACgCKEEEQQYgAC0AG0EBcRusIABBDmogACgCIBBCIgI2AgggAkUEQCAAQX82AiwMAQsgAEEANgIUA0AgACgCFEECQQMgAC0AG0EBcRtIBEAgACAAKAIIEB1B//8DcSAAKAIcajYCHCAAIAAoAhRBAWo2AhQMAQsLIAAoAggQR0EBcUUEQCAAKAIgQRRBABAUIAAoAggQFiAAQX82AiwMAQsgACgCCBAWIAAgACgCHDYCLAsgACgCLCECIABBMGokACADIAIiADYCBCAAQQBIBEAgA0IANwMoDAELIAMpAwggAygCBK18Qv///////////wBWBEAgAygCFEEEQRYQFCADQgA3AygMAQsgAyADKQMIIAMoAgStfDcDKAsgAykDKCEBIANBMGokACABC20BAX8jAEEgayIEJAAgBCAANgIYIAQgATYCFCAEIAI2AhAgBCADNgIMAkAgBCgCGEUEQCAEQQA2AhwMAQsgBCAEKAIUIAQoAhAgBCgCDCAEKAIYQQhqEIEBNgIcCyAEKAIcIQAgBEEgaiQAIAALVQEBfyMAQRBrIgEkACABIAA2AgwCQAJAIAEoAgwoAiRBAUYNACABKAIMKAIkQQJGDQAMAQsgASgCDEEAQgBBChAgGiABKAIMQQA2AiQLIAFBEGokAAv/AgEBfyMAQTBrIgUkACAFIAA2AiggBSABNgIkIAUgAjYCICAFIAM6AB8gBSAENgIYAkACQCAFKAIgDQAgBS0AH0EBcQ0AIAVBADYCLAwBCyAFIAUoAiAgBS0AH0EBcWoQGDYCFCAFKAIURQRAIAUoAhhBDkEAEBQgBUEANgIsDAELAkAgBSgCKARAIAUgBSgCKCAFKAIgrRAeNgIQIAUoAhBFBEAgBSgCGEEOQQAQFCAFKAIUEBUgBUEANgIsDAMLIAUoAhQgBSgCECAFKAIgEBkaDAELIAUoAiQgBSgCFCAFKAIgrSAFKAIYEGRBAEgEQCAFKAIUEBUgBUEANgIsDAILCyAFLQAfQQFxBEAgBSgCFCAFKAIgakEAOgAAIAUgBSgCFDYCDANAIAUoAgwgBSgCFCAFKAIgakkEQCAFKAIMLQAARQRAIAUoAgxBIDoAAAsgBSAFKAIMQQFqNgIMDAELCwsgBSAFKAIUNgIsCyAFKAIsIQAgBUEwaiQAIAALwgEBAX8jAEEwayIEJAAgBCAANgIoIAQgATYCJCAEIAI3AxggBCADNgIUAkAgBCkDGEL///////////8AVgRAIAQoAhRBFEEAEBQgBEF/NgIsDAELIAQgBCgCKCAEKAIkIAQpAxgQKyICNwMIIAJCAFMEQCAEKAIUIAQoAigQFyAEQX82AiwMAQsgBCkDCCAEKQMYUwRAIAQoAhRBEUEAEBQgBEF/NgIsDAELIARBADYCLAsgBCgCLCEAIARBMGokACAAC3cBAX8jAEEQayICIAA2AgggAiABNgIEAkACQAJAIAIoAggpAyhC/////w9aDQAgAigCCCkDIEL/////D1oNACACKAIEQYAEcUUNASACKAIIKQNIQv////8PVA0BCyACQQE6AA8MAQsgAkEAOgAPCyACLQAPQQFxC/4BAQF/IwBBIGsiBSQAIAUgADYCGCAFIAE2AhQgBSACOwESIAVBADsBECAFIAM2AgwgBSAENgIIIAVBADYCBAJAA0AgBSgCGARAAkAgBSgCGC8BCCAFLwESRw0AIAUoAhgoAgQgBSgCDHFBgAZxRQ0AIAUoAgQgBS8BEEgEQCAFIAUoAgRBAWo2AgQMAQsgBSgCFARAIAUoAhQgBSgCGC8BCjsBAAsgBSgCGC8BCgRAIAUgBSgCGCgCDDYCHAwECyAFQZAVNgIcDAMLIAUgBSgCGCgCADYCGAwBCwsgBSgCCEEJQQAQFCAFQQA2AhwLIAUoAhwhACAFQSBqJAAgAAumAQEBfyMAQRBrIgIkACACIAA2AgggAiABNgIEAkAgAigCCC0AKEEBcQRAIAJBfzYCDAwBCyACKAIIKAIABEAgAigCCCgCACACKAIEEGdBAEgEQCACKAIIQQxqIAIoAggoAgAQFyACQX82AgwMAgsLIAIoAgggAkEEakIEQRMQIEIAUwRAIAJBfzYCDAwBCyACQQA2AgwLIAIoAgwhACACQRBqJAAgAAuNCAIBfwF+IwBBkAFrIgMkACADIAA2AoQBIAMgATYCgAEgAyACNgJ8IAMQUwJAIAMoAoABKQMIQgBSBEAgAyADKAKAASgCACgCACkDSDcDYCADIAMoAoABKAIAKAIAKQNINwNoDAELIANCADcDYCADQgA3A2gLIANCADcDcAJAA0AgAykDcCADKAKAASkDCFQEQCADKAKAASgCACADKQNwp0EEdGooAgApA0ggAykDaFQEQCADIAMoAoABKAIAIAMpA3CnQQR0aigCACkDSDcDaAsgAykDaCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAyADKAKAASgCACADKQNwp0EEdGooAgApA0ggAygCgAEoAgAgAykDcKdBBHRqKAIAKQMgfCADKAKAASgCACADKQNwp0EEdGooAgAoAjAQUUH//wNxrXxCHnw3A1ggAykDWCADKQNgVgRAIAMgAykDWDcDYAsgAykDYCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAygChAEoAgAgAygCgAEoAgAgAykDcKdBBHRqKAIAKQNIQQAQJ0EASARAIAMoAnwgAygChAEoAgAQFyADQn83A4gBDAMLIAMgAygChAEoAgBBAEEBIAMoAnwQjAFCf1EEQCADEFIgA0J/NwOIAQwDCwJ/IAMoAoABKAIAIAMpA3CnQQR0aigCACEBIwBBEGsiACQAIAAgATYCCCAAIAM2AgQCQAJAAkAgACgCCC8BCiAAKAIELwEKSA0AIAAoAggoAhAgACgCBCgCEEcNACAAKAIIKAIUIAAoAgQoAhRHDQAgACgCCCgCMCAAKAIEKAIwEIYBDQELIABBfzYCDAwBCwJAAkAgACgCCCgCGCAAKAIEKAIYRw0AIAAoAggpAyAgACgCBCkDIFINACAAKAIIKQMoIAAoAgQpAyhRDQELAkACQCAAKAIELwEMQQhxRQ0AIAAoAgQoAhgNACAAKAIEKQMgQgBSDQAgACgCBCkDKFANAQsgAEF/NgIMDAILCyAAQQA2AgwLIAAoAgwhASAAQRBqJAAgAQsEQCADKAJ8QRVBABAUIAMQUiADQn83A4gBDAMFIAMoAoABKAIAIAMpA3CnQQR0aigCACgCNCADKAI0EJUBIQAgAygCgAEoAgAgAykDcKdBBHRqKAIAIAA2AjQgAygCgAEoAgAgAykDcKdBBHRqKAIAQQE6AAQgA0EANgI0IAMQUiADIAMpA3BCAXw3A3AMAgsACwsgAwJ+IAMpA2AgAykDaH1C////////////AFQEQCADKQNgIAMpA2h9DAELQv///////////wALNwOIAQsgAykDiAEhBCADQZABaiQAIAQL1AQBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAygCECEBIwBBEGsiACQAIAAgATYCCCAAQdgAEBg2AgQCQCAAKAIERQRAIAAoAghBDkEAEBQgAEEANgIMDAELIAAoAgghAiMAQRBrIgEkACABIAI2AgggAUEYEBgiAjYCBAJAIAJFBEAgASgCCEEOQQAQFCABQQA2AgwMAQsgASgCBEEANgIAIAEoAgRCADcDCCABKAIEQQA2AhAgASABKAIENgIMCyABKAIMIQIgAUEQaiQAIAAoAgQgAjYCUCACRQRAIAAoAgQQFSAAQQA2AgwMAQsgACgCBEEANgIAIAAoAgRBADYCBCMAQRBrIgEgACgCBEEIajYCDCABKAIMQQA2AgAgASgCDEEANgIEIAEoAgxBADYCCCAAKAIEQQA2AhggACgCBEEANgIUIAAoAgRBADYCHCAAKAIEQQA2AiQgACgCBEEANgIgIAAoAgRBADoAKCAAKAIEQgA3AzggACgCBEIANwMwIAAoAgRBADYCQCAAKAIEQQA2AkggACgCBEEANgJEIAAoAgRBADYCTCAAKAIEQQA2AlQgACAAKAIENgIMCyAAKAIMIQEgAEEQaiQAIAMgASIANgIMAkAgAEUEQCADQQA2AhwMAQsgAygCDCADKAIYNgIAIAMoAgwgAygCFDYCBCADKAIUQRBxBEAgAygCDCIAIAAoAhRBAnI2AhQgAygCDCIAIAAoAhhBAnI2AhgLIAMgAygCDDYCHAsgAygCHCEAIANBIGokACAAC9UBAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE3AxAgBCACNgIMIAQgAzYCCAJAAkAgBCkDEEL///////////8AVwRAIAQpAxBCgICAgICAgICAf1kNAQsgBCgCCEEEQT0QFCAEQX82AhwMAQsCfyAEKQMQIQEgBCgCDCEAIAQoAhgiAigCTEF/TARAIAIgASAAEKABDAELIAIgASAAEKABC0EASARAIAQoAghBBEG0mwEoAgAQFCAEQX82AhwMAQsgBEEANgIcCyAEKAIcIQAgBEEgaiQAIAALJABBACAAEAUiACAAQRtGGyIABH9BtJsBIAA2AgBBAAVBAAsaC3ABAX8jAEEQayIDJAAgAwJ/IAFBwABxRQRAQQAgAUGAgIQCcUGAgIQCRw0BGgsgAyACQQRqNgIMIAIoAgALNgIAIAAgAUGAgAJyIAMQECIAQYFgTwRAQbSbAUEAIABrNgIAQX8hAAsgA0EQaiQAIAALMwEBfwJ/IAAQByIBQWFGBEAgABARIQELIAFBgWBPCwR/QbSbAUEAIAFrNgIAQX8FIAELC2kBAn8CQCAAKAIUIAAoAhxNDQAgAEEAQQAgACgCJBEBABogACgCFA0AQX8PCyAAKAIEIgEgACgCCCICSQRAIAAgASACa6xBASAAKAIoEQ8AGgsgAEEANgIcIABCADcDECAAQgA3AgRBAAvaAwEGfyMAQRBrIgUkACAFIAI2AgwjAEGgAWsiBCQAIARBCGpBkIcBQZABEBkaIAQgADYCNCAEIAA2AhwgBEF+IABrIgNB/////wcgA0H/////B0kbIgY2AjggBCAAIAZqIgA2AiQgBCAANgIYIARBCGohACMAQdABayIDJAAgAyACNgLMASADQaABakEAQSgQMyADIAMoAswBNgLIAQJAQQAgASADQcgBaiADQdAAaiADQaABahBwQQBIDQAgACgCTEEATiEHIAAoAgAhAiAALABKQQBMBEAgACACQV9xNgIACyACQSBxIQgCfyAAKAIwBEAgACABIANByAFqIANB0ABqIANBoAFqEHAMAQsgAEHQADYCMCAAIANB0ABqNgIQIAAgAzYCHCAAIAM2AhQgACgCLCECIAAgAzYCLCAAIAEgA0HIAWogA0HQAGogA0GgAWoQcCACRQ0AGiAAQQBBACAAKAIkEQEAGiAAQQA2AjAgACACNgIsIABBADYCHCAAQQA2AhAgACgCFBogAEEANgIUQQALGiAAIAAoAgAgCHI2AgAgB0UNAAsgA0HQAWokACAGBEAgBCgCHCIAIAAgBCgCGEZrQQA6AAALIARBoAFqJAAgBUEQaiQAC4wSAg9/AX4jAEHQAGsiBSQAIAUgATYCTCAFQTdqIRMgBUE4aiEQQQAhAQNAAkAgDUEASA0AQf////8HIA1rIAFIBEBBtJsBQT02AgBBfyENDAELIAEgDWohDQsgBSgCTCIHIQECQAJAAkACQAJAAkACQAJAIAUCfwJAIActAAAiBgRAA0ACQAJAIAZB/wFxIgZFBEAgASEGDAELIAZBJUcNASABIQYDQCABLQABQSVHDQEgBSABQQJqIgg2AkwgBkEBaiEGIAEtAAIhDiAIIQEgDkElRg0ACwsgBiAHayEBIAAEQCAAIAcgARAiCyABDQ0gBSgCTCEBIAUoAkwsAAFBMGtBCk8NAyABLQACQSRHDQMgASwAAUEwayEPQQEhESABQQNqDAQLIAUgAUEBaiIINgJMIAEtAAEhBiAIIQEMAAsACyANIQsgAA0IIBFFDQJBASEBA0AgBCABQQJ0aigCACIABEAgAyABQQN0aiAAIAIQqAFBASELIAFBAWoiAUEKRw0BDAoLC0EBIQsgAUEKTw0IA0AgBCABQQJ0aigCAA0IIAFBAWoiAUEKRw0ACwwIC0F/IQ8gAUEBagsiATYCTEEAIQgCQCABLAAAIgxBIGsiBkEfSw0AQQEgBnQiBkGJ0QRxRQ0AA0ACQCAFIAFBAWoiCDYCTCABLAABIgxBIGsiAUEgTw0AQQEgAXQiAUGJ0QRxRQ0AIAEgBnIhBiAIIQEMAQsLIAghASAGIQgLAkAgDEEqRgRAIAUCfwJAIAEsAAFBMGtBCk8NACAFKAJMIgEtAAJBJEcNACABLAABQQJ0IARqQcABa0EKNgIAIAEsAAFBA3QgA2pBgANrKAIAIQpBASERIAFBA2oMAQsgEQ0IQQAhEUEAIQogAARAIAIgAigCACIBQQRqNgIAIAEoAgAhCgsgBSgCTEEBagsiATYCTCAKQX9KDQFBACAKayEKIAhBgMAAciEIDAELIAVBzABqEKcBIgpBAEgNBiAFKAJMIQELQX8hCQJAIAEtAABBLkcNACABLQABQSpGBEACQCABLAACQTBrQQpPDQAgBSgCTCIBLQADQSRHDQAgASwAAkECdCAEakHAAWtBCjYCACABLAACQQN0IANqQYADaygCACEJIAUgAUEEaiIBNgJMDAILIBENByAABH8gAiACKAIAIgFBBGo2AgAgASgCAAVBAAshCSAFIAUoAkxBAmoiATYCTAwBCyAFIAFBAWo2AkwgBUHMAGoQpwEhCSAFKAJMIQELQQAhBgNAIAYhEkF/IQsgASwAAEHBAGtBOUsNByAFIAFBAWoiDDYCTCABLAAAIQYgDCEBIAYgEkE6bGpB74IBai0AACIGQQFrQQhJDQALIAZBE0YNAiAGRQ0GIA9BAE4EQCAEIA9BAnRqIAY2AgAgBSADIA9BA3RqKQMANwNADAQLIAANAQtBACELDAULIAVBQGsgBiACEKgBIAUoAkwhDAwCCyAPQX9KDQMLQQAhASAARQ0ECyAIQf//e3EiDiAIIAhBgMAAcRshBkEAIQtBpAghDyAQIQgCQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQCAMQQFrLAAAIgFBX3EgASABQQ9xQQNGGyABIBIbIgFB2ABrDiEEEhISEhISEhIOEg8GDg4OEgYSEhISAgUDEhIJEgESEgQACwJAIAFBwQBrDgcOEgsSDg4OAAsgAUHTAEYNCQwRCyAFKQNAIRRBpAgMBQtBACEBAkACQAJAAkACQAJAAkAgEkH/AXEOCAABAgMEFwUGFwsgBSgCQCANNgIADBYLIAUoAkAgDTYCAAwVCyAFKAJAIA2sNwMADBQLIAUoAkAgDTsBAAwTCyAFKAJAIA06AAAMEgsgBSgCQCANNgIADBELIAUoAkAgDaw3AwAMEAsgCUEIIAlBCEsbIQkgBkEIciEGQfgAIQELIBAhByABQSBxIQ4gBSkDQCIUUEUEQANAIAdBAWsiByAUp0EPcUGAhwFqLQAAIA5yOgAAIBRCD1YhDCAUQgSIIRQgDA0ACwsgBSkDQFANAyAGQQhxRQ0DIAFBBHZBpAhqIQ9BAiELDAMLIBAhASAFKQNAIhRQRQRAA0AgAUEBayIBIBSnQQdxQTByOgAAIBRCB1YhByAUQgOIIRQgBw0ACwsgASEHIAZBCHFFDQIgCSAQIAdrIgFBAWogASAJSBshCQwCCyAFKQNAIhRCf1cEQCAFQgAgFH0iFDcDQEEBIQtBpAgMAQsgBkGAEHEEQEEBIQtBpQgMAQtBpghBpAggBkEBcSILGwshDyAUIBAQRCEHCyAGQf//e3EgBiAJQX9KGyEGAkAgBSkDQCIUQgBSDQAgCQ0AQQAhCSAQIQcMCgsgCSAUUCAQIAdraiIBIAEgCUgbIQkMCQsgBSgCQCIBQdgSIAEbIgdBACAJEKsBIgEgByAJaiABGyEIIA4hBiABIAdrIAkgARshCQwICyAJBEAgBSgCQAwCC0EAIQEgAEEgIApBACAGECYMAgsgBUEANgIMIAUgBSkDQD4CCCAFIAVBCGo2AkBBfyEJIAVBCGoLIQhBACEBAkADQCAIKAIAIgdFDQECQCAFQQRqIAcQqgEiB0EASCIODQAgByAJIAFrSw0AIAhBBGohCCAJIAEgB2oiAUsNAQwCCwtBfyELIA4NBQsgAEEgIAogASAGECYgAUUEQEEAIQEMAQtBACEIIAUoAkAhDANAIAwoAgAiB0UNASAFQQRqIAcQqgEiByAIaiIIIAFKDQEgACAFQQRqIAcQIiAMQQRqIQwgASAISw0ACwsgAEEgIAogASAGQYDAAHMQJiAKIAEgASAKSBshAQwFCyAAIAUrA0AgCiAJIAYgAUEXERkAIQEMBAsgBSAFKQNAPAA3QQEhCSATIQcgDiEGDAILQX8hCwsgBUHQAGokACALDwsgAEEgIAsgCCAHayIOIAkgCSAOSBsiDGoiCCAKIAggCkobIgEgCCAGECYgACAPIAsQIiAAQTAgASAIIAZBgIAEcxAmIABBMCAMIA5BABAmIAAgByAOECIgAEEgIAEgCCAGQYDAAHMQJgwACwALkAIBA38CQCABIAIoAhAiBAR/IAQFQQAhBAJ/IAIgAi0ASiIDQQFrIANyOgBKIAIoAgAiA0EIcQRAIAIgA0EgcjYCAEF/DAELIAJCADcCBCACIAIoAiwiAzYCHCACIAM2AhQgAiADIAIoAjBqNgIQQQALDQEgAigCEAsgAigCFCIFa0sEQCACIAAgASACKAIkEQEADwsCfyACLABLQX9KBEAgASEEA0AgASAEIgNFDQIaIAAgA0EBayIEai0AAEEKRw0ACyACIAAgAyACKAIkEQEAIgQgA0kNAiAAIANqIQAgAigCFCEFIAEgA2sMAQsgAQshBCAFIAAgBBAZGiACIAIoAhQgBGo2AhQgASEECyAEC0gCAX8BfiMAQRBrIgMkACADIAA2AgwgAyABNgIIIAMgAjYCBCADKAIMIAMoAgggAygCBCADKAIMQQhqEFghBCADQRBqJAAgBAt3AQF/IwBBEGsiASAANgIIIAFChSo3AwACQCABKAIIRQRAIAFBADYCDAwBCwNAIAEoAggtAAAEQCABIAEoAggtAACtIAEpAwBCIX58Qv////8PgzcDACABIAEoAghBAWo2AggMAQsLIAEgASkDAD4CDAsgASgCDAuHBQEBfyMAQTBrIgUkACAFIAA2AiggBSABNgIkIAUgAjcDGCAFIAM2AhQgBSAENgIQAkACQAJAIAUoAihFDQAgBSgCJEUNACAFKQMYQv///////////wBYDQELIAUoAhBBEkEAEBQgBUEAOgAvDAELIAUoAigoAgBFBEAgBSgCKEGAAiAFKAIQEFpBAXFFBEAgBUEAOgAvDAILCyAFIAUoAiQQczYCDCAFIAUoAgwgBSgCKCgCAHA2AgggBSAFKAIoKAIQIAUoAghBAnRqKAIANgIEA0ACQCAFKAIERQ0AAkAgBSgCBCgCHCAFKAIMRw0AIAUoAiQgBSgCBCgCABBbDQACQAJAIAUoAhRBCHEEQCAFKAIEKQMIQn9SDQELIAUoAgQpAxBCf1ENAQsgBSgCEEEKQQAQFCAFQQA6AC8MBAsMAQsgBSAFKAIEKAIYNgIEDAELCyAFKAIERQRAIAVBIBAYIgA2AgQgAEUEQCAFKAIQQQ5BABAUIAVBADoALwwCCyAFKAIEIAUoAiQ2AgAgBSgCBCAFKAIoKAIQIAUoAghBAnRqKAIANgIYIAUoAigoAhAgBSgCCEECdGogBSgCBDYCACAFKAIEIAUoAgw2AhwgBSgCBEJ/NwMIIAUoAigiACAAKQMIQgF8NwMIAkAgBSgCKCIAKQMIuiAAKAIAuEQAAAAAAADoP6JkRQ0AIAUoAigoAgBBgICAgHhPDQAgBSgCKCAFKAIoKAIAQQF0IAUoAhAQWkEBcUUEQCAFQQA6AC8MAwsLCyAFKAIUQQhxBEAgBSgCBCAFKQMYNwMICyAFKAIEIAUpAxg3AxAgBUEBOgAvCyAFLQAvQQFxIQAgBUEwaiQAIAAL1BEBAX8jAEGwAWsiBiQAIAYgADYCqAEgBiABNgKkASAGIAI2AqABIAYgAzYCnAEgBiAENgKYASAGIAU2ApQBIAZBADYCkAEDQCAGKAKQAUEPS0UEQCAGQSBqIAYoApABQQF0akEAOwEAIAYgBigCkAFBAWo2ApABDAELCyAGQQA2AowBA0AgBigCjAEgBigCoAFPRQRAIAZBIGogBigCpAEgBigCjAFBAXRqLwEAQQF0aiIAIAAvAQBBAWo7AQAgBiAGKAKMAUEBajYCjAEMAQsLIAYgBigCmAEoAgA2AoABIAZBDzYChAEDQAJAIAYoAoQBQQFJDQAgBkEgaiAGKAKEAUEBdGovAQANACAGIAYoAoQBQQFrNgKEAQwBCwsgBigCgAEgBigChAFLBEAgBiAGKAKEATYCgAELAkAgBigChAFFBEAgBkHAADoAWCAGQQE6AFkgBkEAOwFaIAYoApwBIgEoAgAhACABIABBBGo2AgAgACAGQdgAaigBADYBACAGKAKcASIBKAIAIQAgASAAQQRqNgIAIAAgBkHYAGooAQA2AQAgBigCmAFBATYCACAGQQA2AqwBDAELIAZBATYCiAEDQAJAIAYoAogBIAYoAoQBTw0AIAZBIGogBigCiAFBAXRqLwEADQAgBiAGKAKIAUEBajYCiAEMAQsLIAYoAoABIAYoAogBSQRAIAYgBigCiAE2AoABCyAGQQE2AnQgBkEBNgKQAQNAIAYoApABQQ9NBEAgBiAGKAJ0QQF0NgJ0IAYgBigCdCAGQSBqIAYoApABQQF0ai8BAGs2AnQgBigCdEEASARAIAZBfzYCrAEMAwUgBiAGKAKQAUEBajYCkAEMAgsACwsCQCAGKAJ0QQBMDQAgBigCqAEEQCAGKAKEAUEBRg0BCyAGQX82AqwBDAELIAZBADsBAiAGQQE2ApABA0AgBigCkAFBD09FBEAgBigCkAFBAWpBAXQgBmogBigCkAFBAXQgBmovAQAgBkEgaiAGKAKQAUEBdGovAQBqOwEAIAYgBigCkAFBAWo2ApABDAELCyAGQQA2AowBA0AgBigCjAEgBigCoAFJBEAgBigCpAEgBigCjAFBAXRqLwEABEAgBigClAEhASAGKAKkASAGKAKMASICQQF0ai8BAEEBdCAGaiIDLwEAIQAgAyAAQQFqOwEAIABB//8DcUEBdCABaiACOwEACyAGIAYoAowBQQFqNgKMAQwBCwsCQAJAAkACQCAGKAKoAQ4CAAECCyAGIAYoApQBIgA2AkwgBiAANgJQIAZBFDYCSAwCCyAGQYDwADYCUCAGQcDwADYCTCAGQYECNgJIDAELIAZBgPEANgJQIAZBwPEANgJMIAZBADYCSAsgBkEANgJsIAZBADYCjAEgBiAGKAKIATYCkAEgBiAGKAKcASgCADYCVCAGIAYoAoABNgJ8IAZBADYCeCAGQX82AmAgBkEBIAYoAoABdDYCcCAGIAYoAnBBAWs2AlwCQAJAIAYoAqgBQQFGBEAgBigCcEHUBksNAQsgBigCqAFBAkcNASAGKAJwQdAETQ0BCyAGQQE2AqwBDAELA0AgBiAGKAKQASAGKAJ4azoAWQJAIAYoAkggBigClAEgBigCjAFBAXRqLwEAQQFqSwRAIAZBADoAWCAGIAYoApQBIAYoAowBQQF0ai8BADsBWgwBCwJAIAYoApQBIAYoAowBQQF0ai8BACAGKAJITwRAIAYgBigCTCAGKAKUASAGKAKMAUEBdGovAQAgBigCSGtBAXRqLwEAOgBYIAYgBigCUCAGKAKUASAGKAKMAUEBdGovAQAgBigCSGtBAXRqLwEAOwFaDAELIAZB4AA6AFggBkEAOwFaCwsgBkEBIAYoApABIAYoAnhrdDYCaCAGQQEgBigCfHQ2AmQgBiAGKAJkNgKIAQNAIAYgBigCZCAGKAJoazYCZCAGKAJUIAYoAmQgBigCbCAGKAJ4dmpBAnRqIAZB2ABqKAEANgEAIAYoAmQNAAsgBkEBIAYoApABQQFrdDYCaANAIAYoAmwgBigCaHEEQCAGIAYoAmhBAXY2AmgMAQsLAkAgBigCaARAIAYgBigCbCAGKAJoQQFrcTYCbCAGIAYoAmggBigCbGo2AmwMAQsgBkEANgJsCyAGIAYoAowBQQFqNgKMASAGQSBqIAYoApABQQF0aiIBLwEAQQFrIQAgASAAOwEAAkAgAEH//wNxRQRAIAYoApABIAYoAoQBRg0BIAYgBigCpAEgBigClAEgBigCjAFBAXRqLwEAQQF0ai8BADYCkAELAkAgBigCkAEgBigCgAFNDQAgBigCYCAGKAJsIAYoAlxxRg0AIAYoAnhFBEAgBiAGKAKAATYCeAsgBiAGKAJUIAYoAogBQQJ0ajYCVCAGIAYoApABIAYoAnhrNgJ8IAZBASAGKAJ8dDYCdANAAkAgBigChAEgBigCfCAGKAJ4ak0NACAGIAYoAnQgBkEgaiAGKAJ8IAYoAnhqQQF0ai8BAGs2AnQgBigCdEEATA0AIAYgBigCfEEBajYCfCAGIAYoAnRBAXQ2AnQMAQsLIAYgBigCcEEBIAYoAnx0ajYCcAJAAkAgBigCqAFBAUYEQCAGKAJwQdQGSw0BCyAGKAKoAUECRw0BIAYoAnBB0ARNDQELIAZBATYCrAEMBAsgBiAGKAJsIAYoAlxxNgJgIAYoApwBKAIAIAYoAmBBAnRqIAYoAnw6AAAgBigCnAEoAgAgBigCYEECdGogBigCgAE6AAEgBigCnAEoAgAgBigCYEECdGogBigCVCAGKAKcASgCAGtBAnU7AQILDAELCyAGKAJsBEAgBkHAADoAWCAGIAYoApABIAYoAnhrOgBZIAZBADsBWiAGKAJUIAYoAmxBAnRqIAZB2ABqKAEANgEACyAGKAKcASIAIAAoAgAgBigCcEECdGo2AgAgBigCmAEgBigCgAE2AgAgBkEANgKsAQsgBigCrAEhACAGQbABaiQAIAALsQIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIYKAIENgIMIAMoAgwgAygCEEsEQCADIAMoAhA2AgwLAkAgAygCDEUEQCADQQA2AhwMAQsgAygCGCIAIAAoAgQgAygCDGs2AgQgAygCFCADKAIYKAIAIAMoAgwQGRoCQCADKAIYKAIcKAIYQQFGBEAgAygCGCgCMCADKAIUIAMoAgwQPSEAIAMoAhggADYCMAwBCyADKAIYKAIcKAIYQQJGBEAgAygCGCgCMCADKAIUIAMoAgwQGiEAIAMoAhggADYCMAsLIAMoAhgiACADKAIMIAAoAgBqNgIAIAMoAhgiACADKAIMIAAoAghqNgIIIAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzYBAX8jAEEQayIBJAAgASAANgIMIAEoAgwQXiABKAIMKAIAEDcgASgCDCgCBBA3IAFBEGokAAvtAQEBfyMAQRBrIgEgADYCCAJAAkACQCABKAIIRQ0AIAEoAggoAiBFDQAgASgCCCgCJA0BCyABQQE2AgwMAQsgASABKAIIKAIcNgIEAkACQCABKAIERQ0AIAEoAgQoAgAgASgCCEcNACABKAIEKAIEQSpGDQEgASgCBCgCBEE5Rg0BIAEoAgQoAgRBxQBGDQEgASgCBCgCBEHJAEYNASABKAIEKAIEQdsARg0BIAEoAgQoAgRB5wBGDQEgASgCBCgCBEHxAEYNASABKAIEKAIEQZoFRg0BCyABQQE2AgwMAQsgAUEANgIMCyABKAIMC9IEAQF/IwBBIGsiAyAANgIcIAMgATYCGCADIAI2AhQgAyADKAIcQdwWaiADKAIUQQJ0aigCADYCECADIAMoAhRBAXQ2AgwDQAJAIAMoAgwgAygCHCgC0ChKDQACQCADKAIMIAMoAhwoAtAoTg0AIAMoAhggAygCHCADKAIMQQJ0akHgFmooAgBBAnRqLwEAIAMoAhggAygCHEHcFmogAygCDEECdGooAgBBAnRqLwEATgRAIAMoAhggAygCHCADKAIMQQJ0akHgFmooAgBBAnRqLwEAIAMoAhggAygCHEHcFmogAygCDEECdGooAgBBAnRqLwEARw0BIAMoAhwgAygCDEECdGpB4BZqKAIAIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQELIAMgAygCDEEBajYCDAsgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEgNAAJAIAMoAhggAygCEEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEECdGovAQBHDQAgAygCECADKAIcQdgoamotAAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJI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ECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABog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AS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=\";tg(po)||(po=h(po));function rg(d){try{if(d==po&&V)return new Uint8Array(V);var E=ca(d);if(E)return E;if(C)return C(d);throw\"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)\"}catch(I){wr(I)}}function gp(d,E){var I,k,T;try{T=rg(d),k=new WebAssembly.Module(T),I=new WebAssembly.Instance(k,E)}catch(te){var _=te.toString();throw D(\"failed to compile wasm module: \"+_),(_.includes(\"imported Memory\")||_.includes(\"memory import\"))&&D(\"Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time).\"),te}return[I,k]}function fp(){var d={a:ua};function E(T,_){var te=T.exports;t.asm=te,A=t.asm.u,Or(A.buffer),gi=t.asm.pa,aA(t.asm.v),cA(\"wasm-instantiate\")}if(lA(\"wasm-instantiate\"),t.instantiateWasm)try{var I=t.instantiateWasm(d,E);return I}catch(T){return D(\"Module.instantiateWasm callback failed with error: \"+T),!1}var k=gp(po,d);return E(k[0]),t.asm}var vr,se;function Co(d){for(;d.length>0;){var E=d.shift();if(typeof E==\"function\"){E(t);continue}var I=E.func;typeof I==\"number\"?E.arg===void 0?gi.get(I)():gi.get(I)(E.arg):I(E.arg===void 0?null:E.arg)}}function Dn(d,E){var I=new Date(de[d>>2]*1e3);de[E>>2]=I.getUTCSeconds(),de[E+4>>2]=I.getUTCMinutes(),de[E+8>>2]=I.getUTCHours(),de[E+12>>2]=I.getUTCDate(),de[E+16>>2]=I.getUTCMonth(),de[E+20>>2]=I.getUTCFullYear()-1900,de[E+24>>2]=I.getUTCDay(),de[E+36>>2]=0,de[E+32>>2]=0;var k=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),T=(I.getTime()-k)/(1e3*60*60*24)|0;return de[E+28>>2]=T,Dn.GMTString||(Dn.GMTString=we(\"GMT\")),de[E+40>>2]=Dn.GMTString,E}function ig(d,E){return Dn(d,E)}var Qt={splitPath:function(d){var E=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return E.exec(d).slice(1)},normalizeArray:function(d,E){for(var I=0,k=d.length-1;k>=0;k--){var T=d[k];T===\".\"?d.splice(k,1):T===\"..\"?(d.splice(k,1),I++):I&&(d.splice(k,1),I--)}if(E)for(;I;I--)d.unshift(\"..\");return d},normalize:function(d){var E=d.charAt(0)===\"/\",I=d.substr(-1)===\"/\";return d=Qt.normalizeArray(d.split(\"/\").filter(function(k){return!!k}),!E).join(\"/\"),!d&&!E&&(d=\".\"),d&&I&&(d+=\"/\"),(E?\"/\":\"\")+d},dirname:function(d){var E=Qt.splitPath(d),I=E[0],k=E[1];return!I&&!k?\".\":(k&&(k=k.substr(0,k.length-1)),I+k)},basename:function(d){if(d===\"/\")return\"/\";d=Qt.normalize(d),d=d.replace(/\\/$/,\"\");var E=d.lastIndexOf(\"/\");return E===-1?d:d.substr(E+1)},extname:function(d){return Qt.splitPath(d)[3]},join:function(){var d=Array.prototype.slice.call(arguments,0);return Qt.normalize(d.join(\"/\"))},join2:function(d,E){return Qt.normalize(d+\"/\"+E)}};function Bl(){if(typeof crypto==\"object\"&&typeof crypto.getRandomValues==\"function\"){var d=new Uint8Array(1);return function(){return crypto.getRandomValues(d),d[0]}}else if(g)try{var E=J(\"crypto\");return function(){return E.randomBytes(1)[0]}}catch{}return function(){wr(\"randomDevice\")}}var kn={resolve:function(){for(var d=\"\",E=!1,I=arguments.length-1;I>=-1&&!E;I--){var k=I>=0?arguments[I]:S.cwd();if(typeof k!=\"string\")throw new TypeError(\"Arguments to path.resolve must be strings\");if(!k)return\"\";d=k+\"/\"+d,E=k.charAt(0)===\"/\"}return d=Qt.normalizeArray(d.split(\"/\").filter(function(T){return!!T}),!E).join(\"/\"),(E?\"/\":\"\")+d||\".\"},relative:function(d,E){d=kn.resolve(d).substr(1),E=kn.resolve(E).substr(1);function I(Je){for(var nt=0;nt<Je.length&&Je[nt]===\"\";nt++);for(var wt=Je.length-1;wt>=0&&Je[wt]===\"\";wt--);return nt>wt?[]:Je.slice(nt,wt-nt+1)}for(var k=I(d.split(\"/\")),T=I(E.split(\"/\")),_=Math.min(k.length,T.length),te=_,Be=0;Be<_;Be++)if(k[Be]!==T[Be]){te=Be;break}for(var me=[],Be=te;Be<k.length;Be++)me.push(\"..\");return me=me.concat(T.slice(te)),me.join(\"/\")}},$n={ttys:[],init:function(){},shutdown:function(){},register:function(d,E){$n.ttys[d]={input:[],output:[],ops:E},S.registerDevice(d,$n.stream_ops)},stream_ops:{open:function(d){var E=$n.ttys[d.node.rdev];if(!E)throw new S.ErrnoError(43);d.tty=E,d.seekable=!1},close:function(d){d.tty.ops.flush(d.tty)},flush:function(d){d.tty.ops.flush(d.tty)},read:function(d,E,I,k,T){if(!d.tty||!d.tty.ops.get_char)throw new S.ErrnoError(60);for(var _=0,te=0;te<k;te++){var Be;try{Be=d.tty.ops.get_char(d.tty)}catch{throw new S.ErrnoError(29)}if(Be===void 0&&_===0)throw new S.ErrnoError(6);if(Be==null)break;_++,E[I+te]=Be}return _&&(d.node.timestamp=Date.now()),_},write:function(d,E,I,k,T){if(!d.tty||!d.tty.ops.put_char)throw new S.ErrnoError(60);try{for(var _=0;_<k;_++)d.tty.ops.put_char(d.tty,E[I+_])}catch{throw new S.ErrnoError(29)}return k&&(d.node.timestamp=Date.now()),_}},default_tty_ops:{get_char:function(d){if(!d.input.length){var E=null;if(g){var I=256,k=Buffer.alloc?Buffer.alloc(I):new Buffer(I),T=0;try{T=y.readSync(process.stdin.fd,k,0,I,null)}catch(_){if(_.toString().includes(\"EOF\"))T=0;else throw _}T>0?E=k.slice(0,T).toString(\"utf-8\"):E=null}else typeof window<\"u\"&&typeof window.prompt==\"function\"?(E=window.prompt(\"Input: \"),E!==null&&(E+=`\n`)):typeof readline==\"function\"&&(E=readline(),E!==null&&(E+=`\n`));if(!E)return null;d.input=gA(E,!0)}return d.input.shift()},put_char:function(d,E){E===null||E===10?(v(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(v(ke(d.output,0)),d.output=[])}},default_tty1_ops:{put_char:function(d,E){E===null||E===10?(D(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(D(ke(d.output,0)),d.output=[])}}};function es(d){for(var E=H(d,65536),I=dt(E);d<E;)ne[I+d++]=0;return I}var gt={ops_table:null,mount:function(d){return gt.createNode(null,\"/\",16895,0)},createNode:function(d,E,I,k){if(S.isBlkdev(I)||S.isFIFO(I))throw new S.ErrnoError(63);gt.ops_table||(gt.ops_table={dir:{node:{getattr:gt.node_ops.getattr,setattr:gt.node_ops.setattr,lookup:gt.node_ops.lookup,mknod:gt.node_ops.mknod,rename:gt.node_ops.rename,unlink:gt.node_ops.unlink,rmdir:gt.node_ops.rmdir,readdir:gt.node_ops.readdir,symlink:gt.node_ops.symlink},stream:{llseek:gt.stream_ops.llseek}},file:{node:{getattr:gt.node_ops.getattr,setattr:gt.node_ops.setattr},stream:{llseek:gt.stream_ops.llseek,read:gt.stream_ops.read,write:gt.stream_ops.write,allocate:gt.stream_ops.allocate,mmap:gt.stream_ops.mmap,msync:gt.stream_ops.msync}},link:{node:{getattr:gt.node_ops.getattr,setattr:gt.node_ops.setattr,readlink:gt.node_ops.readlink},stream:{}},chrdev:{node:{getattr:gt.node_ops.getattr,setattr:gt.node_ops.setattr},stream:S.chrdev_stream_ops}});var T=S.createNode(d,E,I,k);return S.isDir(T.mode)?(T.node_ops=gt.ops_table.dir.node,T.stream_ops=gt.ops_table.dir.stream,T.contents={}):S.isFile(T.mode)?(T.node_ops=gt.ops_table.file.node,T.stream_ops=gt.ops_table.file.stream,T.usedBytes=0,T.contents=null):S.isLink(T.mode)?(T.node_ops=gt.ops_table.link.node,T.stream_ops=gt.ops_table.link.stream):S.isChrdev(T.mode)&&(T.node_ops=gt.ops_table.chrdev.node,T.stream_ops=gt.ops_table.chrdev.stream),T.timestamp=Date.now(),d&&(d.contents[E]=T,d.timestamp=T.timestamp),T},getFileDataAsTypedArray:function(d){return d.contents?d.contents.subarray?d.contents.subarray(0,d.usedBytes):new Uint8Array(d.contents):new Uint8Array(0)},expandFileStorage:function(d,E){var I=d.contents?d.contents.length:0;if(!(I>=E)){var k=1024*1024;E=Math.max(E,I*(I<k?2:1.125)>>>0),I!=0&&(E=Math.max(E,256));var T=d.contents;d.contents=new Uint8Array(E),d.usedBytes>0&&d.contents.set(T.subarray(0,d.usedBytes),0)}},resizeFileStorage:function(d,E){if(d.usedBytes!=E)if(E==0)d.contents=null,d.usedBytes=0;else{var I=d.contents;d.contents=new Uint8Array(E),I&&d.contents.set(I.subarray(0,Math.min(E,d.usedBytes))),d.usedBytes=E}},node_ops:{getattr:function(d){var E={};return E.dev=S.isChrdev(d.mode)?d.id:1,E.ino=d.id,E.mode=d.mode,E.nlink=1,E.uid=0,E.gid=0,E.rdev=d.rdev,S.isDir(d.mode)?E.size=4096:S.isFile(d.mode)?E.size=d.usedBytes:S.isLink(d.mode)?E.size=d.link.length:E.size=0,E.atime=new Date(d.timestamp),E.mtime=new Date(d.timestamp),E.ctime=new Date(d.timestamp),E.blksize=4096,E.blocks=Math.ceil(E.size/E.blksize),E},setattr:function(d,E){E.mode!==void 0&&(d.mode=E.mode),E.timestamp!==void 0&&(d.timestamp=E.timestamp),E.size!==void 0&&gt.resizeFileStorage(d,E.size)},lookup:function(d,E){throw S.genericErrors[44]},mknod:function(d,E,I,k){return gt.createNode(d,E,I,k)},rename:function(d,E,I){if(S.isDir(d.mode)){var k;try{k=S.lookupNode(E,I)}catch{}if(k)for(var T in k.contents)throw new S.ErrnoError(55)}delete d.parent.contents[d.name],d.parent.timestamp=Date.now(),d.name=I,E.contents[I]=d,E.timestamp=d.parent.timestamp,d.parent=E},unlink:function(d,E){delete d.contents[E],d.timestamp=Date.now()},rmdir:function(d,E){var I=S.lookupNode(d,E);for(var k in I.contents)throw new S.ErrnoError(55);delete d.contents[E],d.timestamp=Date.now()},readdir:function(d){var E=[\".\",\"..\"];for(var I in d.contents)!d.contents.hasOwnProperty(I)||E.push(I);return E},symlink:function(d,E,I){var k=gt.createNode(d,E,41471,0);return k.link=I,k},readlink:function(d){if(!S.isLink(d.mode))throw new S.ErrnoError(28);return d.link}},stream_ops:{read:function(d,E,I,k,T){var _=d.node.contents;if(T>=d.node.usedBytes)return 0;var te=Math.min(d.node.usedBytes-T,k);if(te>8&&_.subarray)E.set(_.subarray(T,T+te),I);else for(var Be=0;Be<te;Be++)E[I+Be]=_[T+Be];return te},write:function(d,E,I,k,T,_){if(E.buffer===ne.buffer&&(_=!1),!k)return 0;var te=d.node;if(te.timestamp=Date.now(),E.subarray&&(!te.contents||te.contents.subarray)){if(_)return te.contents=E.subarray(I,I+k),te.usedBytes=k,k;if(te.usedBytes===0&&T===0)return te.contents=E.slice(I,I+k),te.usedBytes=k,k;if(T+k<=te.usedBytes)return te.contents.set(E.subarray(I,I+k),T),k}if(gt.expandFileStorage(te,T+k),te.contents.subarray&&E.subarray)te.contents.set(E.subarray(I,I+k),T);else for(var Be=0;Be<k;Be++)te.contents[T+Be]=E[I+Be];return te.usedBytes=Math.max(te.usedBytes,T+k),k},llseek:function(d,E,I){var k=E;if(I===1?k+=d.position:I===2&&S.isFile(d.node.mode)&&(k+=d.node.usedBytes),k<0)throw new S.ErrnoError(28);return k},allocate:function(d,E,I){gt.expandFileStorage(d.node,E+I),d.node.usedBytes=Math.max(d.node.usedBytes,E+I)},mmap:function(d,E,I,k,T,_){if(E!==0)throw new S.ErrnoError(28);if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);var te,Be,me=d.node.contents;if(!(_&2)&&me.buffer===qe)Be=!1,te=me.byteOffset;else{if((k>0||k+I<me.length)&&(me.subarray?me=me.subarray(k,k+I):me=Array.prototype.slice.call(me,k,k+I)),Be=!0,te=es(I),!te)throw new S.ErrnoError(48);ne.set(me,te)}return{ptr:te,allocated:Be}},msync:function(d,E,I,k,T){if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);if(T&2)return 0;var _=gt.stream_ops.write(d,E,0,k,I,!1);return 0}}},mo={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},At={isWindows:!1,staticInit:function(){At.isWindows=!!process.platform.match(/^win/);var d={fs:Te.constants};d.fs&&(d=d.fs),At.flagsForNodeMap={1024:d.O_APPEND,64:d.O_CREAT,128:d.O_EXCL,256:d.O_NOCTTY,0:d.O_RDONLY,2:d.O_RDWR,4096:d.O_SYNC,512:d.O_TRUNC,1:d.O_WRONLY}},bufferFrom:function(d){return Buffer.alloc?Buffer.from(d):new Buffer(d)},convertNodeCode:function(d){var E=d.code;return mo[E]},mount:function(d){return At.createNode(null,\"/\",At.getMode(d.opts.root),0)},createNode:function(d,E,I,k){if(!S.isDir(I)&&!S.isFile(I)&&!S.isLink(I))throw new S.ErrnoError(28);var T=S.createNode(d,E,I);return T.node_ops=At.node_ops,T.stream_ops=At.stream_ops,T},getMode:function(d){var E;try{E=Te.lstatSync(d),At.isWindows&&(E.mode=E.mode|(E.mode&292)>>2)}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}return E.mode},realPath:function(d){for(var E=[];d.parent!==d;)E.push(d.name),d=d.parent;return E.push(d.mount.opts.root),E.reverse(),Qt.join.apply(null,E)},flagsForNode:function(d){d&=-2097153,d&=-2049,d&=-32769,d&=-524289;var E=0;for(var I in At.flagsForNodeMap)d&I&&(E|=At.flagsForNodeMap[I],d^=I);if(d)throw new S.ErrnoError(28);return E},node_ops:{getattr:function(d){var E=At.realPath(d),I;try{I=Te.lstatSync(E)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}return At.isWindows&&!I.blksize&&(I.blksize=4096),At.isWindows&&!I.blocks&&(I.blocks=(I.size+I.blksize-1)/I.blksize|0),{dev:I.dev,ino:I.ino,mode:I.mode,nlink:I.nlink,uid:I.uid,gid:I.gid,rdev:I.rdev,size:I.size,atime:I.atime,mtime:I.mtime,ctime:I.ctime,blksize:I.blksize,blocks:I.blocks}},setattr:function(d,E){var I=At.realPath(d);try{if(E.mode!==void 0&&(Te.chmodSync(I,E.mode),d.mode=E.mode),E.timestamp!==void 0){var k=new Date(E.timestamp);Te.utimesSync(I,k,k)}E.size!==void 0&&Te.truncateSync(I,E.size)}catch(T){throw T.code?new S.ErrnoError(At.convertNodeCode(T)):T}},lookup:function(d,E){var I=Qt.join2(At.realPath(d),E),k=At.getMode(I);return At.createNode(d,E,k)},mknod:function(d,E,I,k){var T=At.createNode(d,E,I,k),_=At.realPath(T);try{S.isDir(T.mode)?Te.mkdirSync(_,T.mode):Te.writeFileSync(_,\"\",{mode:T.mode})}catch(te){throw te.code?new S.ErrnoError(At.convertNodeCode(te)):te}return T},rename:function(d,E,I){var k=At.realPath(d),T=Qt.join2(At.realPath(E),I);try{Te.renameSync(k,T)}catch(_){throw _.code?new S.ErrnoError(At.convertNodeCode(_)):_}d.name=I},unlink:function(d,E){var I=Qt.join2(At.realPath(d),E);try{Te.unlinkSync(I)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}},rmdir:function(d,E){var I=Qt.join2(At.realPath(d),E);try{Te.rmdirSync(I)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}},readdir:function(d){var E=At.realPath(d);try{return Te.readdirSync(E)}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}},symlink:function(d,E,I){var k=Qt.join2(At.realPath(d),E);try{Te.symlinkSync(I,k)}catch(T){throw T.code?new S.ErrnoError(At.convertNodeCode(T)):T}},readlink:function(d){var E=At.realPath(d);try{return E=Te.readlinkSync(E),E=og.relative(og.resolve(d.mount.opts.root),E),E}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}}},stream_ops:{open:function(d){var E=At.realPath(d.node);try{S.isFile(d.node.mode)&&(d.nfd=Te.openSync(E,At.flagsForNode(d.flags)))}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}},close:function(d){try{S.isFile(d.node.mode)&&d.nfd&&Te.closeSync(d.nfd)}catch(E){throw E.code?new S.ErrnoError(At.convertNodeCode(E)):E}},read:function(d,E,I,k,T){if(k===0)return 0;try{return Te.readSync(d.nfd,At.bufferFrom(E.buffer),I,k,T)}catch(_){throw new S.ErrnoError(At.convertNodeCode(_))}},write:function(d,E,I,k,T){try{return Te.writeSync(d.nfd,At.bufferFrom(E.buffer),I,k,T)}catch(_){throw new S.ErrnoError(At.convertNodeCode(_))}},llseek:function(d,E,I){var k=E;if(I===1)k+=d.position;else if(I===2&&S.isFile(d.node.mode))try{var T=Te.fstatSync(d.nfd);k+=T.size}catch(_){throw new S.ErrnoError(At.convertNodeCode(_))}if(k<0)throw new S.ErrnoError(28);return k},mmap:function(d,E,I,k,T,_){if(E!==0)throw new S.ErrnoError(28);if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);var te=es(I);return At.stream_ops.read(d,ne,te,I,k),{ptr:te,allocated:!0}},msync:function(d,E,I,k,T){if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);if(T&2)return 0;var _=At.stream_ops.write(d,E,0,k,I,!1);return 0}}},an={lookupPath:function(d){return{path:d,node:{mode:At.getMode(d)}}},createStandardStreams:function(){S.streams[0]={fd:0,nfd:0,position:0,path:\"\",flags:0,tty:!0,seekable:!1};for(var d=1;d<3;d++)S.streams[d]={fd:d,nfd:d,position:0,path:\"\",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(d,E){S.isDir(d)?Te.mkdirSync(d,E):Te.writeFileSync(d,\"\",{mode:E})},mkdir:function(){Te.mkdirSync.apply(void 0,arguments)},symlink:function(){Te.symlinkSync.apply(void 0,arguments)},rename:function(){Te.renameSync.apply(void 0,arguments)},rmdir:function(){Te.rmdirSync.apply(void 0,arguments)},readdir:function(){Te.readdirSync.apply(void 0,arguments)},unlink:function(){Te.unlinkSync.apply(void 0,arguments)},readlink:function(){return Te.readlinkSync.apply(void 0,arguments)},stat:function(){return Te.statSync.apply(void 0,arguments)},lstat:function(){return Te.lstatSync.apply(void 0,arguments)},chmod:function(){Te.chmodSync.apply(void 0,arguments)},fchmod:function(){Te.fchmodSync.apply(void 0,arguments)},chown:function(){Te.chownSync.apply(void 0,arguments)},fchown:function(){Te.fchownSync.apply(void 0,arguments)},truncate:function(){Te.truncateSync.apply(void 0,arguments)},ftruncate:function(d,E){if(E<0)throw new S.ErrnoError(28);Te.ftruncateSync.apply(void 0,arguments)},utime:function(){Te.utimesSync.apply(void 0,arguments)},open:function(d,E,I,k){typeof E==\"string\"&&(E=Os.modeStringToFlags(E));var T=Te.openSync(d,At.flagsForNode(E),I),_=k!=null?k:S.nextfd(T),te={fd:_,nfd:T,position:0,path:d,flags:E,seekable:!0};return S.streams[_]=te,te},close:function(d){d.stream_ops||Te.closeSync(d.nfd),S.closeStream(d.fd)},llseek:function(d,E,I){if(d.stream_ops)return Os.llseek(d,E,I);var k=E;if(I===1)k+=d.position;else if(I===2)k+=Te.fstatSync(d.nfd).size;else if(I!==0)throw new S.ErrnoError(mo.EINVAL);if(k<0)throw new S.ErrnoError(mo.EINVAL);return d.position=k,k},read:function(d,E,I,k,T){if(d.stream_ops)return Os.read(d,E,I,k,T);var _=typeof T<\"u\";!_&&d.seekable&&(T=d.position);var te=Te.readSync(d.nfd,At.bufferFrom(E.buffer),I,k,T);return _||(d.position+=te),te},write:function(d,E,I,k,T){if(d.stream_ops)return Os.write(d,E,I,k,T);d.flags&+\"1024\"&&S.llseek(d,0,+\"2\");var _=typeof T<\"u\";!_&&d.seekable&&(T=d.position);var te=Te.writeSync(d.nfd,At.bufferFrom(E.buffer),I,k,T);return _||(d.position+=te),te},allocate:function(){throw new S.ErrnoError(mo.EOPNOTSUPP)},mmap:function(d,E,I,k,T,_){if(d.stream_ops)return Os.mmap(d,E,I,k,T,_);if(E!==0)throw new S.ErrnoError(28);var te=es(I);return S.read(d,ne,te,I,k),{ptr:te,allocated:!0}},msync:function(d,E,I,k,T){return d.stream_ops?Os.msync(d,E,I,k,T):(T&2||S.write(d,E,0,k,I),0)},munmap:function(){return 0},ioctl:function(){throw new S.ErrnoError(mo.ENOTTY)}},S={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:\"/\",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(d,E){if(d=kn.resolve(S.cwd(),d),E=E||{},!d)return{path:\"\",node:null};var I={follow_mount:!0,recurse_count:0};for(var k in I)E[k]===void 0&&(E[k]=I[k]);if(E.recurse_count>8)throw new S.ErrnoError(32);for(var T=Qt.normalizeArray(d.split(\"/\").filter(function(lt){return!!lt}),!1),_=S.root,te=\"/\",Be=0;Be<T.length;Be++){var me=Be===T.length-1;if(me&&E.parent)break;if(_=S.lookupNode(_,T[Be]),te=Qt.join2(te,T[Be]),S.isMountpoint(_)&&(!me||me&&E.follow_mount)&&(_=_.mounted.root),!me||E.follow)for(var Je=0;S.isLink(_.mode);){var nt=S.readlink(te);te=kn.resolve(Qt.dirname(te),nt);var wt=S.lookupPath(te,{recurse_count:E.recurse_count});if(_=wt.node,Je++>40)throw new S.ErrnoError(32)}}return{path:te,node:_}},getPath:function(d){for(var E;;){if(S.isRoot(d)){var I=d.mount.mountpoint;return E?I[I.length-1]!==\"/\"?I+\"/\"+E:I+E:I}E=E?d.name+\"/\"+E:d.name,d=d.parent}},hashName:function(d,E){for(var I=0,k=0;k<E.length;k++)I=(I<<5)-I+E.charCodeAt(k)|0;return(d+I>>>0)%S.nameTable.length},hashAddNode:function(d){var E=S.hashName(d.parent.id,d.name);d.name_next=S.nameTable[E],S.nameTable[E]=d},hashRemoveNode:function(d){var E=S.hashName(d.parent.id,d.name);if(S.nameTable[E]===d)S.nameTable[E]=d.name_next;else for(var I=S.nameTable[E];I;){if(I.name_next===d){I.name_next=d.name_next;break}I=I.name_next}},lookupNode:function(d,E){var I=S.mayLookup(d);if(I)throw new S.ErrnoError(I,d);for(var k=S.hashName(d.id,E),T=S.nameTable[k];T;T=T.name_next){var _=T.name;if(T.parent.id===d.id&&_===E)return T}return S.lookup(d,E)},createNode:function(d,E,I,k){var T=new S.FSNode(d,E,I,k);return S.hashAddNode(T),T},destroyNode:function(d){S.hashRemoveNode(d)},isRoot:function(d){return d===d.parent},isMountpoint:function(d){return!!d.mounted},isFile:function(d){return(d&61440)===32768},isDir:function(d){return(d&61440)===16384},isLink:function(d){return(d&61440)===40960},isChrdev:function(d){return(d&61440)===8192},isBlkdev:function(d){return(d&61440)===24576},isFIFO:function(d){return(d&61440)===4096},isSocket:function(d){return(d&49152)===49152},flagModes:{r:0,\"r+\":2,w:577,\"w+\":578,a:1089,\"a+\":1090},modeStringToFlags:function(d){var E=S.flagModes[d];if(typeof E>\"u\")throw new Error(\"Unknown file open mode: \"+d);return E},flagsToPermissionString:function(d){var E=[\"r\",\"w\",\"rw\"][d&3];return d&512&&(E+=\"w\"),E},nodePermissions:function(d,E){return S.ignorePermissions?0:E.includes(\"r\")&&!(d.mode&292)||E.includes(\"w\")&&!(d.mode&146)||E.includes(\"x\")&&!(d.mode&73)?2:0},mayLookup:function(d){var E=S.nodePermissions(d,\"x\");return E||(d.node_ops.lookup?0:2)},mayCreate:function(d,E){try{var I=S.lookupNode(d,E);return 20}catch{}return S.nodePermissions(d,\"wx\")},mayDelete:function(d,E,I){var k;try{k=S.lookupNode(d,E)}catch(_){return _.errno}var T=S.nodePermissions(d,\"wx\");if(T)return T;if(I){if(!S.isDir(k.mode))return 54;if(S.isRoot(k)||S.getPath(k)===S.cwd())return 10}else if(S.isDir(k.mode))return 31;return 0},mayOpen:function(d,E){return d?S.isLink(d.mode)?32:S.isDir(d.mode)&&(S.flagsToPermissionString(E)!==\"r\"||E&512)?31:S.nodePermissions(d,S.flagsToPermissionString(E)):44},MAX_OPEN_FDS:4096,nextfd:function(d,E){d=d||0,E=E||S.MAX_OPEN_FDS;for(var I=d;I<=E;I++)if(!S.streams[I])return I;throw new S.ErrnoError(33)},getStream:function(d){return S.streams[d]},createStream:function(d,E,I){S.FSStream||(S.FSStream=function(){},S.FSStream.prototype={object:{get:function(){return this.node},set:function(te){this.node=te}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}});var k=new S.FSStream;for(var T in d)k[T]=d[T];d=k;var _=S.nextfd(E,I);return d.fd=_,S.streams[_]=d,d},closeStream:function(d){S.streams[d]=null},chrdev_stream_ops:{open:function(d){var E=S.getDevice(d.node.rdev);d.stream_ops=E.stream_ops,d.stream_ops.open&&d.stream_ops.open(d)},llseek:function(){throw new S.ErrnoError(70)}},major:function(d){return d>>8},minor:function(d){return d&255},makedev:function(d,E){return d<<8|E},registerDevice:function(d,E){S.devices[d]={stream_ops:E}},getDevice:function(d){return S.devices[d]},getMounts:function(d){for(var E=[],I=[d];I.length;){var k=I.pop();E.push(k),I.push.apply(I,k.mounts)}return E},syncfs:function(d,E){typeof d==\"function\"&&(E=d,d=!1),S.syncFSRequests++,S.syncFSRequests>1&&D(\"warning: \"+S.syncFSRequests+\" FS.syncfs operations in flight at once, probably just doing extra work\");var I=S.getMounts(S.root.mount),k=0;function T(te){return S.syncFSRequests--,E(te)}function _(te){if(te)return _.errored?void 0:(_.errored=!0,T(te));++k>=I.length&&T(null)}I.forEach(function(te){if(!te.type.syncfs)return _(null);te.type.syncfs(te,d,_)})},mount:function(d,E,I){var k=I===\"/\",T=!I,_;if(k&&S.root)throw new S.ErrnoError(10);if(!k&&!T){var te=S.lookupPath(I,{follow_mount:!1});if(I=te.path,_=te.node,S.isMountpoint(_))throw new S.ErrnoError(10);if(!S.isDir(_.mode))throw new S.ErrnoError(54)}var Be={type:d,opts:E,mountpoint:I,mounts:[]},me=d.mount(Be);return me.mount=Be,Be.root=me,k?S.root=me:_&&(_.mounted=Be,_.mount&&_.mount.mounts.push(Be)),me},unmount:function(d){var E=S.lookupPath(d,{follow_mount:!1});if(!S.isMountpoint(E.node))throw new S.ErrnoError(28);var I=E.node,k=I.mounted,T=S.getMounts(k);Object.keys(S.nameTable).forEach(function(te){for(var Be=S.nameTable[te];Be;){var me=Be.name_next;T.includes(Be.mount)&&S.destroyNode(Be),Be=me}}),I.mounted=null;var _=I.mount.mounts.indexOf(k);I.mount.mounts.splice(_,1)},lookup:function(d,E){return d.node_ops.lookup(d,E)},mknod:function(d,E,I){var k=S.lookupPath(d,{parent:!0}),T=k.node,_=Qt.basename(d);if(!_||_===\".\"||_===\"..\")throw new S.ErrnoError(28);var te=S.mayCreate(T,_);if(te)throw new S.ErrnoError(te);if(!T.node_ops.mknod)throw new S.ErrnoError(63);return T.node_ops.mknod(T,_,E,I)},create:function(d,E){return E=E!==void 0?E:438,E&=4095,E|=32768,S.mknod(d,E,0)},mkdir:function(d,E){return E=E!==void 0?E:511,E&=1023,E|=16384,S.mknod(d,E,0)},mkdirTree:function(d,E){for(var I=d.split(\"/\"),k=\"\",T=0;T<I.length;++T)if(!!I[T]){k+=\"/\"+I[T];try{S.mkdir(k,E)}catch(_){if(_.errno!=20)throw _}}},mkdev:function(d,E,I){return typeof I>\"u\"&&(I=E,E=438),E|=8192,S.mknod(d,E,I)},symlink:function(d,E){if(!kn.resolve(d))throw new S.ErrnoError(44);var I=S.lookupPath(E,{parent:!0}),k=I.node;if(!k)throw new S.ErrnoError(44);var T=Qt.basename(E),_=S.mayCreate(k,T);if(_)throw new S.ErrnoError(_);if(!k.node_ops.symlink)throw new S.ErrnoError(63);return k.node_ops.symlink(k,T,d)},rename:function(d,E){var I=Qt.dirname(d),k=Qt.dirname(E),T=Qt.basename(d),_=Qt.basename(E),te,Be,me;if(te=S.lookupPath(d,{parent:!0}),Be=te.node,te=S.lookupPath(E,{parent:!0}),me=te.node,!Be||!me)throw new S.ErrnoError(44);if(Be.mount!==me.mount)throw new S.ErrnoError(75);var Je=S.lookupNode(Be,T),nt=kn.relative(d,k);if(nt.charAt(0)!==\".\")throw new S.ErrnoError(28);if(nt=kn.relative(E,I),nt.charAt(0)!==\".\")throw new S.ErrnoError(55);var wt;try{wt=S.lookupNode(me,_)}catch{}if(Je!==wt){var lt=S.isDir(Je.mode),it=S.mayDelete(Be,T,lt);if(it)throw new S.ErrnoError(it);if(it=wt?S.mayDelete(me,_,lt):S.mayCreate(me,_),it)throw new S.ErrnoError(it);if(!Be.node_ops.rename)throw new S.ErrnoError(63);if(S.isMountpoint(Je)||wt&&S.isMountpoint(wt))throw new S.ErrnoError(10);if(me!==Be&&(it=S.nodePermissions(Be,\"w\"),it))throw new S.ErrnoError(it);try{S.trackingDelegate.willMovePath&&S.trackingDelegate.willMovePath(d,E)}catch(Et){D(\"FS.trackingDelegate['willMovePath']('\"+d+\"', '\"+E+\"') threw an exception: \"+Et.message)}S.hashRemoveNode(Je);try{Be.node_ops.rename(Je,me,_)}catch(Et){throw Et}finally{S.hashAddNode(Je)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(d,E)}catch(Et){D(\"FS.trackingDelegate['onMovePath']('\"+d+\"', '\"+E+\"') threw an exception: \"+Et.message)}}},rmdir:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,k=Qt.basename(d),T=S.lookupNode(I,k),_=S.mayDelete(I,k,!0);if(_)throw new S.ErrnoError(_);if(!I.node_ops.rmdir)throw new S.ErrnoError(63);if(S.isMountpoint(T))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(te){D(\"FS.trackingDelegate['willDeletePath']('\"+d+\"') threw an exception: \"+te.message)}I.node_ops.rmdir(I,k),S.destroyNode(T);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(te){D(\"FS.trackingDelegate['onDeletePath']('\"+d+\"') threw an exception: \"+te.message)}},readdir:function(d){var E=S.lookupPath(d,{follow:!0}),I=E.node;if(!I.node_ops.readdir)throw new S.ErrnoError(54);return I.node_ops.readdir(I)},unlink:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,k=Qt.basename(d),T=S.lookupNode(I,k),_=S.mayDelete(I,k,!1);if(_)throw new S.ErrnoError(_);if(!I.node_ops.unlink)throw new S.ErrnoError(63);if(S.isMountpoint(T))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(te){D(\"FS.trackingDelegate['willDeletePath']('\"+d+\"') threw an exception: \"+te.message)}I.node_ops.unlink(I,k),S.destroyNode(T);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(te){D(\"FS.trackingDelegate['onDeletePath']('\"+d+\"') threw an exception: \"+te.message)}},readlink:function(d){var E=S.lookupPath(d),I=E.node;if(!I)throw new S.ErrnoError(44);if(!I.node_ops.readlink)throw new S.ErrnoError(28);return kn.resolve(S.getPath(I.parent),I.node_ops.readlink(I))},stat:function(d,E){var I=S.lookupPath(d,{follow:!E}),k=I.node;if(!k)throw new S.ErrnoError(44);if(!k.node_ops.getattr)throw new S.ErrnoError(63);return k.node_ops.getattr(k)},lstat:function(d){return S.stat(d,!0)},chmod:function(d,E,I){var k;if(typeof d==\"string\"){var T=S.lookupPath(d,{follow:!I});k=T.node}else k=d;if(!k.node_ops.setattr)throw new S.ErrnoError(63);k.node_ops.setattr(k,{mode:E&4095|k.mode&-4096,timestamp:Date.now()})},lchmod:function(d,E){S.chmod(d,E,!0)},fchmod:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);S.chmod(I.node,E)},chown:function(d,E,I,k){var T;if(typeof d==\"string\"){var _=S.lookupPath(d,{follow:!k});T=_.node}else T=d;if(!T.node_ops.setattr)throw new S.ErrnoError(63);T.node_ops.setattr(T,{timestamp:Date.now()})},lchown:function(d,E,I){S.chown(d,E,I,!0)},fchown:function(d,E,I){var k=S.getStream(d);if(!k)throw new S.ErrnoError(8);S.chown(k.node,E,I)},truncate:function(d,E){if(E<0)throw new S.ErrnoError(28);var I;if(typeof d==\"string\"){var k=S.lookupPath(d,{follow:!0});I=k.node}else I=d;if(!I.node_ops.setattr)throw new S.ErrnoError(63);if(S.isDir(I.mode))throw new S.ErrnoError(31);if(!S.isFile(I.mode))throw new S.ErrnoError(28);var T=S.nodePermissions(I,\"w\");if(T)throw new S.ErrnoError(T);I.node_ops.setattr(I,{size:E,timestamp:Date.now()})},ftruncate:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);if((I.flags&2097155)===0)throw new S.ErrnoError(28);S.truncate(I.node,E)},utime:function(d,E,I){var k=S.lookupPath(d,{follow:!0}),T=k.node;T.node_ops.setattr(T,{timestamp:Math.max(E,I)})},open:function(d,E,I,k,T){if(d===\"\")throw new S.ErrnoError(44);E=typeof E==\"string\"?S.modeStringToFlags(E):E,I=typeof I>\"u\"?438:I,E&64?I=I&4095|32768:I=0;var _;if(typeof d==\"object\")_=d;else{d=Qt.normalize(d);try{var te=S.lookupPath(d,{follow:!(E&131072)});_=te.node}catch{}}var Be=!1;if(E&64)if(_){if(E&128)throw new S.ErrnoError(20)}else _=S.mknod(d,I,0),Be=!0;if(!_)throw new S.ErrnoError(44);if(S.isChrdev(_.mode)&&(E&=-513),E&65536&&!S.isDir(_.mode))throw new S.ErrnoError(54);if(!Be){var me=S.mayOpen(_,E);if(me)throw new S.ErrnoError(me)}E&512&&S.truncate(_,0),E&=-131713;var Je=S.createStream({node:_,path:S.getPath(_),flags:E,seekable:!0,position:0,stream_ops:_.stream_ops,ungotten:[],error:!1},k,T);Je.stream_ops.open&&Je.stream_ops.open(Je),t.logReadFiles&&!(E&1)&&(S.readFiles||(S.readFiles={}),d in S.readFiles||(S.readFiles[d]=1,D(\"FS.trackingDelegate error on read file: \"+d)));try{if(S.trackingDelegate.onOpenFile){var nt=0;(E&2097155)!==1&&(nt|=S.tracking.openFlags.READ),(E&2097155)!==0&&(nt|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(d,nt)}}catch(wt){D(\"FS.trackingDelegate['onOpenFile']('\"+d+\"', flags) threw an exception: \"+wt.message)}return Je},close:function(d){if(S.isClosed(d))throw new S.ErrnoError(8);d.getdents&&(d.getdents=null);try{d.stream_ops.close&&d.stream_ops.close(d)}catch(E){throw E}finally{S.closeStream(d.fd)}d.fd=null},isClosed:function(d){return d.fd===null},llseek:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(!d.seekable||!d.stream_ops.llseek)throw new S.ErrnoError(70);if(I!=0&&I!=1&&I!=2)throw new S.ErrnoError(28);return d.position=d.stream_ops.llseek(d,E,I),d.ungotten=[],d.position},read:function(d,E,I,k,T){if(k<0||T<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)===1)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.read)throw new S.ErrnoError(28);var _=typeof T<\"u\";if(!_)T=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var te=d.stream_ops.read(d,E,I,k,T);return _||(d.position+=te),te},write:function(d,E,I,k,T,_){if(k<0||T<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)===0)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.write)throw new S.ErrnoError(28);d.seekable&&d.flags&1024&&S.llseek(d,0,2);var te=typeof T<\"u\";if(!te)T=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var Be=d.stream_ops.write(d,E,I,k,T,_);te||(d.position+=Be);try{d.path&&S.trackingDelegate.onWriteToFile&&S.trackingDelegate.onWriteToFile(d.path)}catch(me){D(\"FS.trackingDelegate['onWriteToFile']('\"+d.path+\"') threw an exception: \"+me.message)}return Be},allocate:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(E<0||I<=0)throw new S.ErrnoError(28);if((d.flags&2097155)===0)throw new S.ErrnoError(8);if(!S.isFile(d.node.mode)&&!S.isDir(d.node.mode))throw new S.ErrnoError(43);if(!d.stream_ops.allocate)throw new S.ErrnoError(138);d.stream_ops.allocate(d,E,I)},mmap:function(d,E,I,k,T,_){if((T&2)!==0&&(_&2)===0&&(d.flags&2097155)!==2)throw new S.ErrnoError(2);if((d.flags&2097155)===1)throw new S.ErrnoError(2);if(!d.stream_ops.mmap)throw new S.ErrnoError(43);return d.stream_ops.mmap(d,E,I,k,T,_)},msync:function(d,E,I,k,T){return!d||!d.stream_ops.msync?0:d.stream_ops.msync(d,E,I,k,T)},munmap:function(d){return 0},ioctl:function(d,E,I){if(!d.stream_ops.ioctl)throw new S.ErrnoError(59);return d.stream_ops.ioctl(d,E,I)},readFile:function(d,E){if(E=E||{},E.flags=E.flags||0,E.encoding=E.encoding||\"binary\",E.encoding!==\"utf8\"&&E.encoding!==\"binary\")throw new Error('Invalid encoding type \"'+E.encoding+'\"');var I,k=S.open(d,E.flags),T=S.stat(d),_=T.size,te=new Uint8Array(_);return S.read(k,te,0,_,0),E.encoding===\"utf8\"?I=ke(te,0):E.encoding===\"binary\"&&(I=te),S.close(k),I},writeFile:function(d,E,I){I=I||{},I.flags=I.flags||577;var k=S.open(d,I.flags,I.mode);if(typeof E==\"string\"){var T=new Uint8Array(le(E)+1),_=Ne(E,T,0,T.length);S.write(k,T,0,_,void 0,I.canOwn)}else if(ArrayBuffer.isView(E))S.write(k,E,0,E.byteLength,void 0,I.canOwn);else throw new Error(\"Unsupported data type\");S.close(k)},cwd:function(){return S.currentPath},chdir:function(d){var E=S.lookupPath(d,{follow:!0});if(E.node===null)throw new S.ErrnoError(44);if(!S.isDir(E.node.mode))throw new S.ErrnoError(54);var I=S.nodePermissions(E.node,\"x\");if(I)throw new S.ErrnoError(I);S.currentPath=E.path},createDefaultDirectories:function(){S.mkdir(\"/tmp\"),S.mkdir(\"/home\"),S.mkdir(\"/home/web_user\")},createDefaultDevices:function(){S.mkdir(\"/dev\"),S.registerDevice(S.makedev(1,3),{read:function(){return 0},write:function(E,I,k,T,_){return T}}),S.mkdev(\"/dev/null\",S.makedev(1,3)),$n.register(S.makedev(5,0),$n.default_tty_ops),$n.register(S.makedev(6,0),$n.default_tty1_ops),S.mkdev(\"/dev/tty\",S.makedev(5,0)),S.mkdev(\"/dev/tty1\",S.makedev(6,0));var d=Bl();S.createDevice(\"/dev\",\"random\",d),S.createDevice(\"/dev\",\"urandom\",d),S.mkdir(\"/dev/shm\"),S.mkdir(\"/dev/shm/tmp\")},createSpecialDirectories:function(){S.mkdir(\"/proc\");var d=S.mkdir(\"/proc/self\");S.mkdir(\"/proc/self/fd\"),S.mount({mount:function(){var E=S.createNode(d,\"fd\",16895,73);return E.node_ops={lookup:function(I,k){var T=+k,_=S.getStream(T);if(!_)throw new S.ErrnoError(8);var te={parent:null,mount:{mountpoint:\"fake\"},node_ops:{readlink:function(){return _.path}}};return te.parent=te,te}},E}},{},\"/proc/self/fd\")},createStandardStreams:function(){t.stdin?S.createDevice(\"/dev\",\"stdin\",t.stdin):S.symlink(\"/dev/tty\",\"/dev/stdin\"),t.stdout?S.createDevice(\"/dev\",\"stdout\",null,t.stdout):S.symlink(\"/dev/tty\",\"/dev/stdout\"),t.stderr?S.createDevice(\"/dev\",\"stderr\",null,t.stderr):S.symlink(\"/dev/tty1\",\"/dev/stderr\");var d=S.open(\"/dev/stdin\",0),E=S.open(\"/dev/stdout\",1),I=S.open(\"/dev/stderr\",1)},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(E,I){this.node=I,this.setErrno=function(k){this.errno=k},this.setErrno(E),this.message=\"FS error\"},S.ErrnoError.prototype=new Error,S.ErrnoError.prototype.constructor=S.ErrnoError,[44].forEach(function(d){S.genericErrors[d]=new S.ErrnoError(d),S.genericErrors[d].stack=\"<generic error, no stack>\"}))},staticInit:function(){S.ensureErrnoError(),S.nameTable=new Array(4096),S.mount(gt,{},\"/\"),S.createDefaultDirectories(),S.createDefaultDevices(),S.createSpecialDirectories(),S.filesystems={MEMFS:gt,NODEFS:At}},init:function(d,E,I){S.init.initialized=!0,S.ensureErrnoError(),t.stdin=d||t.stdin,t.stdout=E||t.stdout,t.stderr=I||t.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;var d=t._fflush;d&&d(0);for(var E=0;E<S.streams.length;E++){var I=S.streams[E];!I||S.close(I)}},getMode:function(d,E){var I=0;return d&&(I|=365),E&&(I|=146),I},findObject:function(d,E){var I=S.analyzePath(d,E);return I.exists?I.object:null},analyzePath:function(d,E){try{var I=S.lookupPath(d,{follow:!E});d=I.path}catch{}var k={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var I=S.lookupPath(d,{parent:!0});k.parentExists=!0,k.parentPath=I.path,k.parentObject=I.node,k.name=Qt.basename(d),I=S.lookupPath(d,{follow:!E}),k.exists=!0,k.path=I.path,k.object=I.node,k.name=I.node.name,k.isRoot=I.path===\"/\"}catch(T){k.error=T.errno}return k},createPath:function(d,E,I,k){d=typeof d==\"string\"?d:S.getPath(d);for(var T=E.split(\"/\").reverse();T.length;){var _=T.pop();if(!!_){var te=Qt.join2(d,_);try{S.mkdir(te)}catch{}d=te}}return te},createFile:function(d,E,I,k,T){var _=Qt.join2(typeof d==\"string\"?d:S.getPath(d),E),te=S.getMode(k,T);return S.create(_,te)},createDataFile:function(d,E,I,k,T,_){var te=E?Qt.join2(typeof d==\"string\"?d:S.getPath(d),E):d,Be=S.getMode(k,T),me=S.create(te,Be);if(I){if(typeof I==\"string\"){for(var Je=new Array(I.length),nt=0,wt=I.length;nt<wt;++nt)Je[nt]=I.charCodeAt(nt);I=Je}S.chmod(me,Be|146);var lt=S.open(me,577);S.write(lt,I,0,I.length,0,_),S.close(lt),S.chmod(me,Be)}return me},createDevice:function(d,E,I,k){var T=Qt.join2(typeof d==\"string\"?d:S.getPath(d),E),_=S.getMode(!!I,!!k);S.createDevice.major||(S.createDevice.major=64);var te=S.makedev(S.createDevice.major++,0);return S.registerDevice(te,{open:function(Be){Be.seekable=!1},close:function(Be){k&&k.buffer&&k.buffer.length&&k(10)},read:function(Be,me,Je,nt,wt){for(var lt=0,it=0;it<nt;it++){var Et;try{Et=I()}catch{throw new S.ErrnoError(29)}if(Et===void 0&&lt===0)throw new S.ErrnoError(6);if(Et==null)break;lt++,me[Je+it]=Et}return lt&&(Be.node.timestamp=Date.now()),lt},write:function(Be,me,Je,nt,wt){for(var lt=0;lt<nt;lt++)try{k(me[Je+lt])}catch{throw new S.ErrnoError(29)}return nt&&(Be.node.timestamp=Date.now()),lt}}),S.mkdev(T,_,te)},forceLoadFile:function(d){if(d.isDevice||d.isFolder||d.link||d.contents)return!0;if(typeof XMLHttpRequest<\"u\")throw new Error(\"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.\");if(p)try{d.contents=gA(p(d.url),!0),d.usedBytes=d.contents.length}catch{throw new S.ErrnoError(29)}else throw new Error(\"Cannot load without read() or XMLHttpRequest.\")},createLazyFile:function(d,E,I,k,T){function _(){this.lengthKnown=!1,this.chunks=[]}if(_.prototype.get=function(lt){if(!(lt>this.length-1||lt<0)){var it=lt%this.chunkSize,Et=lt/this.chunkSize|0;return this.getter(Et)[it]}},_.prototype.setDataGetter=function(lt){this.getter=lt},_.prototype.cacheLength=function(){var lt=new XMLHttpRequest;if(lt.open(\"HEAD\",I,!1),lt.send(null),!(lt.status>=200&&lt.status<300||lt.status===304))throw new Error(\"Couldn't load \"+I+\". Status: \"+lt.status);var it=Number(lt.getResponseHeader(\"Content-length\")),Et,Qe=(Et=lt.getResponseHeader(\"Accept-Ranges\"))&&Et===\"bytes\",Nn=(Et=lt.getResponseHeader(\"Content-Encoding\"))&&Et===\"gzip\",ki=1024*1024;Qe||(ki=it);var CA=function(ts,ga){if(ts>ga)throw new Error(\"invalid range (\"+ts+\", \"+ga+\") or no bytes requested!\");if(ga>it-1)throw new Error(\"only \"+it+\" bytes available! programmer error!\");var Kr=new XMLHttpRequest;if(Kr.open(\"GET\",I,!1),it!==ki&&Kr.setRequestHeader(\"Range\",\"bytes=\"+ts+\"-\"+ga),typeof Uint8Array<\"u\"&&(Kr.responseType=\"arraybuffer\"),Kr.overrideMimeType&&Kr.overrideMimeType(\"text/plain; charset=x-user-defined\"),Kr.send(null),!(Kr.status>=200&&Kr.status<300||Kr.status===304))throw new Error(\"Couldn't load \"+I+\". Status: \"+Kr.status);return Kr.response!==void 0?new Uint8Array(Kr.response||[]):gA(Kr.responseText||\"\",!0)},Mr=this;Mr.setDataGetter(function(ts){var ga=ts*ki,Kr=(ts+1)*ki-1;if(Kr=Math.min(Kr,it-1),typeof Mr.chunks[ts]>\"u\"&&(Mr.chunks[ts]=CA(ga,Kr)),typeof Mr.chunks[ts]>\"u\")throw new Error(\"doXHR failed!\");return Mr.chunks[ts]}),(Nn||!it)&&(ki=it=1,it=this.getter(0).length,ki=it,v(\"LazyFiles on gzip forces download of the whole file when length is accessed\")),this._length=it,this._chunkSize=ki,this.lengthKnown=!0},typeof XMLHttpRequest<\"u\"){if(!u)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";var te=new _;Object.defineProperties(te,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var Be={isDevice:!1,contents:te}}else var Be={isDevice:!1,url:I};var me=S.createFile(d,E,Be,k,T);Be.contents?me.contents=Be.contents:Be.url&&(me.contents=null,me.url=Be.url),Object.defineProperties(me,{usedBytes:{get:function(){return this.contents.length}}});var Je={},nt=Object.keys(me.stream_ops);return nt.forEach(function(wt){var lt=me.stream_ops[wt];Je[wt]=function(){return S.forceLoadFile(me),lt.apply(null,arguments)}}),Je.read=function(lt,it,Et,Qe,Nn){S.forceLoadFile(me);var ki=lt.node.contents;if(Nn>=ki.length)return 0;var CA=Math.min(ki.length-Nn,Qe);if(ki.slice)for(var Mr=0;Mr<CA;Mr++)it[Et+Mr]=ki[Nn+Mr];else for(var Mr=0;Mr<CA;Mr++)it[Et+Mr]=ki.get(Nn+Mr);return CA},me.stream_ops=Je,me},createPreloadedFile:function(d,E,I,k,T,_,te,Be,me,Je){Browser.init();var nt=E?kn.resolve(Qt.join2(d,E)):d,wt=\"cp \"+nt;function lt(it){function Et(Nn){Je&&Je(),Be||S.createDataFile(d,E,Nn,k,T,me),_&&_(),cA(wt)}var Qe=!1;t.preloadPlugins.forEach(function(Nn){Qe||Nn.canHandle(nt)&&(Nn.handle(it,nt,Et,function(){te&&te(),cA(wt)}),Qe=!0)}),Qe||Et(it)}lA(wt),typeof I==\"string\"?Browser.asyncLoad(I,function(it){lt(it)},te):lt(I)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return\"EM_FS_\"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:\"FILE_DATA\",saveFilesToDB:function(d,E,I){E=E||function(){},I=I||function(){};var k=S.indexedDB();try{var T=k.open(S.DB_NAME(),S.DB_VERSION)}catch(_){return I(_)}T.onupgradeneeded=function(){v(\"creating db\");var te=T.result;te.createObjectStore(S.DB_STORE_NAME)},T.onsuccess=function(){var te=T.result,Be=te.transaction([S.DB_STORE_NAME],\"readwrite\"),me=Be.objectStore(S.DB_STORE_NAME),Je=0,nt=0,wt=d.length;function lt(){nt==0?E():I()}d.forEach(function(it){var Et=me.put(S.analyzePath(it).object.contents,it);Et.onsuccess=function(){Je++,Je+nt==wt&&lt()},Et.onerror=function(){nt++,Je+nt==wt&&lt()}}),Be.onerror=I},T.onerror=I},loadFilesFromDB:function(d,E,I){E=E||function(){},I=I||function(){};var k=S.indexedDB();try{var T=k.open(S.DB_NAME(),S.DB_VERSION)}catch(_){return I(_)}T.onupgradeneeded=I,T.onsuccess=function(){var te=T.result;try{var Be=te.transaction([S.DB_STORE_NAME],\"readonly\")}catch(it){I(it);return}var me=Be.objectStore(S.DB_STORE_NAME),Je=0,nt=0,wt=d.length;function lt(){nt==0?E():I()}d.forEach(function(it){var Et=me.get(it);Et.onsuccess=function(){S.analyzePath(it).exists&&S.unlink(it),S.createDataFile(Qt.dirname(it),Qt.basename(it),Et.result,!0,!0,!0),Je++,Je+nt==wt&&lt()},Et.onerror=function(){nt++,Je+nt==wt&&lt()}}),Be.onerror=I},T.onerror=I}},Tt={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(d,E,I){if(E[0]===\"/\")return E;var k;if(d===-100)k=S.cwd();else{var T=S.getStream(d);if(!T)throw new S.ErrnoError(8);k=T.path}if(E.length==0){if(!I)throw new S.ErrnoError(44);return k}return Qt.join2(k,E)},doStat:function(d,E,I){try{var k=d(E)}catch(T){if(T&&T.node&&Qt.normalize(E)!==Qt.normalize(S.getPath(T.node)))return-54;throw T}return de[I>>2]=k.dev,de[I+4>>2]=0,de[I+8>>2]=k.ino,de[I+12>>2]=k.mode,de[I+16>>2]=k.nlink,de[I+20>>2]=k.uid,de[I+24>>2]=k.gid,de[I+28>>2]=k.rdev,de[I+32>>2]=0,se=[k.size>>>0,(vr=k.size,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[I+40>>2]=se[0],de[I+44>>2]=se[1],de[I+48>>2]=4096,de[I+52>>2]=k.blocks,de[I+56>>2]=k.atime.getTime()/1e3|0,de[I+60>>2]=0,de[I+64>>2]=k.mtime.getTime()/1e3|0,de[I+68>>2]=0,de[I+72>>2]=k.ctime.getTime()/1e3|0,de[I+76>>2]=0,se=[k.ino>>>0,(vr=k.ino,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[I+80>>2]=se[0],de[I+84>>2]=se[1],0},doMsync:function(d,E,I,k,T){var _=Y.slice(d,d+I);S.msync(E,_,T,I,k)},doMkdir:function(d,E){return d=Qt.normalize(d),d[d.length-1]===\"/\"&&(d=d.substr(0,d.length-1)),S.mkdir(d,E,0),0},doMknod:function(d,E,I){switch(E&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return S.mknod(d,E,I),0},doReadlink:function(d,E,I){if(I<=0)return-28;var k=S.readlink(d),T=Math.min(I,le(k)),_=ne[E+T];return oe(k,E,I+1),ne[E+T]=_,T},doAccess:function(d,E){if(E&-8)return-28;var I,k=S.lookupPath(d,{follow:!0});if(I=k.node,!I)return-44;var T=\"\";return E&4&&(T+=\"r\"),E&2&&(T+=\"w\"),E&1&&(T+=\"x\"),T&&S.nodePermissions(I,T)?-2:0},doDup:function(d,E,I){var k=S.getStream(I);return k&&S.close(k),S.open(d,E,0,I,I).fd},doReadv:function(d,E,I,k){for(var T=0,_=0;_<I;_++){var te=de[E+_*8>>2],Be=de[E+(_*8+4)>>2],me=S.read(d,ne,te,Be,k);if(me<0)return-1;if(T+=me,me<Be)break}return T},doWritev:function(d,E,I,k){for(var T=0,_=0;_<I;_++){var te=de[E+_*8>>2],Be=de[E+(_*8+4)>>2],me=S.write(d,ne,te,Be,k);if(me<0)return-1;T+=me}return T},varargs:void 0,get:function(){Tt.varargs+=4;var d=de[Tt.varargs-4>>2];return d},getStr:function(d){var E=Fe(d);return E},getStreamFromFD:function(d){var E=S.getStream(d);if(!E)throw new S.ErrnoError(8);return E},get64:function(d,E){return d}};function ng(d,E){try{return d=Tt.getStr(d),S.chmod(d,E),0}catch(I){return(typeof S>\"u\"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function Ql(d){return de[Ft()>>2]=d,d}function hp(d,E,I){Tt.varargs=I;try{var k=Tt.getStreamFromFD(d);switch(E){case 0:{var T=Tt.get();if(T<0)return-28;var _;return _=S.open(k.path,k.flags,0,T),_.fd}case 1:case 2:return 0;case 3:return k.flags;case 4:{var T=Tt.get();return k.flags|=T,0}case 12:{var T=Tt.get(),te=0;return pe[T+te>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Ql(28),-1;default:return-28}}catch(Be){return(typeof S>\"u\"||!(Be instanceof S.ErrnoError))&&wr(Be),-Be.errno}}function pp(d,E){try{var I=Tt.getStreamFromFD(d);return Tt.doStat(S.stat,I.path,E)}catch(k){return(typeof S>\"u\"||!(k instanceof S.ErrnoError))&&wr(k),-k.errno}}function dp(d,E,I){Tt.varargs=I;try{var k=Tt.getStreamFromFD(d);switch(E){case 21509:case 21505:return k.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return k.tty?0:-59;case 21519:{if(!k.tty)return-59;var T=Tt.get();return de[T>>2]=0,0}case 21520:return k.tty?-28:-59;case 21531:{var T=Tt.get();return S.ioctl(k,E,T)}case 21523:return k.tty?0:-59;case 21524:return k.tty?0:-59;default:wr(\"bad ioctl syscall \"+E)}}catch(_){return(typeof S>\"u\"||!(_ instanceof S.ErrnoError))&&wr(_),-_.errno}}function Cp(d,E,I){Tt.varargs=I;try{var k=Tt.getStr(d),T=I?Tt.get():0,_=S.open(k,E,T);return _.fd}catch(te){return(typeof S>\"u\"||!(te instanceof S.ErrnoError))&&wr(te),-te.errno}}function mp(d,E){try{return d=Tt.getStr(d),E=Tt.getStr(E),S.rename(d,E),0}catch(I){return(typeof S>\"u\"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function G(d){try{return d=Tt.getStr(d),S.rmdir(d),0}catch(E){return(typeof S>\"u\"||!(E instanceof S.ErrnoError))&&wr(E),-E.errno}}function yt(d,E){try{return d=Tt.getStr(d),Tt.doStat(S.stat,d,E)}catch(I){return(typeof S>\"u\"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function uA(d){try{return d=Tt.getStr(d),S.unlink(d),0}catch(E){return(typeof S>\"u\"||!(E instanceof S.ErrnoError))&&wr(E),-E.errno}}function ji(d,E,I){Y.copyWithin(d,E,E+I)}function bl(d){try{return A.grow(d-qe.byteLength+65535>>>16),Or(A.buffer),1}catch{}}function Xe(d){var E=Y.length;d=d>>>0;var I=2147483648;if(d>I)return!1;for(var k=1;k<=4;k*=2){var T=E*(1+.2/k);T=Math.min(T,d+100663296);var _=Math.min(I,Ae(Math.max(d,T),65536)),te=bl(_);if(te)return!0}return!1}function Aa(d){try{var E=Tt.getStreamFromFD(d);return S.close(E),0}catch(I){return(typeof S>\"u\"||!(I instanceof S.ErrnoError))&&wr(I),I.errno}}function sg(d,E){try{var I=Tt.getStreamFromFD(d),k=I.tty?2:S.isDir(I.mode)?3:S.isLink(I.mode)?7:4;return ne[E>>0]=k,0}catch(T){return(typeof S>\"u\"||!(T instanceof S.ErrnoError))&&wr(T),T.errno}}function bE(d,E,I,k){try{var T=Tt.getStreamFromFD(d),_=Tt.doReadv(T,E,I);return de[k>>2]=_,0}catch(te){return(typeof S>\"u\"||!(te instanceof S.ErrnoError))&&wr(te),te.errno}}function Ep(d,E,I,k,T){try{var _=Tt.getStreamFromFD(d),te=4294967296,Be=I*te+(E>>>0),me=9007199254740992;return Be<=-me||Be>=me?-61:(S.llseek(_,Be,k),se=[_.position>>>0,(vr=_.position,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[T>>2]=se[0],de[T+4>>2]=se[1],_.getdents&&Be===0&&k===0&&(_.getdents=null),0)}catch(Je){return(typeof S>\"u\"||!(Je instanceof S.ErrnoError))&&wr(Je),Je.errno}}function SE(d,E,I,k){try{var T=Tt.getStreamFromFD(d),_=Tt.doWritev(T,E,I);return de[k>>2]=_,0}catch(te){return(typeof S>\"u\"||!(te instanceof S.ErrnoError))&&wr(te),te.errno}}function ar(d){$(d)}function Rn(d){var E=Date.now()/1e3|0;return d&&(de[d>>2]=E),E}function Sl(){if(Sl.called)return;Sl.called=!0;var d=new Date().getFullYear(),E=new Date(d,0,1),I=new Date(d,6,1),k=E.getTimezoneOffset(),T=I.getTimezoneOffset(),_=Math.max(k,T);de[Hb()>>2]=_*60,de[Ub()>>2]=Number(k!=T);function te(wt){var lt=wt.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);return lt?lt[1]:\"GMT\"}var Be=te(E),me=te(I),Je=we(Be),nt=we(me);T<k?(de[gg()>>2]=Je,de[gg()+4>>2]=nt):(de[gg()>>2]=nt,de[gg()+4>>2]=Je)}function Ip(d){Sl();var E=Date.UTC(de[d+20>>2]+1900,de[d+16>>2],de[d+12>>2],de[d+8>>2],de[d+4>>2],de[d>>2],0),I=new Date(E);de[d+24>>2]=I.getUTCDay();var k=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),T=(I.getTime()-k)/(1e3*60*60*24)|0;return de[d+28>>2]=T,I.getTime()/1e3|0}var Ts=function(d,E,I,k){d||(d=this),this.parent=d,this.mount=d.mount,this.mounted=null,this.id=S.nextInode++,this.name=E,this.mode=I,this.node_ops={},this.stream_ops={},this.rdev=k},la=365,An=146;if(Object.defineProperties(Ts.prototype,{read:{get:function(){return(this.mode&la)===la},set:function(d){d?this.mode|=la:this.mode&=~la}},write:{get:function(){return(this.mode&An)===An},set:function(d){d?this.mode|=An:this.mode&=~An}},isFolder:{get:function(){return S.isDir(this.mode)}},isDevice:{get:function(){return S.isChrdev(this.mode)}}}),S.FSNode=Ts,S.staticInit(),g){var Te=bV,og=J(\"path\");At.staticInit()}if(g){var vl=function(d){return function(){try{return d.apply(this,arguments)}catch(E){throw E.code?new S.ErrnoError(mo[E.code]):E}}},Os=Object.assign({},S);for(var xl in an)S[xl]=vl(an[xl])}else throw new Error(\"NODERAWFS is currently only supported on Node.js environment.\");function gA(d,E,I){var k=I>0?I:le(d)+1,T=new Array(k),_=Ne(d,T,0,T.length);return E&&(T.length=_),T}var ag=typeof atob==\"function\"?atob:function(d){var E=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",I=\"\",k,T,_,te,Be,me,Je,nt=0;d=d.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");do te=E.indexOf(d.charAt(nt++)),Be=E.indexOf(d.charAt(nt++)),me=E.indexOf(d.charAt(nt++)),Je=E.indexOf(d.charAt(nt++)),k=te<<2|Be>>4,T=(Be&15)<<4|me>>2,_=(me&3)<<6|Je,I=I+String.fromCharCode(k),me!==64&&(I=I+String.fromCharCode(T)),Je!==64&&(I=I+String.fromCharCode(_));while(nt<d.length);return I};function Ag(d){if(typeof g==\"boolean\"&&g){var E;try{E=Buffer.from(d,\"base64\")}catch{E=new Buffer(d,\"base64\")}return new Uint8Array(E.buffer,E.byteOffset,E.byteLength)}try{for(var I=ag(d),k=new Uint8Array(I.length),T=0;T<I.length;++T)k[T]=I.charCodeAt(T);return k}catch{throw new Error(\"Converting base64 string to bytes failed.\")}}function ca(d){if(!!tg(d))return Ag(d.slice(wl.length))}var ua={s:ig,p:ng,e:hp,k:pp,o:dp,q:Cp,i:mp,r:G,c:yt,h:uA,l:ji,m:Xe,f:Aa,j:sg,g:bE,n:Ep,d:SE,a:ar,b:Rn,t:Ip},rt=fp(),Eo=t.___wasm_call_ctors=rt.v,fA=t._zip_ext_count_symlinks=rt.w,Pl=t._zip_file_get_external_attributes=rt.x,Ms=t._zipstruct_stat=rt.y,Dl=t._zipstruct_statS=rt.z,vE=t._zipstruct_stat_name=rt.A,yp=t._zipstruct_stat_index=rt.B,lg=t._zipstruct_stat_size=rt.C,wp=t._zipstruct_stat_mtime=rt.D,xE=t._zipstruct_stat_crc=rt.E,kl=t._zipstruct_error=rt.F,PE=t._zipstruct_errorS=rt.G,cg=t._zipstruct_error_code_zip=rt.H,hA=t._zipstruct_stat_comp_size=rt.I,Rr=t._zipstruct_stat_comp_method=rt.J,DE=t._zip_close=rt.K,Ks=t._zip_delete=rt.L,Us=t._zip_dir_add=rt.M,ug=t._zip_discard=rt.N,pA=t._zip_error_init_with_code=rt.O,R=t._zip_get_error=rt.P,q=t._zip_file_get_error=rt.Q,Ce=t._zip_error_strerror=rt.R,Ke=t._zip_fclose=rt.S,Re=t._zip_file_add=rt.T,ze=t._free=rt.U,dt=t._malloc=rt.V,Ft=t.___errno_location=rt.W,Fn=t._zip_source_error=rt.X,Db=t._zip_source_seek=rt.Y,$M=t._zip_file_set_external_attributes=rt.Z,e1=t._zip_file_set_mtime=rt._,kb=t._zip_fopen=rt.$,t1=t._zip_fopen_index=rt.aa,r1=t._zip_fread=rt.ba,Rb=t._zip_get_name=rt.ca,i1=t._zip_get_num_entries=rt.da,n1=t._zip_source_read=rt.ea,Fb=t._zip_name_locate=rt.fa,s1=t._zip_open=rt.ga,o1=t._zip_open_from_source=rt.ha,Nb=t._zip_set_file_compression=rt.ia,a1=t._zip_source_buffer=rt.ja,A1=t._zip_source_buffer_create=rt.ka,l1=t._zip_source_close=rt.la,c1=t._zip_source_free=rt.ma,Lb=t._zip_source_keep=rt.na,Tb=t._zip_source_open=rt.oa,Ob=t._zip_source_set_mtime=rt.qa,Mb=t._zip_source_tell=rt.ra,Kb=t._zip_stat=rt.sa,u1=t._zip_stat_index=rt.ta,gg=t.__get_tzname=rt.ua,Ub=t.__get_daylight=rt.va,Hb=t.__get_timezone=rt.wa,kE=t.stackSave=rt.xa,RE=t.stackRestore=rt.ya,Q=t.stackAlloc=rt.za;t.cwrap=ue,t.getValue=Z;var Me;aa=function d(){Me||dA(),Me||(aa=d)};function dA(d){if(d=d||a,Zn>0||(pr(),Zn>0))return;function E(){Me||(Me=!0,t.calledRun=!0,!ae&&(Ei(),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),_n()))}t.setStatus?(t.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){t.setStatus(\"\")},1),E()},1)):E()}if(t.run=dA,t.preInit)for(typeof t.preInit==\"function\"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return dA(),e}}();typeof aB==\"object\"&&typeof CR==\"object\"?CR.exports=dR:typeof define==\"function\"&&define.amd?define([],function(){return dR}):typeof aB==\"object\"&&(aB.createModule=dR)});var XV=w((Dnt,VV)=>{function wDe(r,e){for(var t=-1,i=r==null?0:r.length,n=Array(i);++t<i;)n[t]=e(r[t],t,r);return n}VV.exports=wDe});var ws=w((knt,_V)=>{var BDe=Array.isArray;_V.exports=BDe});var i6=w((Rnt,r6)=>{var ZV=Ec(),QDe=XV(),bDe=ws(),SDe=tC(),vDe=1/0,$V=ZV?ZV.prototype:void 0,e6=$V?$V.toString:void 0;function t6(r){if(typeof r==\"string\")return r;if(bDe(r))return QDe(r,t6)+\"\";if(SDe(r))return e6?e6.call(r):\"\";var e=r+\"\";return e==\"0\"&&1/r==-vDe?\"-0\":e}r6.exports=t6});var Kf=w((Fnt,n6)=>{var xDe=i6();function PDe(r){return r==null?\"\":xDe(r)}n6.exports=PDe});var bR=w((Nnt,s6)=>{function DDe(r,e,t){var i=-1,n=r.length;e<0&&(e=-e>n?0:n+e),t=t>n?n:t,t<0&&(t+=n),n=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(n);++i<n;)s[i]=r[i+e];return s}s6.exports=DDe});var a6=w((Lnt,o6)=>{var kDe=bR();function RDe(r,e,t){var i=r.length;return t=t===void 0?i:t,!e&&t>=i?r:kDe(r,e,t)}o6.exports=RDe});var SR=w((Tnt,A6)=>{var FDe=\"\\\\ud800-\\\\udfff\",NDe=\"\\\\u0300-\\\\u036f\",LDe=\"\\\\ufe20-\\\\ufe2f\",TDe=\"\\\\u20d0-\\\\u20ff\",ODe=NDe+LDe+TDe,MDe=\"\\\\ufe0e\\\\ufe0f\",KDe=\"\\\\u200d\",UDe=RegExp(\"[\"+KDe+FDe+ODe+MDe+\"]\");function HDe(r){return UDe.test(r)}A6.exports=HDe});var c6=w((Ont,l6)=>{function GDe(r){return r.split(\"\")}l6.exports=GDe});var m6=w((Mnt,C6)=>{var u6=\"\\\\ud800-\\\\udfff\",YDe=\"\\\\u0300-\\\\u036f\",jDe=\"\\\\ufe20-\\\\ufe2f\",qDe=\"\\\\u20d0-\\\\u20ff\",JDe=YDe+jDe+qDe,WDe=\"\\\\ufe0e\\\\ufe0f\",zDe=\"[\"+u6+\"]\",vR=\"[\"+JDe+\"]\",xR=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",VDe=\"(?:\"+vR+\"|\"+xR+\")\",g6=\"[^\"+u6+\"]\",f6=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",h6=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",XDe=\"\\\\u200d\",p6=VDe+\"?\",d6=\"[\"+WDe+\"]?\",_De=\"(?:\"+XDe+\"(?:\"+[g6,f6,h6].join(\"|\")+\")\"+d6+p6+\")*\",ZDe=d6+p6+_De,$De=\"(?:\"+[g6+vR+\"?\",vR,f6,h6,zDe].join(\"|\")+\")\",eke=RegExp(xR+\"(?=\"+xR+\")|\"+$De+ZDe,\"g\");function tke(r){return r.match(eke)||[]}C6.exports=tke});var I6=w((Knt,E6)=>{var rke=c6(),ike=SR(),nke=m6();function ske(r){return ike(r)?nke(r):rke(r)}E6.exports=ske});var w6=w((Unt,y6)=>{var oke=a6(),ake=SR(),Ake=I6(),lke=Kf();function cke(r){return function(e){e=lke(e);var t=ake(e)?Ake(e):void 0,i=t?t[0]:e.charAt(0),n=t?oke(t,1).join(\"\"):e.slice(1);return i[r]()+n}}y6.exports=cke});var Q6=w((Hnt,B6)=>{var uke=w6(),gke=uke(\"toUpperCase\");B6.exports=gke});var dB=w((Gnt,b6)=>{var fke=Kf(),hke=Q6();function pke(r){return hke(fke(r).toLowerCase())}b6.exports=pke});var S6=w((Ynt,CB)=>{function dke(){var r=0,e=1,t=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,C=15,y=16,B=17,v=0,D=1,L=2,H=3,j=4;function $(A,ae){return 55296<=A.charCodeAt(ae)&&A.charCodeAt(ae)<=56319&&56320<=A.charCodeAt(ae+1)&&A.charCodeAt(ae+1)<=57343}function V(A,ae){ae===void 0&&(ae=0);var ge=A.charCodeAt(ae);if(55296<=ge&&ge<=56319&&ae<A.length-1){var re=ge,O=A.charCodeAt(ae+1);return 56320<=O&&O<=57343?(re-55296)*1024+(O-56320)+65536:re}if(56320<=ge&&ge<=57343&&ae>=1){var re=A.charCodeAt(ae-1),O=ge;return 55296<=re&&re<=56319?(re-55296)*1024+(O-56320)+65536:O}return ge}function W(A,ae,ge){var re=[A].concat(ae).concat([ge]),O=re[re.length-2],F=ge,ue=re.lastIndexOf(p);if(ue>1&&re.slice(1,ue).every(function(Fe){return Fe==i})&&[i,h,B].indexOf(A)==-1)return L;var he=re.lastIndexOf(n);if(he>0&&re.slice(1,he).every(function(Fe){return Fe==n})&&[f,n].indexOf(O)==-1)return re.filter(function(Fe){return Fe==n}).length%2==1?H:j;if(O==r&&F==e)return v;if(O==t||O==r||O==e)return F==p&&ae.every(function(Fe){return Fe==i})?L:D;if(F==t||F==r||F==e)return D;if(O==o&&(F==o||F==a||F==c||F==u))return v;if((O==c||O==a)&&(F==a||F==l))return v;if((O==u||O==l)&&F==l)return v;if(F==i||F==C)return v;if(F==s)return v;if(O==f)return v;var ke=re.indexOf(i)!=-1?re.lastIndexOf(i)-1:re.length-2;return[h,B].indexOf(re[ke])!=-1&&re.slice(ke+1,-1).every(function(Fe){return Fe==i})&&F==p||O==C&&[y,B].indexOf(F)!=-1?v:ae.indexOf(n)!=-1?L:O==n&&F==n?v:D}this.nextBreak=function(A,ae){if(ae===void 0&&(ae=0),ae<0)return 0;if(ae>=A.length-1)return A.length;for(var ge=Z(V(A,ae)),re=[],O=ae+1;O<A.length;O++)if(!$(A,O-1)){var F=Z(V(A,O));if(W(ge,re,F))return O;re.push(F)}return A.length},this.splitGraphemes=function(A){for(var ae=[],ge=0,re;(re=this.nextBreak(A,ge))<A.length;)ae.push(A.slice(ge,re)),ge=re;return ge<A.length&&ae.push(A.slice(ge)),ae},this.iterateGraphemes=function(A){var ae=0,ge={next:function(){var re,O;return(O=this.nextBreak(A,ae))<A.length?(re=A.slice(ae,O),ae=O,{value:re,done:!1}):ae<A.length?(re=A.slice(ae),ae=A.length,{value:re,done:!1}):{value:void 0,done:!0}}.bind(this)};return typeof Symbol<\"u\"&&Symbol.iterator&&(ge[Symbol.iterator]=function(){return ge}),ge},this.countGraphemes=function(A){for(var ae=0,ge=0,re;(re=this.nextBreak(A,ge))<A.length;)ge=re,ae++;return ge<A.length&&ae++,ae};function Z(A){return 1536<=A&&A<=1541||A==1757||A==1807||A==2274||A==3406||A==69821||70082<=A&&A<=70083||A==72250||72326<=A&&A<=72329||A==73030?f:A==13?r:A==10?e:0<=A&&A<=9||11<=A&&A<=12||14<=A&&A<=31||127<=A&&A<=159||A==173||A==1564||A==6158||A==8203||8206<=A&&A<=8207||A==8232||A==8233||8234<=A&&A<=8238||8288<=A&&A<=8292||A==8293||8294<=A&&A<=8303||55296<=A&&A<=57343||A==65279||65520<=A&&A<=65528||65529<=A&&A<=65531||113824<=A&&A<=113827||119155<=A&&A<=119162||A==917504||A==917505||917506<=A&&A<=917535||917632<=A&&A<=917759||918e3<=A&&A<=921599?t:768<=A&&A<=879||1155<=A&&A<=1159||1160<=A&&A<=1161||1425<=A&&A<=1469||A==1471||1473<=A&&A<=1474||1476<=A&&A<=1477||A==1479||1552<=A&&A<=1562||1611<=A&&A<=1631||A==1648||1750<=A&&A<=1756||1759<=A&&A<=1764||1767<=A&&A<=1768||1770<=A&&A<=1773||A==1809||1840<=A&&A<=1866||1958<=A&&A<=1968||2027<=A&&A<=2035||2070<=A&&A<=2073||2075<=A&&A<=2083||2085<=A&&A<=2087||2089<=A&&A<=2093||2137<=A&&A<=2139||2260<=A&&A<=2273||2275<=A&&A<=2306||A==2362||A==2364||2369<=A&&A<=2376||A==2381||2385<=A&&A<=2391||2402<=A&&A<=2403||A==2433||A==2492||A==2494||2497<=A&&A<=2500||A==2509||A==2519||2530<=A&&A<=2531||2561<=A&&A<=2562||A==2620||2625<=A&&A<=2626||2631<=A&&A<=2632||2635<=A&&A<=2637||A==2641||2672<=A&&A<=2673||A==2677||2689<=A&&A<=2690||A==2748||2753<=A&&A<=2757||2759<=A&&A<=2760||A==2765||2786<=A&&A<=2787||2810<=A&&A<=2815||A==2817||A==2876||A==2878||A==2879||2881<=A&&A<=2884||A==2893||A==2902||A==2903||2914<=A&&A<=2915||A==2946||A==3006||A==3008||A==3021||A==3031||A==3072||3134<=A&&A<=3136||3142<=A&&A<=3144||3146<=A&&A<=3149||3157<=A&&A<=3158||3170<=A&&A<=3171||A==3201||A==3260||A==3263||A==3266||A==3270||3276<=A&&A<=3277||3285<=A&&A<=3286||3298<=A&&A<=3299||3328<=A&&A<=3329||3387<=A&&A<=3388||A==3390||3393<=A&&A<=3396||A==3405||A==3415||3426<=A&&A<=3427||A==3530||A==3535||3538<=A&&A<=3540||A==3542||A==3551||A==3633||3636<=A&&A<=3642||3655<=A&&A<=3662||A==3761||3764<=A&&A<=3769||3771<=A&&A<=3772||3784<=A&&A<=3789||3864<=A&&A<=3865||A==3893||A==3895||A==3897||3953<=A&&A<=3966||3968<=A&&A<=3972||3974<=A&&A<=3975||3981<=A&&A<=3991||3993<=A&&A<=4028||A==4038||4141<=A&&A<=4144||4146<=A&&A<=4151||4153<=A&&A<=4154||4157<=A&&A<=4158||4184<=A&&A<=4185||4190<=A&&A<=4192||4209<=A&&A<=4212||A==4226||4229<=A&&A<=4230||A==4237||A==4253||4957<=A&&A<=4959||5906<=A&&A<=5908||5938<=A&&A<=5940||5970<=A&&A<=5971||6002<=A&&A<=6003||6068<=A&&A<=6069||6071<=A&&A<=6077||A==6086||6089<=A&&A<=6099||A==6109||6155<=A&&A<=6157||6277<=A&&A<=6278||A==6313||6432<=A&&A<=6434||6439<=A&&A<=6440||A==6450||6457<=A&&A<=6459||6679<=A&&A<=6680||A==6683||A==6742||6744<=A&&A<=6750||A==6752||A==6754||6757<=A&&A<=6764||6771<=A&&A<=6780||A==6783||6832<=A&&A<=6845||A==6846||6912<=A&&A<=6915||A==6964||6966<=A&&A<=6970||A==6972||A==6978||7019<=A&&A<=7027||7040<=A&&A<=7041||7074<=A&&A<=7077||7080<=A&&A<=7081||7083<=A&&A<=7085||A==7142||7144<=A&&A<=7145||A==7149||7151<=A&&A<=7153||7212<=A&&A<=7219||7222<=A&&A<=7223||7376<=A&&A<=7378||7380<=A&&A<=7392||7394<=A&&A<=7400||A==7405||A==7412||7416<=A&&A<=7417||7616<=A&&A<=7673||7675<=A&&A<=7679||A==8204||8400<=A&&A<=8412||8413<=A&&A<=8416||A==8417||8418<=A&&A<=8420||8421<=A&&A<=8432||11503<=A&&A<=11505||A==11647||11744<=A&&A<=11775||12330<=A&&A<=12333||12334<=A&&A<=12335||12441<=A&&A<=12442||A==42607||42608<=A&&A<=42610||42612<=A&&A<=42621||42654<=A&&A<=42655||42736<=A&&A<=42737||A==43010||A==43014||A==43019||43045<=A&&A<=43046||43204<=A&&A<=43205||43232<=A&&A<=43249||43302<=A&&A<=43309||43335<=A&&A<=43345||43392<=A&&A<=43394||A==43443||43446<=A&&A<=43449||A==43452||A==43493||43561<=A&&A<=43566||43569<=A&&A<=43570||43573<=A&&A<=43574||A==43587||A==43596||A==43644||A==43696||43698<=A&&A<=43700||43703<=A&&A<=43704||43710<=A&&A<=43711||A==43713||43756<=A&&A<=43757||A==43766||A==44005||A==44008||A==44013||A==64286||65024<=A&&A<=65039||65056<=A&&A<=65071||65438<=A&&A<=65439||A==66045||A==66272||66422<=A&&A<=66426||68097<=A&&A<=68099||68101<=A&&A<=68102||68108<=A&&A<=68111||68152<=A&&A<=68154||A==68159||68325<=A&&A<=68326||A==69633||69688<=A&&A<=69702||69759<=A&&A<=69761||69811<=A&&A<=69814||69817<=A&&A<=69818||69888<=A&&A<=69890||69927<=A&&A<=69931||69933<=A&&A<=69940||A==70003||70016<=A&&A<=70017||70070<=A&&A<=70078||70090<=A&&A<=70092||70191<=A&&A<=70193||A==70196||70198<=A&&A<=70199||A==70206||A==70367||70371<=A&&A<=70378||70400<=A&&A<=70401||A==70460||A==70462||A==70464||A==70487||70502<=A&&A<=70508||70512<=A&&A<=70516||70712<=A&&A<=70719||70722<=A&&A<=70724||A==70726||A==70832||70835<=A&&A<=70840||A==70842||A==70845||70847<=A&&A<=70848||70850<=A&&A<=70851||A==71087||71090<=A&&A<=71093||71100<=A&&A<=71101||71103<=A&&A<=71104||71132<=A&&A<=71133||71219<=A&&A<=71226||A==71229||71231<=A&&A<=71232||A==71339||A==71341||71344<=A&&A<=71349||A==71351||71453<=A&&A<=71455||71458<=A&&A<=71461||71463<=A&&A<=71467||72193<=A&&A<=72198||72201<=A&&A<=72202||72243<=A&&A<=72248||72251<=A&&A<=72254||A==72263||72273<=A&&A<=72278||72281<=A&&A<=72283||72330<=A&&A<=72342||72344<=A&&A<=72345||72752<=A&&A<=72758||72760<=A&&A<=72765||A==72767||72850<=A&&A<=72871||72874<=A&&A<=72880||72882<=A&&A<=72883||72885<=A&&A<=72886||73009<=A&&A<=73014||A==73018||73020<=A&&A<=73021||73023<=A&&A<=73029||A==73031||92912<=A&&A<=92916||92976<=A&&A<=92982||94095<=A&&A<=94098||113821<=A&&A<=113822||A==119141||119143<=A&&A<=119145||119150<=A&&A<=119154||119163<=A&&A<=119170||119173<=A&&A<=119179||119210<=A&&A<=119213||119362<=A&&A<=119364||121344<=A&&A<=121398||121403<=A&&A<=121452||A==121461||A==121476||121499<=A&&A<=121503||121505<=A&&A<=121519||122880<=A&&A<=122886||122888<=A&&A<=122904||122907<=A&&A<=122913||122915<=A&&A<=122916||122918<=A&&A<=122922||125136<=A&&A<=125142||125252<=A&&A<=125258||917536<=A&&A<=917631||917760<=A&&A<=917999?i:127462<=A&&A<=127487?n:A==2307||A==2363||2366<=A&&A<=2368||2377<=A&&A<=2380||2382<=A&&A<=2383||2434<=A&&A<=2435||2495<=A&&A<=2496||2503<=A&&A<=2504||2507<=A&&A<=2508||A==2563||2622<=A&&A<=2624||A==2691||2750<=A&&A<=2752||A==2761||2763<=A&&A<=2764||2818<=A&&A<=2819||A==2880||2887<=A&&A<=2888||2891<=A&&A<=2892||A==3007||3009<=A&&A<=3010||3014<=A&&A<=3016||3018<=A&&A<=3020||3073<=A&&A<=3075||3137<=A&&A<=3140||3202<=A&&A<=3203||A==3262||3264<=A&&A<=3265||3267<=A&&A<=3268||3271<=A&&A<=3272||3274<=A&&A<=3275||3330<=A&&A<=3331||3391<=A&&A<=3392||3398<=A&&A<=3400||3402<=A&&A<=3404||3458<=A&&A<=3459||3536<=A&&A<=3537||3544<=A&&A<=3550||3570<=A&&A<=3571||A==3635||A==3763||3902<=A&&A<=3903||A==3967||A==4145||4155<=A&&A<=4156||4182<=A&&A<=4183||A==4228||A==6070||6078<=A&&A<=6085||6087<=A&&A<=6088||6435<=A&&A<=6438||6441<=A&&A<=6443||6448<=A&&A<=6449||6451<=A&&A<=6456||6681<=A&&A<=6682||A==6741||A==6743||6765<=A&&A<=6770||A==6916||A==6965||A==6971||6973<=A&&A<=6977||6979<=A&&A<=6980||A==7042||A==7073||7078<=A&&A<=7079||A==7082||A==7143||7146<=A&&A<=7148||A==7150||7154<=A&&A<=7155||7204<=A&&A<=7211||7220<=A&&A<=7221||A==7393||7410<=A&&A<=7411||A==7415||43043<=A&&A<=43044||A==43047||43136<=A&&A<=43137||43188<=A&&A<=43203||43346<=A&&A<=43347||A==43395||43444<=A&&A<=43445||43450<=A&&A<=43451||43453<=A&&A<=43456||43567<=A&&A<=43568||43571<=A&&A<=43572||A==43597||A==43755||43758<=A&&A<=43759||A==43765||44003<=A&&A<=44004||44006<=A&&A<=44007||44009<=A&&A<=44010||A==44012||A==69632||A==69634||A==69762||69808<=A&&A<=69810||69815<=A&&A<=69816||A==69932||A==70018||70067<=A&&A<=70069||70079<=A&&A<=70080||70188<=A&&A<=70190||70194<=A&&A<=70195||A==70197||70368<=A&&A<=70370||70402<=A&&A<=70403||A==70463||70465<=A&&A<=70468||70471<=A&&A<=70472||70475<=A&&A<=70477||70498<=A&&A<=70499||70709<=A&&A<=70711||70720<=A&&A<=70721||A==70725||70833<=A&&A<=70834||A==70841||70843<=A&&A<=70844||A==70846||A==70849||71088<=A&&A<=71089||71096<=A&&A<=71099||A==71102||71216<=A&&A<=71218||71227<=A&&A<=71228||A==71230||A==71340||71342<=A&&A<=71343||A==71350||71456<=A&&A<=71457||A==71462||72199<=A&&A<=72200||A==72249||72279<=A&&A<=72280||A==72343||A==72751||A==72766||A==72873||A==72881||A==72884||94033<=A&&A<=94078||A==119142||A==119149?s:4352<=A&&A<=4447||43360<=A&&A<=43388?o:4448<=A&&A<=4519||55216<=A&&A<=55238?a:4520<=A&&A<=4607||55243<=A&&A<=55291?l:A==44032||A==44060||A==44088||A==44116||A==44144||A==44172||A==44200||A==44228||A==44256||A==44284||A==44312||A==44340||A==44368||A==44396||A==44424||A==44452||A==44480||A==44508||A==44536||A==44564||A==44592||A==44620||A==44648||A==44676||A==44704||A==44732||A==44760||A==44788||A==44816||A==44844||A==44872||A==44900||A==44928||A==44956||A==44984||A==45012||A==45040||A==45068||A==45096||A==45124||A==45152||A==45180||A==45208||A==45236||A==45264||A==45292||A==45320||A==45348||A==45376||A==45404||A==45432||A==45460||A==45488||A==45516||A==45544||A==45572||A==45600||A==45628||A==45656||A==45684||A==45712||A==45740||A==45768||A==45796||A==45824||A==45852||A==45880||A==45908||A==45936||A==45964||A==45992||A==46020||A==46048||A==46076||A==46104||A==46132||A==46160||A==46188||A==46216||A==46244||A==46272||A==46300||A==46328||A==46356||A==46384||A==46412||A==46440||A==46468||A==46496||A==46524||A==46552||A==46580||A==46608||A==46636||A==46664||A==46692||A==46720||A==46748||A==46776||A==46804||A==46832||A==46860||A==46888||A==46916||A==46944||A==46972||A==47e3||A==47028||A==47056||A==47084||A==47112||A==47140||A==47168||A==47196||A==47224||A==47252||A==47280||A==47308||A==47336||A==47364||A==47392||A==47420||A==47448||A==47476||A==47504||A==47532||A==47560||A==47588||A==47616||A==47644||A==47672||A==47700||A==47728||A==47756||A==47784||A==47812||A==47840||A==47868||A==47896||A==47924||A==47952||A==47980||A==48008||A==48036||A==48064||A==48092||A==48120||A==48148||A==48176||A==48204||A==48232||A==48260||A==48288||A==48316||A==48344||A==48372||A==48400||A==48428||A==48456||A==48484||A==48512||A==48540||A==48568||A==48596||A==48624||A==48652||A==48680||A==48708||A==48736||A==48764||A==48792||A==48820||A==48848||A==48876||A==48904||A==48932||A==48960||A==48988||A==49016||A==49044||A==49072||A==49100||A==49128||A==49156||A==49184||A==49212||A==49240||A==49268||A==49296||A==49324||A==49352||A==49380||A==49408||A==49436||A==49464||A==49492||A==49520||A==49548||A==49576||A==49604||A==49632||A==49660||A==49688||A==49716||A==49744||A==49772||A==49800||A==49828||A==49856||A==49884||A==49912||A==49940||A==49968||A==49996||A==50024||A==50052||A==50080||A==50108||A==50136||A==50164||A==50192||A==50220||A==50248||A==50276||A==50304||A==50332||A==50360||A==50388||A==50416||A==50444||A==50472||A==50500||A==50528||A==50556||A==50584||A==50612||A==50640||A==50668||A==50696||A==50724||A==50752||A==50780||A==50808||A==50836||A==50864||A==50892||A==50920||A==50948||A==50976||A==51004||A==51032||A==51060||A==51088||A==51116||A==51144||A==51172||A==51200||A==51228||A==51256||A==51284||A==51312||A==51340||A==51368||A==51396||A==51424||A==51452||A==51480||A==51508||A==51536||A==51564||A==51592||A==51620||A==51648||A==51676||A==51704||A==51732||A==51760||A==51788||A==51816||A==51844||A==51872||A==51900||A==51928||A==51956||A==51984||A==52012||A==52040||A==52068||A==52096||A==52124||A==52152||A==52180||A==52208||A==52236||A==52264||A==52292||A==52320||A==52348||A==52376||A==52404||A==52432||A==52460||A==52488||A==52516||A==52544||A==52572||A==52600||A==52628||A==52656||A==52684||A==52712||A==52740||A==52768||A==52796||A==52824||A==52852||A==52880||A==52908||A==52936||A==52964||A==52992||A==53020||A==53048||A==53076||A==53104||A==53132||A==53160||A==53188||A==53216||A==53244||A==53272||A==53300||A==53328||A==53356||A==53384||A==53412||A==53440||A==53468||A==53496||A==53524||A==53552||A==53580||A==53608||A==53636||A==53664||A==53692||A==53720||A==53748||A==53776||A==53804||A==53832||A==53860||A==53888||A==53916||A==53944||A==53972||A==54e3||A==54028||A==54056||A==54084||A==54112||A==54140||A==54168||A==54196||A==54224||A==54252||A==54280||A==54308||A==54336||A==54364||A==54392||A==54420||A==54448||A==54476||A==54504||A==54532||A==54560||A==54588||A==54616||A==54644||A==54672||A==54700||A==54728||A==54756||A==54784||A==54812||A==54840||A==54868||A==54896||A==54924||A==54952||A==54980||A==55008||A==55036||A==55064||A==55092||A==55120||A==55148||A==55176?c:44033<=A&&A<=44059||44061<=A&&A<=44087||44089<=A&&A<=44115||44117<=A&&A<=44143||44145<=A&&A<=44171||44173<=A&&A<=44199||44201<=A&&A<=44227||44229<=A&&A<=44255||44257<=A&&A<=44283||44285<=A&&A<=44311||44313<=A&&A<=44339||44341<=A&&A<=44367||44369<=A&&A<=44395||44397<=A&&A<=44423||44425<=A&&A<=44451||44453<=A&&A<=44479||44481<=A&&A<=44507||44509<=A&&A<=44535||44537<=A&&A<=44563||44565<=A&&A<=44591||44593<=A&&A<=44619||44621<=A&&A<=44647||44649<=A&&A<=44675||44677<=A&&A<=44703||44705<=A&&A<=44731||44733<=A&&A<=44759||44761<=A&&A<=44787||44789<=A&&A<=44815||44817<=A&&A<=44843||44845<=A&&A<=44871||44873<=A&&A<=44899||44901<=A&&A<=44927||44929<=A&&A<=44955||44957<=A&&A<=44983||44985<=A&&A<=45011||45013<=A&&A<=45039||45041<=A&&A<=45067||45069<=A&&A<=45095||45097<=A&&A<=45123||45125<=A&&A<=45151||45153<=A&&A<=45179||45181<=A&&A<=45207||45209<=A&&A<=45235||45237<=A&&A<=45263||45265<=A&&A<=45291||45293<=A&&A<=45319||45321<=A&&A<=45347||45349<=A&&A<=45375||45377<=A&&A<=45403||45405<=A&&A<=45431||45433<=A&&A<=45459||45461<=A&&A<=45487||45489<=A&&A<=45515||45517<=A&&A<=45543||45545<=A&&A<=45571||45573<=A&&A<=45599||45601<=A&&A<=45627||45629<=A&&A<=45655||45657<=A&&A<=45683||45685<=A&&A<=45711||45713<=A&&A<=45739||45741<=A&&A<=45767||45769<=A&&A<=45795||45797<=A&&A<=45823||45825<=A&&A<=45851||45853<=A&&A<=45879||45881<=A&&A<=45907||45909<=A&&A<=45935||45937<=A&&A<=45963||45965<=A&&A<=45991||45993<=A&&A<=46019||46021<=A&&A<=46047||46049<=A&&A<=46075||46077<=A&&A<=46103||46105<=A&&A<=46131||46133<=A&&A<=46159||46161<=A&&A<=46187||46189<=A&&A<=46215||46217<=A&&A<=46243||46245<=A&&A<=46271||46273<=A&&A<=46299||46301<=A&&A<=46327||46329<=A&&A<=46355||46357<=A&&A<=46383||46385<=A&&A<=46411||46413<=A&&A<=46439||46441<=A&&A<=46467||46469<=A&&A<=46495||46497<=A&&A<=46523||46525<=A&&A<=46551||46553<=A&&A<=46579||46581<=A&&A<=46607||46609<=A&&A<=46635||46637<=A&&A<=46663||46665<=A&&A<=46691||46693<=A&&A<=46719||46721<=A&&A<=46747||46749<=A&&A<=46775||46777<=A&&A<=46803||46805<=A&&A<=46831||46833<=A&&A<=46859||46861<=A&&A<=46887||46889<=A&&A<=46915||46917<=A&&A<=46943||46945<=A&&A<=46971||46973<=A&&A<=46999||47001<=A&&A<=47027||47029<=A&&A<=47055||47057<=A&&A<=47083||47085<=A&&A<=47111||47113<=A&&A<=47139||47141<=A&&A<=47167||47169<=A&&A<=47195||47197<=A&&A<=47223||47225<=A&&A<=47251||47253<=A&&A<=47279||47281<=A&&A<=47307||47309<=A&&A<=47335||47337<=A&&A<=47363||47365<=A&&A<=47391||47393<=A&&A<=47419||47421<=A&&A<=47447||47449<=A&&A<=47475||47477<=A&&A<=47503||47505<=A&&A<=47531||47533<=A&&A<=47559||47561<=A&&A<=47587||47589<=A&&A<=47615||47617<=A&&A<=47643||47645<=A&&A<=47671||47673<=A&&A<=47699||47701<=A&&A<=47727||47729<=A&&A<=47755||47757<=A&&A<=47783||47785<=A&&A<=47811||47813<=A&&A<=47839||47841<=A&&A<=47867||47869<=A&&A<=47895||47897<=A&&A<=47923||47925<=A&&A<=47951||47953<=A&&A<=47979||47981<=A&&A<=48007||48009<=A&&A<=48035||48037<=A&&A<=48063||48065<=A&&A<=48091||48093<=A&&A<=48119||48121<=A&&A<=48147||48149<=A&&A<=48175||48177<=A&&A<=48203||48205<=A&&A<=48231||48233<=A&&A<=48259||48261<=A&&A<=48287||48289<=A&&A<=48315||48317<=A&&A<=48343||48345<=A&&A<=48371||48373<=A&&A<=48399||48401<=A&&A<=48427||48429<=A&&A<=48455||48457<=A&&A<=48483||48485<=A&&A<=48511||48513<=A&&A<=48539||48541<=A&&A<=48567||48569<=A&&A<=48595||48597<=A&&A<=48623||48625<=A&&A<=48651||48653<=A&&A<=48679||48681<=A&&A<=48707||48709<=A&&A<=48735||48737<=A&&A<=48763||48765<=A&&A<=48791||48793<=A&&A<=48819||48821<=A&&A<=48847||48849<=A&&A<=48875||48877<=A&&A<=48903||48905<=A&&A<=48931||48933<=A&&A<=48959||48961<=A&&A<=48987||48989<=A&&A<=49015||49017<=A&&A<=49043||49045<=A&&A<=49071||49073<=A&&A<=49099||49101<=A&&A<=49127||49129<=A&&A<=49155||49157<=A&&A<=49183||49185<=A&&A<=49211||49213<=A&&A<=49239||49241<=A&&A<=49267||49269<=A&&A<=49295||49297<=A&&A<=49323||49325<=A&&A<=49351||49353<=A&&A<=49379||49381<=A&&A<=49407||49409<=A&&A<=49435||49437<=A&&A<=49463||49465<=A&&A<=49491||49493<=A&&A<=49519||49521<=A&&A<=49547||49549<=A&&A<=49575||49577<=A&&A<=49603||49605<=A&&A<=49631||49633<=A&&A<=49659||49661<=A&&A<=49687||49689<=A&&A<=49715||49717<=A&&A<=49743||49745<=A&&A<=49771||49773<=A&&A<=49799||49801<=A&&A<=49827||49829<=A&&A<=49855||49857<=A&&A<=49883||49885<=A&&A<=49911||49913<=A&&A<=49939||49941<=A&&A<=49967||49969<=A&&A<=49995||49997<=A&&A<=50023||50025<=A&&A<=50051||50053<=A&&A<=50079||50081<=A&&A<=50107||50109<=A&&A<=50135||50137<=A&&A<=50163||50165<=A&&A<=50191||50193<=A&&A<=50219||50221<=A&&A<=50247||50249<=A&&A<=50275||50277<=A&&A<=50303||50305<=A&&A<=50331||50333<=A&&A<=50359||50361<=A&&A<=50387||50389<=A&&A<=50415||50417<=A&&A<=50443||50445<=A&&A<=50471||50473<=A&&A<=50499||50501<=A&&A<=50527||50529<=A&&A<=50555||50557<=A&&A<=50583||50585<=A&&A<=50611||50613<=A&&A<=50639||50641<=A&&A<=50667||50669<=A&&A<=50695||50697<=A&&A<=50723||50725<=A&&A<=50751||50753<=A&&A<=50779||50781<=A&&A<=50807||50809<=A&&A<=50835||50837<=A&&A<=50863||50865<=A&&A<=50891||50893<=A&&A<=50919||50921<=A&&A<=50947||50949<=A&&A<=50975||50977<=A&&A<=51003||51005<=A&&A<=51031||51033<=A&&A<=51059||51061<=A&&A<=51087||51089<=A&&A<=51115||51117<=A&&A<=51143||51145<=A&&A<=51171||51173<=A&&A<=51199||51201<=A&&A<=51227||51229<=A&&A<=51255||51257<=A&&A<=51283||51285<=A&&A<=51311||51313<=A&&A<=51339||51341<=A&&A<=51367||51369<=A&&A<=51395||51397<=A&&A<=51423||51425<=A&&A<=51451||51453<=A&&A<=51479||51481<=A&&A<=51507||51509<=A&&A<=51535||51537<=A&&A<=51563||51565<=A&&A<=51591||51593<=A&&A<=51619||51621<=A&&A<=51647||51649<=A&&A<=51675||51677<=A&&A<=51703||51705<=A&&A<=51731||51733<=A&&A<=51759||51761<=A&&A<=51787||51789<=A&&A<=51815||51817<=A&&A<=51843||51845<=A&&A<=51871||51873<=A&&A<=51899||51901<=A&&A<=51927||51929<=A&&A<=51955||51957<=A&&A<=51983||51985<=A&&A<=52011||52013<=A&&A<=52039||52041<=A&&A<=52067||52069<=A&&A<=52095||52097<=A&&A<=52123||52125<=A&&A<=52151||52153<=A&&A<=52179||52181<=A&&A<=52207||52209<=A&&A<=52235||52237<=A&&A<=52263||52265<=A&&A<=52291||52293<=A&&A<=52319||52321<=A&&A<=52347||52349<=A&&A<=52375||52377<=A&&A<=52403||52405<=A&&A<=52431||52433<=A&&A<=52459||52461<=A&&A<=52487||52489<=A&&A<=52515||52517<=A&&A<=52543||52545<=A&&A<=52571||52573<=A&&A<=52599||52601<=A&&A<=52627||52629<=A&&A<=52655||52657<=A&&A<=52683||52685<=A&&A<=52711||52713<=A&&A<=52739||52741<=A&&A<=52767||52769<=A&&A<=52795||52797<=A&&A<=52823||52825<=A&&A<=52851||52853<=A&&A<=52879||52881<=A&&A<=52907||52909<=A&&A<=52935||52937<=A&&A<=52963||52965<=A&&A<=52991||52993<=A&&A<=53019||53021<=A&&A<=53047||53049<=A&&A<=53075||53077<=A&&A<=53103||53105<=A&&A<=53131||53133<=A&&A<=53159||53161<=A&&A<=53187||53189<=A&&A<=53215||53217<=A&&A<=53243||53245<=A&&A<=53271||53273<=A&&A<=53299||53301<=A&&A<=53327||53329<=A&&A<=53355||53357<=A&&A<=53383||53385<=A&&A<=53411||53413<=A&&A<=53439||53441<=A&&A<=53467||53469<=A&&A<=53495||53497<=A&&A<=53523||53525<=A&&A<=53551||53553<=A&&A<=53579||53581<=A&&A<=53607||53609<=A&&A<=53635||53637<=A&&A<=53663||53665<=A&&A<=53691||53693<=A&&A<=53719||53721<=A&&A<=53747||53749<=A&&A<=53775||53777<=A&&A<=53803||53805<=A&&A<=53831||53833<=A&&A<=53859||53861<=A&&A<=53887||53889<=A&&A<=53915||53917<=A&&A<=53943||53945<=A&&A<=53971||53973<=A&&A<=53999||54001<=A&&A<=54027||54029<=A&&A<=54055||54057<=A&&A<=54083||54085<=A&&A<=54111||54113<=A&&A<=54139||54141<=A&&A<=54167||54169<=A&&A<=54195||54197<=A&&A<=54223||54225<=A&&A<=54251||54253<=A&&A<=54279||54281<=A&&A<=54307||54309<=A&&A<=54335||54337<=A&&A<=54363||54365<=A&&A<=54391||54393<=A&&A<=54419||54421<=A&&A<=54447||54449<=A&&A<=54475||54477<=A&&A<=54503||54505<=A&&A<=54531||54533<=A&&A<=54559||54561<=A&&A<=54587||54589<=A&&A<=54615||54617<=A&&A<=54643||54645<=A&&A<=54671||54673<=A&&A<=54699||54701<=A&&A<=54727||54729<=A&&A<=54755||54757<=A&&A<=54783||54785<=A&&A<=54811||54813<=A&&A<=54839||54841<=A&&A<=54867||54869<=A&&A<=54895||54897<=A&&A<=54923||54925<=A&&A<=54951||54953<=A&&A<=54979||54981<=A&&A<=55007||55009<=A&&A<=55035||55037<=A&&A<=55063||55065<=A&&A<=55091||55093<=A&&A<=55119||55121<=A&&A<=55147||55149<=A&&A<=55175||55177<=A&&A<=55203?u:A==9757||A==9977||9994<=A&&A<=9997||A==127877||127938<=A&&A<=127940||A==127943||127946<=A&&A<=127948||128066<=A&&A<=128067||128070<=A&&A<=128080||A==128110||128112<=A&&A<=128120||A==128124||128129<=A&&A<=128131||128133<=A&&A<=128135||A==128170||128372<=A&&A<=128373||A==128378||A==128400||128405<=A&&A<=128406||128581<=A&&A<=128583||128587<=A&&A<=128591||A==128675||128692<=A&&A<=128694||A==128704||A==128716||129304<=A&&A<=129308||129310<=A&&A<=129311||A==129318||129328<=A&&A<=129337||129341<=A&&A<=129342||129489<=A&&A<=129501?h:127995<=A&&A<=127999?p:A==8205?C:A==9792||A==9794||9877<=A&&A<=9878||A==9992||A==10084||A==127752||A==127806||A==127859||A==127891||A==127908||A==127912||A==127979||A==127981||A==128139||128187<=A&&A<=128188||A==128295||A==128300||A==128488||A==128640||A==128658?y:128102<=A&&A<=128105?B:g}return this}typeof CB<\"u\"&&CB.exports&&(CB.exports=dke)});var x6=w((jnt,v6)=>{var Cke=/^(.*?)(\\x1b\\[[^m]+m|\\x1b\\]8;;.*?(\\x1b\\\\|\\u0007))/,mB;function mke(){if(mB)return mB;if(typeof Intl.Segmenter<\"u\"){let r=new Intl.Segmenter(\"en\",{granularity:\"grapheme\"});return mB=e=>Array.from(r.segment(e),({segment:t})=>t)}else{let r=S6(),e=new r;return mB=t=>e.splitGraphemes(t)}}v6.exports=(r,e=0,t=r.length)=>{if(e<0||t<0)throw new RangeError(\"Negative indices aren't supported by this implementation\");let i=t-e,n=\"\",s=0,o=0;for(;r.length>0;){let a=r.match(Cke)||[r,r,void 0],l=mke()(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(\"\"),s+=c,o+=u,typeof a[2]<\"u\"&&(n+=a[2]),r=r.slice(a[0].length)}return n}});var Uf=w((ust,j6)=>{\"use strict\";var Y6=new Map([[\"C\",\"cwd\"],[\"f\",\"file\"],[\"z\",\"gzip\"],[\"P\",\"preservePaths\"],[\"U\",\"unlink\"],[\"strip-components\",\"strip\"],[\"stripComponents\",\"strip\"],[\"keep-newer\",\"newer\"],[\"keepNewer\",\"newer\"],[\"keep-newer-files\",\"newer\"],[\"keepNewerFiles\",\"newer\"],[\"k\",\"keep\"],[\"keep-existing\",\"keep\"],[\"keepExisting\",\"keep\"],[\"m\",\"noMtime\"],[\"no-mtime\",\"noMtime\"],[\"p\",\"preserveOwner\"],[\"L\",\"follow\"],[\"h\",\"follow\"]]),cst=j6.exports=r=>r?Object.keys(r).map(e=>[Y6.has(e)?Y6.get(e):e,r[e]]).reduce((e,t)=>(e[t[0]]=t[1],e),Object.create(null)):{}});var Hf=w((gst,$6)=>{\"use strict\";var kke=J(\"events\"),q6=J(\"stream\"),BC=sd(),J6=J(\"string_decoder\").StringDecoder,Ua=Symbol(\"EOF\"),QC=Symbol(\"maybeEmitEnd\"),WA=Symbol(\"emittedEnd\"),QB=Symbol(\"emittingEnd\"),bB=Symbol(\"closed\"),W6=Symbol(\"read\"),RR=Symbol(\"flush\"),z6=Symbol(\"flushChunk\"),Sn=Symbol(\"encoding\"),Ha=Symbol(\"decoder\"),SB=Symbol(\"flowing\"),bC=Symbol(\"paused\"),SC=Symbol(\"resume\"),nn=Symbol(\"bufferLength\"),V6=Symbol(\"bufferPush\"),FR=Symbol(\"bufferShift\"),Ui=Symbol(\"objectMode\"),Hi=Symbol(\"destroyed\"),_6=global._MP_NO_ITERATOR_SYMBOLS_!==\"1\",Rke=_6&&Symbol.asyncIterator||Symbol(\"asyncIterator not implemented\"),Fke=_6&&Symbol.iterator||Symbol(\"iterator not implemented\"),X6=r=>r===\"end\"||r===\"finish\"||r===\"prefinish\",Nke=r=>r instanceof ArrayBuffer||typeof r==\"object\"&&r.constructor&&r.constructor.name===\"ArrayBuffer\"&&r.byteLength>=0,Lke=r=>!Buffer.isBuffer(r)&&ArrayBuffer.isView(r);$6.exports=class Z6 extends q6{constructor(e){super(),this[SB]=!1,this[bC]=!1,this.pipes=new BC,this.buffer=new BC,this[Ui]=e&&e.objectMode||!1,this[Ui]?this[Sn]=null:this[Sn]=e&&e.encoding||null,this[Sn]===\"buffer\"&&(this[Sn]=null),this[Ha]=this[Sn]?new J6(this[Sn]):null,this[Ua]=!1,this[WA]=!1,this[QB]=!1,this[bB]=!1,this.writable=!0,this.readable=!0,this[nn]=0,this[Hi]=!1}get bufferLength(){return this[nn]}get encoding(){return this[Sn]}set encoding(e){if(this[Ui])throw new Error(\"cannot set encoding in objectMode\");if(this[Sn]&&e!==this[Sn]&&(this[Ha]&&this[Ha].lastNeed||this[nn]))throw new Error(\"cannot change encoding\");this[Sn]!==e&&(this[Ha]=e?new J6(e):null,this.buffer.length&&(this.buffer=this.buffer.map(t=>this[Ha].write(t)))),this[Sn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Ui]}set objectMode(e){this[Ui]=this[Ui]||!!e}write(e,t,i){if(this[Ua])throw new Error(\"write after end\");return this[Hi]?(this.emit(\"error\",Object.assign(new Error(\"Cannot call write after a stream was destroyed\"),{code:\"ERR_STREAM_DESTROYED\"})),!0):(typeof t==\"function\"&&(i=t,t=\"utf8\"),t||(t=\"utf8\"),!this[Ui]&&!Buffer.isBuffer(e)&&(Lke(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):Nke(e)?e=Buffer.from(e):typeof e!=\"string\"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[nn]!==0&&this.emit(\"readable\"),i&&i(),this.flowing):(typeof e==\"string\"&&!this[Ui]&&!(t===this[Sn]&&!this[Ha].lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[Sn]&&(e=this[Ha].write(e)),this.flowing?(this[nn]!==0&&this[RR](!0),this.emit(\"data\",e)):this[V6](e),this[nn]!==0&&this.emit(\"readable\"),i&&i(),this.flowing))}read(e){if(this[Hi])return null;try{return this[nn]===0||e===0||e>this[nn]?null:(this[Ui]&&(e=null),this.buffer.length>1&&!this[Ui]&&(this.encoding?this.buffer=new BC([Array.from(this.buffer).join(\"\")]):this.buffer=new BC([Buffer.concat(Array.from(this.buffer),this[nn])])),this[W6](e||null,this.buffer.head.value))}finally{this[QC]()}}[W6](e,t){return e===t.length||e===null?this[FR]():(this.buffer.head.value=t.slice(e),t=t.slice(0,e),this[nn]-=e),this.emit(\"data\",t),!this.buffer.length&&!this[Ua]&&this.emit(\"drain\"),t}end(e,t,i){return typeof e==\"function\"&&(i=e,e=null),typeof t==\"function\"&&(i=t,t=\"utf8\"),e&&this.write(e,t),i&&this.once(\"end\",i),this[Ua]=!0,this.writable=!1,(this.flowing||!this[bC])&&this[QC](),this}[SC](){this[Hi]||(this[bC]=!1,this[SB]=!0,this.emit(\"resume\"),this.buffer.length?this[RR]():this[Ua]?this[QC]():this.emit(\"drain\"))}resume(){return this[SC]()}pause(){this[SB]=!1,this[bC]=!0}get destroyed(){return this[Hi]}get flowing(){return this[SB]}get paused(){return this[bC]}[V6](e){return this[Ui]?this[nn]+=1:this[nn]+=e.length,this.buffer.push(e)}[FR](){return this.buffer.length&&(this[Ui]?this[nn]-=1:this[nn]-=this.buffer.head.value.length),this.buffer.shift()}[RR](e){do;while(this[z6](this[FR]()));!e&&!this.buffer.length&&!this[Ua]&&this.emit(\"drain\")}[z6](e){return e?(this.emit(\"data\",e),this.flowing):!1}pipe(e,t){if(this[Hi])return;let i=this[WA];t=t||{},e===process.stdout||e===process.stderr?t.end=!1:t.end=t.end!==!1;let n={dest:e,opts:t,ondrain:s=>this[SC]()};return this.pipes.push(n),e.on(\"drain\",n.ondrain),this[SC](),i&&n.opts.end&&n.dest.end(),e}addListener(e,t){return this.on(e,t)}on(e,t){try{return super.on(e,t)}finally{e===\"data\"&&!this.pipes.length&&!this.flowing?this[SC]():X6(e)&&this[WA]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[WA]}[QC](){!this[QB]&&!this[WA]&&!this[Hi]&&this.buffer.length===0&&this[Ua]&&(this[QB]=!0,this.emit(\"end\"),this.emit(\"prefinish\"),this.emit(\"finish\"),this[bB]&&this.emit(\"close\"),this[QB]=!1)}emit(e,t){if(e!==\"error\"&&e!==\"close\"&&e!==Hi&&this[Hi])return;if(e===\"data\"){if(!t)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(t)===!1&&this.pause())}else if(e===\"end\"){if(this[WA]===!0)return;this[WA]=!0,this.readable=!1,this[Ha]&&(t=this[Ha].end(),t&&(this.pipes.forEach(n=>n.dest.write(t)),super.emit(\"data\",t))),this.pipes.forEach(n=>{n.dest.removeListener(\"drain\",n.ondrain),n.opts.end&&n.dest.end()})}else if(e===\"close\"&&(this[bB]=!0,!this[WA]&&!this[Hi]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=t,arguments.length>2)for(let n=2;n<arguments.length;n++)i[n]=arguments[n];try{return super.emit.apply(this,i)}finally{X6(e)?this.removeAllListeners(e):this[QC]()}}collect(){let e=[];this[Ui]||(e.dataLength=0);let t=this.promise();return this.on(\"data\",i=>{e.push(i),this[Ui]||(e.dataLength+=i.length)}),t.then(()=>e)}concat(){return this[Ui]?Promise.reject(new Error(\"cannot concat in objectMode\")):this.collect().then(e=>this[Ui]?Promise.reject(new Error(\"cannot concat in objectMode\")):this[Sn]?e.join(\"\"):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(Hi,()=>t(new Error(\"stream destroyed\"))),this.on(\"end\",()=>e()),this.on(\"error\",i=>t(i))})}[Rke](){return{next:()=>{let t=this.read();if(t!==null)return Promise.resolve({done:!1,value:t});if(this[Ua])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener(\"data\",o),this.removeListener(\"end\",a),n(c)},o=c=>{this.removeListener(\"error\",s),this.removeListener(\"end\",a),this.pause(),i({value:c,done:!!this[Ua]})},a=()=>{this.removeListener(\"error\",s),this.removeListener(\"data\",o),i({done:!0})},l=()=>s(new Error(\"stream destroyed\"));return new Promise((c,u)=>{n=u,i=c,this.once(Hi,l),this.once(\"error\",s),this.once(\"end\",a),this.once(\"data\",o)})}}}[Fke](){return{next:()=>{let t=this.read();return{value:t,done:t===null}}}}destroy(e){return this[Hi]?(e?this.emit(\"error\",e):this.emit(Hi),this):(this[Hi]=!0,this.buffer=new BC,this[nn]=0,typeof this.close==\"function\"&&!this[bB]&&this.close(),e?this.emit(\"error\",e):this.emit(Hi),this)}static isStream(e){return!!e&&(e instanceof Z6||e instanceof q6||e instanceof kke&&(typeof e.pipe==\"function\"||typeof e.write==\"function\"&&typeof e.end==\"function\"))}}});var t9=w((fst,e9)=>{var Tke=J(\"zlib\").constants||{ZLIB_VERNUM:4736};e9.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},Tke))});var VR=w(Wn=>{\"use strict\";var MR=J(\"assert\"),zA=J(\"buffer\").Buffer,n9=J(\"zlib\"),Sc=Wn.constants=t9(),Oke=Hf(),r9=zA.concat,vc=Symbol(\"_superWrite\"),Yf=class extends Error{constructor(e){super(\"zlib: \"+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code=\"ZLIB_ERROR\"),this.message=\"zlib: \"+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return\"ZlibError\"}},Mke=Symbol(\"opts\"),vC=Symbol(\"flushFlag\"),i9=Symbol(\"finishFlushFlag\"),zR=Symbol(\"fullFlushFlag\"),cr=Symbol(\"handle\"),vB=Symbol(\"onError\"),Gf=Symbol(\"sawError\"),NR=Symbol(\"level\"),LR=Symbol(\"strategy\"),TR=Symbol(\"ended\"),hst=Symbol(\"_defaultFullFlush\"),xB=class extends Oke{constructor(e,t){if(!e||typeof e!=\"object\")throw new TypeError(\"invalid options for ZlibBase constructor\");super(e),this[Gf]=!1,this[TR]=!1,this[Mke]=e,this[vC]=e.flush,this[i9]=e.finishFlush;try{this[cr]=new n9[t](e)}catch(i){throw new Yf(i)}this[vB]=i=>{this[Gf]||(this[Gf]=!0,this.close(),this.emit(\"error\",i))},this[cr].on(\"error\",i=>this[vB](new Yf(i))),this.once(\"end\",()=>this.close)}close(){this[cr]&&(this[cr].close(),this[cr]=null,this.emit(\"close\"))}reset(){if(!this[Gf])return MR(this[cr],\"zlib binding closed\"),this[cr].reset()}flush(e){this.ended||(typeof e!=\"number\"&&(e=this[zR]),this.write(Object.assign(zA.alloc(0),{[vC]:e})))}end(e,t,i){return e&&this.write(e,t),this.flush(this[i9]),this[TR]=!0,super.end(null,null,i)}get ended(){return this[TR]}write(e,t,i){if(typeof t==\"function\"&&(i=t,t=\"utf8\"),typeof e==\"string\"&&(e=zA.from(e,t)),this[Gf])return;MR(this[cr],\"zlib binding closed\");let n=this[cr]._handle,s=n.close;n.close=()=>{};let o=this[cr].close;this[cr].close=()=>{},zA.concat=c=>c;let a;try{let c=typeof e[vC]==\"number\"?e[vC]:this[vC];a=this[cr]._processChunk(e,c),zA.concat=r9}catch(c){zA.concat=r9,this[vB](new Yf(c))}finally{this[cr]&&(this[cr]._handle=n,n.close=s,this[cr].close=o,this[cr].removeAllListeners(\"error\"))}this[cr]&&this[cr].on(\"error\",c=>this[vB](new Yf(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[vc](zA.from(a[0]));for(let c=1;c<a.length;c++)l=this[vc](a[c])}else l=this[vc](zA.from(a));return i&&i(),l}[vc](e){return super.write(e)}},Ga=class extends xB{constructor(e,t){e=e||{},e.flush=e.flush||Sc.Z_NO_FLUSH,e.finishFlush=e.finishFlush||Sc.Z_FINISH,super(e,t),this[zR]=Sc.Z_FULL_FLUSH,this[NR]=e.level,this[LR]=e.strategy}params(e,t){if(!this[Gf]){if(!this[cr])throw new Error(\"cannot switch params when binding is closed\");if(!this[cr].params)throw new Error(\"not supported in this implementation\");if(this[NR]!==e||this[LR]!==t){this.flush(Sc.Z_SYNC_FLUSH),MR(this[cr],\"zlib binding closed\");let i=this[cr].flush;this[cr].flush=(n,s)=>{this.flush(n),s()};try{this[cr].params(e,t)}finally{this[cr].flush=i}this[cr]&&(this[NR]=e,this[LR]=t)}}}},KR=class extends Ga{constructor(e){super(e,\"Deflate\")}},UR=class extends Ga{constructor(e){super(e,\"Inflate\")}},OR=Symbol(\"_portable\"),HR=class extends Ga{constructor(e){super(e,\"Gzip\"),this[OR]=e&&!!e.portable}[vc](e){return this[OR]?(this[OR]=!1,e[9]=255,super[vc](e)):super[vc](e)}},GR=class extends Ga{constructor(e){super(e,\"Gunzip\")}},YR=class extends Ga{constructor(e){super(e,\"DeflateRaw\")}},jR=class extends Ga{constructor(e){super(e,\"InflateRaw\")}},qR=class extends Ga{constructor(e){super(e,\"Unzip\")}},PB=class extends xB{constructor(e,t){e=e||{},e.flush=e.flush||Sc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Sc.BROTLI_OPERATION_FINISH,super(e,t),this[zR]=Sc.BROTLI_OPERATION_FLUSH}},JR=class extends PB{constructor(e){super(e,\"BrotliCompress\")}},WR=class extends PB{constructor(e){super(e,\"BrotliDecompress\")}};Wn.Deflate=KR;Wn.Inflate=UR;Wn.Gzip=HR;Wn.Gunzip=GR;Wn.DeflateRaw=YR;Wn.InflateRaw=jR;Wn.Unzip=qR;typeof n9.BrotliCompress==\"function\"?(Wn.BrotliCompress=JR,Wn.BrotliDecompress=WR):Wn.BrotliCompress=Wn.BrotliDecompress=class{constructor(){throw new Error(\"Brotli is not supported in this version of Node.js\")}}});var xC=w(DB=>{\"use strict\";DB.name=new Map([[\"0\",\"File\"],[\"\",\"OldFile\"],[\"1\",\"Link\"],[\"2\",\"SymbolicLink\"],[\"3\",\"CharacterDevice\"],[\"4\",\"BlockDevice\"],[\"5\",\"Directory\"],[\"6\",\"FIFO\"],[\"7\",\"ContiguousFile\"],[\"g\",\"GlobalExtendedHeader\"],[\"x\",\"ExtendedHeader\"],[\"A\",\"SolarisACL\"],[\"D\",\"GNUDumpDir\"],[\"I\",\"Inode\"],[\"K\",\"NextFileHasLongLinkpath\"],[\"L\",\"NextFileHasLongPath\"],[\"M\",\"ContinuationFile\"],[\"N\",\"OldGnuLongPath\"],[\"S\",\"SparseFile\"],[\"V\",\"TapeVolumeHeader\"],[\"X\",\"OldExtendedHeader\"]]);DB.code=new Map(Array.from(DB.name).map(r=>[r[1],r[0]]))});var PC=w((Ist,s9)=>{\"use strict\";var mst=xC(),Kke=Hf(),XR=Symbol(\"slurp\");s9.exports=class extends Kke{constructor(e,t,i){switch(super(),this.pause(),this.extended=t,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case\"File\":case\"OldFile\":case\"Link\":case\"SymbolicLink\":case\"CharacterDevice\":case\"BlockDevice\":case\"Directory\":case\"FIFO\":case\"ContiguousFile\":case\"GNUDumpDir\":break;case\"NextFileHasLongLinkpath\":case\"NextFileHasLongPath\":case\"OldGnuLongPath\":case\"GlobalExtendedHeader\":case\"ExtendedHeader\":case\"OldExtendedHeader\":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,t&&this[XR](t),i&&this[XR](i,!0)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error(\"writing more to entry than is appropriate\");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-t),this.blockRemain=Math.max(0,n-t),this.ignore?!0:i>=t?super.write(e):super.write(e.slice(0,i))}[XR](e,t){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(t&&i===\"path\")&&(this[i]=e[i])}}});var A9=w(_R=>{\"use strict\";var yst=_R.encode=(r,e)=>{if(Number.isSafeInteger(r))r<0?Hke(r,e):Uke(r,e);else throw Error(\"cannot encode number outside of javascript safe integer range\");return e},Uke=(r,e)=>{e[0]=128;for(var t=e.length;t>1;t--)e[t-1]=r&255,r=Math.floor(r/256)},Hke=(r,e)=>{e[0]=255;var t=!1;r=r*-1;for(var i=e.length;i>1;i--){var n=r&255;r=Math.floor(r/256),t?e[i-1]=o9(n):n===0?e[i-1]=0:(t=!0,e[i-1]=a9(n))}},wst=_R.parse=r=>{var e=r[r.length-1],t=r[0],i;if(t===128)i=Yke(r.slice(1,r.length));else if(t===255)i=Gke(r);else throw Error(\"invalid base256 encoding\");if(!Number.isSafeInteger(i))throw Error(\"parsed number outside of javascript safe integer range\");return i},Gke=r=>{for(var e=r.length,t=0,i=!1,n=e-1;n>-1;n--){var s=r[n],o;i?o=o9(s):s===0?o=s:(i=!0,o=a9(s)),o!==0&&(t-=o*Math.pow(256,e-n-1))}return t},Yke=r=>{for(var e=r.length,t=0,i=e-1;i>-1;i--){var n=r[i];n!==0&&(t+=n*Math.pow(256,e-i-1))}return t},o9=r=>(255^r)&255,a9=r=>(255^r)+1&255});var qf=w((Qst,c9)=>{\"use strict\";var ZR=xC(),jf=J(\"path\").posix,l9=A9(),$R=Symbol(\"slurp\"),zn=Symbol(\"type\"),rF=class{constructor(e,t,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[zn]=\"0\",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,t||0,i,n):e&&this.set(e)}decode(e,t,i,n){if(t||(t=0),!e||!(e.length>=t+512))throw new Error(\"need 512 bytes for header\");if(this.path=xc(e,t,100),this.mode=VA(e,t+100,8),this.uid=VA(e,t+108,8),this.gid=VA(e,t+116,8),this.size=VA(e,t+124,12),this.mtime=eF(e,t+136,12),this.cksum=VA(e,t+148,12),this[$R](i),this[$R](n,!0),this[zn]=xc(e,t+156,1),this[zn]===\"\"&&(this[zn]=\"0\"),this[zn]===\"0\"&&this.path.substr(-1)===\"/\"&&(this[zn]=\"5\"),this[zn]===\"5\"&&(this.size=0),this.linkpath=xc(e,t+157,100),e.slice(t+257,t+265).toString()===\"ustar\\x0000\")if(this.uname=xc(e,t+265,32),this.gname=xc(e,t+297,32),this.devmaj=VA(e,t+329,8),this.devmin=VA(e,t+337,8),e[t+475]!==0){let o=xc(e,t+345,155);this.path=o+\"/\"+this.path}else{let o=xc(e,t+345,130);o&&(this.path=o+\"/\"+this.path),this.atime=eF(e,t+476,12),this.ctime=eF(e,t+488,12)}let s=8*32;for(let o=t;o<t+148;o++)s+=e[o];for(let o=t+156;o<t+512;o++)s+=e[o];this.cksumValid=s===this.cksum,this.cksum===null&&s===8*32&&(this.nullBlock=!0)}[$R](e,t){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(t&&i===\"path\")&&(this[i]=e[i])}encode(e,t){if(e||(e=this.block=Buffer.alloc(512),t=0),t||(t=0),!(e.length>=t+512))throw new Error(\"need 512 bytes for header\");let i=this.ctime||this.atime?130:155,n=jke(this.path||\"\",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=Pc(e,t,100,s)||this.needPax,this.needPax=XA(e,t+100,8,this.mode)||this.needPax,this.needPax=XA(e,t+108,8,this.uid)||this.needPax,this.needPax=XA(e,t+116,8,this.gid)||this.needPax,this.needPax=XA(e,t+124,12,this.size)||this.needPax,this.needPax=tF(e,t+136,12,this.mtime)||this.needPax,e[t+156]=this[zn].charCodeAt(0),this.needPax=Pc(e,t+157,100,this.linkpath)||this.needPax,e.write(\"ustar\\x0000\",t+257,8),this.needPax=Pc(e,t+265,32,this.uname)||this.needPax,this.needPax=Pc(e,t+297,32,this.gname)||this.needPax,this.needPax=XA(e,t+329,8,this.devmaj)||this.needPax,this.needPax=XA(e,t+337,8,this.devmin)||this.needPax,this.needPax=Pc(e,t+345,i,o)||this.needPax,e[t+475]!==0?this.needPax=Pc(e,t+345,155,o)||this.needPax:(this.needPax=Pc(e,t+345,130,o)||this.needPax,this.needPax=tF(e,t+476,12,this.atime)||this.needPax,this.needPax=tF(e,t+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=t;l<t+148;l++)a+=e[l];for(let l=t+156;l<t+512;l++)a+=e[l];return this.cksum=a,XA(e,t+148,8,this.cksum),this.cksumValid=!0,this.needPax}set(e){for(let t in e)e[t]!==null&&e[t]!==void 0&&(this[t]=e[t])}get type(){return ZR.name.get(this[zn])||this[zn]}get typeKey(){return this[zn]}set type(e){ZR.code.has(e)?this[zn]=ZR.code.get(e):this[zn]=e}},jke=(r,e)=>{let i=r,n=\"\",s,o=jf.parse(r).root||\".\";if(Buffer.byteLength(i)<100)s=[i,n,!1];else{n=jf.dirname(i),i=jf.basename(i);do Buffer.byteLength(i)<=100&&Buffer.byteLength(n)<=e?s=[i,n,!1]:Buffer.byteLength(i)>100&&Buffer.byteLength(n)<=e?s=[i.substr(0,100-1),n,!0]:(i=jf.join(jf.basename(n),i),n=jf.dirname(n));while(n!==o&&!s);s||(s=[r.substr(0,100-1),\"\",!0])}return s},xc=(r,e,t)=>r.slice(e,e+t).toString(\"utf8\").replace(/\\0.*/,\"\"),eF=(r,e,t)=>qke(VA(r,e,t)),qke=r=>r===null?null:new Date(r*1e3),VA=(r,e,t)=>r[e]&128?l9.parse(r.slice(e,e+t)):Wke(r,e,t),Jke=r=>isNaN(r)?null:r,Wke=(r,e,t)=>Jke(parseInt(r.slice(e,e+t).toString(\"utf8\").replace(/\\0.*$/,\"\").trim(),8)),zke={12:8589934591,8:2097151},XA=(r,e,t,i)=>i===null?!1:i>zke[t]||i<0?(l9.encode(i,r.slice(e,e+t)),!0):(Vke(r,e,t,i),!1),Vke=(r,e,t,i)=>r.write(Xke(i,t),e,t,\"ascii\"),Xke=(r,e)=>_ke(Math.floor(r).toString(8),e),_ke=(r,e)=>(r.length===e-1?r:new Array(e-r.length-1).join(\"0\")+r+\" \")+\"\\0\",tF=(r,e,t,i)=>i===null?!1:XA(r,e,t,i.getTime()/1e3),Zke=new Array(156).join(\"\\0\"),Pc=(r,e,t,i)=>i===null?!1:(r.write(i+Zke,e,t,\"utf8\"),i.length!==Buffer.byteLength(i)||i.length>t);c9.exports=rF});var kB=w((bst,u9)=>{\"use strict\";var $ke=qf(),eRe=J(\"path\"),DC=class{constructor(e,t){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=t||!1}encode(){let e=this.encodeBody();if(e===\"\")return null;let t=Buffer.byteLength(e),i=512*Math.ceil(1+t/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new $ke({path:(\"PaxHeader/\"+eRe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:t,mtime:this.mtime||null,type:this.global?\"GlobalExtendedHeader\":\"ExtendedHeader\",linkpath:\"\",uname:this.uname||\"\",gname:this.gname||\"\",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,t,\"utf8\");for(let s=t+512;s<n.length;s++)n[s]=0;return n}encodeBody(){return this.encodeField(\"path\")+this.encodeField(\"ctime\")+this.encodeField(\"atime\")+this.encodeField(\"dev\")+this.encodeField(\"ino\")+this.encodeField(\"nlink\")+this.encodeField(\"charset\")+this.encodeField(\"comment\")+this.encodeField(\"gid\")+this.encodeField(\"gname\")+this.encodeField(\"linkpath\")+this.encodeField(\"mtime\")+this.encodeField(\"size\")+this.encodeField(\"uid\")+this.encodeField(\"uname\")}encodeField(e){if(this[e]===null||this[e]===void 0)return\"\";let t=this[e]instanceof Date?this[e].getTime()/1e3:this[e],i=\" \"+(e===\"dev\"||e===\"ino\"||e===\"nlink\"?\"SCHILY.\":\"\")+e+\"=\"+t+`\n`,n=Buffer.byteLength(i),s=Math.floor(Math.log(n)/Math.log(10))+1;return n+s>=Math.pow(10,s)&&(s+=1),s+n+i}};DC.parse=(r,e,t)=>new DC(tRe(rRe(r),e),t);var tRe=(r,e)=>e?Object.keys(r).reduce((t,i)=>(t[i]=r[i],t),e):r,rRe=r=>r.replace(/\\n$/,\"\").split(`\n`).reduce(iRe,Object.create(null)),iRe=(r,e)=>{let t=parseInt(e,10);if(t!==Buffer.byteLength(e)+1)return r;e=e.substr((t+\" \").length);let i=e.split(\"=\"),n=i.shift().replace(/^SCHILY\\.(dev|ino|nlink)/,\"$1\");if(!n)return r;let s=i.join(\"=\");return r[n]=/^([A-Z]+\\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,r};u9.exports=DC});var RB=w((Sst,g9)=>{\"use strict\";g9.exports=r=>class extends r{warn(e,t,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=t instanceof Error&&t.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(t instanceof Error&&(i=Object.assign(t,i),t=t.message),this.emit(\"warn\",i.tarCode,t,i)):t instanceof Error?this.emit(\"error\",Object.assign(t,i)):this.emit(\"error\",Object.assign(new Error(`${e}: ${t}`),i))}}});var nF=w((xst,f9)=>{\"use strict\";var FB=[\"|\",\"<\",\">\",\"?\",\":\"],iF=FB.map(r=>String.fromCharCode(61440+r.charCodeAt(0))),nRe=new Map(FB.map((r,e)=>[r,iF[e]])),sRe=new Map(iF.map((r,e)=>[r,FB[e]]));f9.exports={encode:r=>FB.reduce((e,t)=>e.split(t).join(nRe.get(t)),r),decode:r=>iF.reduce((e,t)=>e.split(t).join(sRe.get(t)),r)}});var p9=w((Pst,h9)=>{\"use strict\";h9.exports=(r,e,t)=>(r&=4095,t&&(r=(r|384)&-19),e&&(r&256&&(r|=64),r&32&&(r|=8),r&4&&(r|=1)),r)});var gF=w((Nst,b9)=>{\"use strict\";var I9=Hf(),y9=kB(),w9=qf(),Dst=PC(),Jo=J(\"fs\"),Jf=J(\"path\"),kst=xC(),oRe=16*1024*1024,d9=Symbol(\"process\"),C9=Symbol(\"file\"),m9=Symbol(\"directory\"),sF=Symbol(\"symlink\"),E9=Symbol(\"hardlink\"),kC=Symbol(\"header\"),NB=Symbol(\"read\"),oF=Symbol(\"lstat\"),LB=Symbol(\"onlstat\"),aF=Symbol(\"onread\"),AF=Symbol(\"onreadlink\"),lF=Symbol(\"openfile\"),cF=Symbol(\"onopenfile\"),Dc=Symbol(\"close\"),TB=Symbol(\"mode\"),B9=RB(),aRe=nF(),Q9=p9(),OB=B9(class extends I9{constructor(e,t){if(t=t||{},super(t),typeof e!=\"string\")throw new TypeError(\"path is required\");this.path=e,this.portable=!!t.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||\"\",this.maxReadSize=t.maxReadSize||oRe,this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.preservePaths=!!t.preservePaths,this.cwd=t.cwd||process.cwd(),this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,typeof t.onwarn==\"function\"&&this.on(\"warn\",t.onwarn);let i=!1;if(!this.preservePaths&&Jf.win32.isAbsolute(e)){let n=Jf.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!t.win32||process.platform===\"win32\",this.win32&&(this.path=aRe.decode(this.path.replace(/\\\\/g,\"/\")),e=e.replace(/\\\\/g,\"/\")),this.absolute=t.absolute||Jf.resolve(this.cwd,e),this.path===\"\"&&(this.path=\"./\"),i&&this.warn(\"TAR_ENTRY_INFO\",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[LB](this.statCache.get(this.absolute)):this[oF]()}[oF](){Jo.lstat(this.absolute,(e,t)=>{if(e)return this.emit(\"error\",e);this[LB](t)})}[LB](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=lRe(e),this.emit(\"stat\",e),this[d9]()}[d9](){switch(this.type){case\"File\":return this[C9]();case\"Directory\":return this[m9]();case\"SymbolicLink\":return this[sF]();default:return this.end()}}[TB](e){return Q9(e,this.type===\"Directory\",this.portable)}[kC](){this.type===\"Directory\"&&this.portable&&(this.noMtime=!0),this.header=new w9({path:this.path,linkpath:this.linkpath,mode:this[TB](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:\"\",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new y9({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[m9](){this.path.substr(-1)!==\"/\"&&(this.path+=\"/\"),this.stat.size=0,this[kC](),this.end()}[sF](){Jo.readlink(this.absolute,(e,t)=>{if(e)return this.emit(\"error\",e);this[AF](t)})}[AF](e){this.linkpath=e.replace(/\\\\/g,\"/\"),this[kC](),this.end()}[E9](e){this.type=\"Link\",this.linkpath=Jf.relative(this.cwd,e).replace(/\\\\/g,\"/\"),this.stat.size=0,this[kC](),this.end()}[C9](){if(this.stat.nlink>1){let e=this.stat.dev+\":\"+this.stat.ino;if(this.linkCache.has(e)){let t=this.linkCache.get(e);if(t.indexOf(this.cwd)===0)return this[E9](t)}this.linkCache.set(e,this.absolute)}if(this[kC](),this.stat.size===0)return this.end();this[lF]()}[lF](){Jo.open(this.absolute,\"r\",(e,t)=>{if(e)return this.emit(\"error\",e);this[cF](t)})}[cF](e){let t=512*Math.ceil(this.stat.size/512),i=Math.min(t,this.maxReadSize),n=Buffer.allocUnsafe(i);this[NB](e,n,0,n.length,0,this.stat.size,t)}[NB](e,t,i,n,s,o,a){Jo.read(e,t,i,n,s,(l,c)=>{if(l)return this[Dc](e,()=>this.emit(\"error\",l));this[aF](e,t,i,n,s,o,a,c)})}[Dc](e,t){Jo.close(e,t)}[aF](e,t,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error(\"encountered unexpected EOF\");return u.path=this.absolute,u.syscall=\"read\",u.code=\"EOF\",this[Dc](e,()=>this.emit(\"error\",u))}if(l>o){let u=new Error(\"did not encounter expected EOF\");return u.path=this.absolute,u.syscall=\"read\",u.code=\"EOF\",this[Dc](e,()=>this.emit(\"error\",u))}if(l===o)for(let u=l;u<n&&l<a;u++)t[u+i]=0,l++,o++;let c=i===0&&l===t.length?t:t.slice(i,i+l);if(o-=l,a-=l,s+=l,i+=l,this.write(c),!o)return a&&this.write(Buffer.alloc(a)),this[Dc](e,u=>u?this.emit(\"error\",u):this.end());i>=n&&(t=Buffer.allocUnsafe(n),i=0),n=t.length-i,this[NB](e,t,i,n,s,o,a)}}),uF=class extends OB{constructor(e,t){super(e,t)}[oF](){this[LB](Jo.lstatSync(this.absolute))}[sF](){this[AF](Jo.readlinkSync(this.absolute))}[lF](){this[cF](Jo.openSync(this.absolute,\"r\"))}[NB](e,t,i,n,s,o,a){let l=!0;try{let c=Jo.readSync(e,t,i,n,s);this[aF](e,t,i,n,s,o,a,c),l=!1}finally{if(l)try{this[Dc](e,()=>{})}catch{}}}[Dc](e,t){Jo.closeSync(e),t()}},ARe=B9(class extends I9{constructor(e,t){t=t||{},super(t),this.preservePaths=!!t.preservePaths,this.portable=!!t.portable,this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.readEntry=e,this.type=e.type,this.type===\"Directory\"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[TB](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:t.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof t.onwarn==\"function\"&&this.on(\"warn\",t.onwarn);let i=!1;if(Jf.isAbsolute(this.path)&&!this.preservePaths){let n=Jf.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new w9({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn(\"TAR_ENTRY_INFO\",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new y9({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[TB](e){return Q9(e,this.type===\"Directory\",this.portable)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error(\"writing more to entry than is appropriate\");return this.blockRemain-=t,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});OB.Sync=uF;OB.Tar=ARe;var lRe=r=>r.isFile()?\"File\":r.isDirectory()?\"Directory\":r.isSymbolicLink()?\"SymbolicLink\":\"Unsupported\";b9.exports=OB});var JB=w((Tst,R9)=>{\"use strict\";var jB=class{constructor(e,t){this.path=e||\"./\",this.absolute=t,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},cRe=Hf(),uRe=VR(),gRe=PC(),IF=gF(),fRe=IF.Sync,hRe=IF.Tar,pRe=sd(),S9=Buffer.alloc(1024),UB=Symbol(\"onStat\"),MB=Symbol(\"ended\"),Wo=Symbol(\"queue\"),Wf=Symbol(\"current\"),kc=Symbol(\"process\"),KB=Symbol(\"processing\"),v9=Symbol(\"processJob\"),zo=Symbol(\"jobs\"),fF=Symbol(\"jobDone\"),HB=Symbol(\"addFSEntry\"),x9=Symbol(\"addTarEntry\"),dF=Symbol(\"stat\"),CF=Symbol(\"readdir\"),GB=Symbol(\"onreaddir\"),YB=Symbol(\"pipe\"),P9=Symbol(\"entry\"),hF=Symbol(\"entryOpt\"),mF=Symbol(\"writeEntryClass\"),k9=Symbol(\"write\"),pF=Symbol(\"ondrain\"),qB=J(\"fs\"),D9=J(\"path\"),dRe=RB(),yF=dRe(class extends cRe{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||\"\",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||\"\").replace(/(\\\\|\\/)+$/,\"\"),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[mF]=IF,typeof e.onwarn==\"function\"&&this.on(\"warn\",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!=\"object\"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new uRe.Gzip(e.gzip),this.zip.on(\"data\",t=>super.write(t)),this.zip.on(\"end\",t=>super.end()),this.zip.on(\"drain\",t=>this[pF]()),this.on(\"resume\",t=>this.zip.resume())):this.on(\"drain\",this[pF]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter==\"function\"?e.filter:t=>!0,this[Wo]=new pRe,this[zo]=0,this.jobs=+e.jobs||4,this[KB]=!1,this[MB]=!1}[k9](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[MB]=!0,this[kc](),this}write(e){if(this[MB])throw new Error(\"write after end\");return e instanceof gRe?this[x9](e):this[HB](e),this.flowing}[x9](e){let t=D9.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+\"/\"+e.path.replace(/^\\.(\\/+|$)/,\"\")),!this.filter(e.path,e))e.resume();else{let i=new jB(e.path,t,!1);i.entry=new hRe(e,this[hF](i)),i.entry.on(\"end\",n=>this[fF](i)),this[zo]+=1,this[Wo].push(i)}this[kc]()}[HB](e){let t=D9.resolve(this.cwd,e);this.prefix&&(e=this.prefix+\"/\"+e.replace(/^\\.(\\/+|$)/,\"\")),this[Wo].push(new jB(e,t)),this[kc]()}[dF](e){e.pending=!0,this[zo]+=1;let t=this.follow?\"stat\":\"lstat\";qB[t](e.absolute,(i,n)=>{e.pending=!1,this[zo]-=1,i?this.emit(\"error\",i):this[UB](e,n)})}[UB](e,t){this.statCache.set(e.absolute,t),e.stat=t,this.filter(e.path,t)||(e.ignore=!0),this[kc]()}[CF](e){e.pending=!0,this[zo]+=1,qB.readdir(e.absolute,(t,i)=>{if(e.pending=!1,this[zo]-=1,t)return this.emit(\"error\",t);this[GB](e,i)})}[GB](e,t){this.readdirCache.set(e.absolute,t),e.readdir=t,this[kc]()}[kc](){if(!this[KB]){this[KB]=!0;for(let e=this[Wo].head;e!==null&&this[zo]<this.jobs;e=e.next)if(this[v9](e.value),e.value.ignore){let t=e.next;this[Wo].removeNode(e),e.next=t}this[KB]=!1,this[MB]&&!this[Wo].length&&this[zo]===0&&(this.zip?this.zip.end(S9):(super.write(S9),super.end()))}}get[Wf](){return this[Wo]&&this[Wo].head&&this[Wo].head.value}[fF](e){this[Wo].shift(),this[zo]-=1,this[kc]()}[v9](e){if(!e.pending){if(e.entry){e===this[Wf]&&!e.piped&&this[YB](e);return}if(e.stat||(this.statCache.has(e.absolute)?this[UB](e,this.statCache.get(e.absolute)):this[dF](e)),!!e.stat&&!e.ignore&&!(!this.noDirRecurse&&e.stat.isDirectory()&&!e.readdir&&(this.readdirCache.has(e.absolute)?this[GB](e,this.readdirCache.get(e.absolute)):this[CF](e),!e.readdir))){if(e.entry=this[P9](e),!e.entry){e.ignore=!0;return}e===this[Wf]&&!e.piped&&this[YB](e)}}}[hF](e){return{onwarn:(t,i,n)=>this.warn(t,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[P9](e){this[zo]+=1;try{return new this[mF](e.path,this[hF](e)).on(\"end\",()=>this[fF](e)).on(\"error\",t=>this.emit(\"error\",t))}catch(t){this.emit(\"error\",t)}}[pF](){this[Wf]&&this[Wf].entry&&this[Wf].entry.resume()}[YB](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||\"./\":e.path,o=s===\"./\"?\"\":s.replace(/\\/*$/,\"/\");this[HB](o+n)});let t=e.entry,i=this.zip;i?t.on(\"data\",n=>{i.write(n)||t.pause()}):t.on(\"data\",n=>{super.write(n)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),EF=class extends yF{constructor(e){super(e),this[mF]=fRe}pause(){}resume(){}[dF](e){let t=this.follow?\"statSync\":\"lstatSync\";this[UB](e,qB[t](e.absolute))}[CF](e,t){this[GB](e,qB.readdirSync(e.absolute))}[YB](e){let t=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||\"./\":e.path,o=s===\"./\"?\"\":s.replace(/\\/*$/,\"/\");this[HB](o+n)}),i?t.on(\"data\",n=>{i.write(n)}):t.on(\"data\",n=>{super[k9](n)})}};yF.Sync=EF;R9.exports=yF});var $f=w(FC=>{\"use strict\";var CRe=Hf(),mRe=J(\"events\").EventEmitter,Bs=J(\"fs\"),_B=process.binding(\"fs\"),Ost=_B.writeBuffers,ERe=_B.FSReqWrap||_B.FSReqCallback,_f=Symbol(\"_autoClose\"),Xo=Symbol(\"_close\"),RC=Symbol(\"_ended\"),rr=Symbol(\"_fd\"),F9=Symbol(\"_finished\"),Nc=Symbol(\"_flags\"),wF=Symbol(\"_flush\"),QF=Symbol(\"_handleChunk\"),bF=Symbol(\"_makeBuf\"),SF=Symbol(\"_mode\"),WB=Symbol(\"_needDrain\"),Xf=Symbol(\"_onerror\"),Zf=Symbol(\"_onopen\"),BF=Symbol(\"_onread\"),Fc=Symbol(\"_onwrite\"),ZA=Symbol(\"_open\"),$A=Symbol(\"_path\"),Rc=Symbol(\"_pos\"),Vo=Symbol(\"_queue\"),Vf=Symbol(\"_read\"),N9=Symbol(\"_readSize\"),_A=Symbol(\"_reading\"),zB=Symbol(\"_remain\"),L9=Symbol(\"_size\"),VB=Symbol(\"_write\"),zf=Symbol(\"_writing\"),XB=Symbol(\"_defaultFlag\"),ZB=class extends CRe{constructor(e,t){if(t=t||{},super(t),this.writable=!1,typeof e!=\"string\")throw new TypeError(\"path must be a string\");this[rr]=typeof t.fd==\"number\"?t.fd:null,this[$A]=e,this[N9]=t.readSize||16*1024*1024,this[_A]=!1,this[L9]=typeof t.size==\"number\"?t.size:1/0,this[zB]=this[L9],this[_f]=typeof t.autoClose==\"boolean\"?t.autoClose:!0,typeof this[rr]==\"number\"?this[Vf]():this[ZA]()}get fd(){return this[rr]}get path(){return this[$A]}write(){throw new TypeError(\"this is a readable stream\")}end(){throw new TypeError(\"this is a readable stream\")}[ZA](){Bs.open(this[$A],\"r\",(e,t)=>this[Zf](e,t))}[Zf](e,t){e?this[Xf](e):(this[rr]=t,this.emit(\"open\",t),this[Vf]())}[bF](){return Buffer.allocUnsafe(Math.min(this[N9],this[zB]))}[Vf](){if(!this[_A]){this[_A]=!0;let e=this[bF]();if(e.length===0)return process.nextTick(()=>this[BF](null,0,e));Bs.read(this[rr],e,0,e.length,null,(t,i,n)=>this[BF](t,i,n))}}[BF](e,t,i){this[_A]=!1,e?this[Xf](e):this[QF](t,i)&&this[Vf]()}[Xo](){this[_f]&&typeof this[rr]==\"number\"&&(Bs.close(this[rr],e=>this.emit(\"close\")),this[rr]=null)}[Xf](e){this[_A]=!0,this[Xo](),this.emit(\"error\",e)}[QF](e,t){let i=!1;return this[zB]-=e,e>0&&(i=super.write(e<t.length?t.slice(0,e):t)),(e===0||this[zB]<=0)&&(i=!1,this[Xo](),super.end()),i}emit(e,t){switch(e){case\"prefinish\":case\"finish\":break;case\"drain\":typeof this[rr]==\"number\"&&this[Vf]();break;default:return super.emit(e,t)}}},vF=class extends ZB{[ZA](){let e=!0;try{this[Zf](null,Bs.openSync(this[$A],\"r\")),e=!1}finally{e&&this[Xo]()}}[Vf](){let e=!0;try{if(!this[_A]){this[_A]=!0;do{let t=this[bF](),i=t.length===0?0:Bs.readSync(this[rr],t,0,t.length,null);if(!this[QF](i,t))break}while(!0);this[_A]=!1}e=!1}finally{e&&this[Xo]()}}[Xo](){if(this[_f]&&typeof this[rr]==\"number\"){try{Bs.closeSync(this[rr])}catch{}this[rr]=null,this.emit(\"close\")}}},$B=class extends mRe{constructor(e,t){t=t||{},super(t),this.readable=!1,this[zf]=!1,this[RC]=!1,this[WB]=!1,this[Vo]=[],this[$A]=e,this[rr]=typeof t.fd==\"number\"?t.fd:null,this[SF]=t.mode===void 0?438:t.mode,this[Rc]=typeof t.start==\"number\"?t.start:null,this[_f]=typeof t.autoClose==\"boolean\"?t.autoClose:!0;let i=this[Rc]!==null?\"r+\":\"w\";this[XB]=t.flags===void 0,this[Nc]=this[XB]?i:t.flags,this[rr]===null&&this[ZA]()}get fd(){return this[rr]}get path(){return this[$A]}[Xf](e){this[Xo](),this[zf]=!0,this.emit(\"error\",e)}[ZA](){Bs.open(this[$A],this[Nc],this[SF],(e,t)=>this[Zf](e,t))}[Zf](e,t){this[XB]&&this[Nc]===\"r+\"&&e&&e.code===\"ENOENT\"?(this[Nc]=\"w\",this[ZA]()):e?this[Xf](e):(this[rr]=t,this.emit(\"open\",t),this[wF]())}end(e,t){e&&this.write(e,t),this[RC]=!0,!this[zf]&&!this[Vo].length&&typeof this[rr]==\"number\"&&this[Fc](null,0)}write(e,t){return typeof e==\"string\"&&(e=new Buffer(e,t)),this[RC]?(this.emit(\"error\",new Error(\"write() after end()\")),!1):this[rr]===null||this[zf]||this[Vo].length?(this[Vo].push(e),this[WB]=!0,!1):(this[zf]=!0,this[VB](e),!0)}[VB](e){Bs.write(this[rr],e,0,e.length,this[Rc],(t,i)=>this[Fc](t,i))}[Fc](e,t){e?this[Xf](e):(this[Rc]!==null&&(this[Rc]+=t),this[Vo].length?this[wF]():(this[zf]=!1,this[RC]&&!this[F9]?(this[F9]=!0,this[Xo](),this.emit(\"finish\")):this[WB]&&(this[WB]=!1,this.emit(\"drain\"))))}[wF](){if(this[Vo].length===0)this[RC]&&this[Fc](null,0);else if(this[Vo].length===1)this[VB](this[Vo].pop());else{let e=this[Vo];this[Vo]=[],IRe(this[rr],e,this[Rc],(t,i)=>this[Fc](t,i))}}[Xo](){this[_f]&&typeof this[rr]==\"number\"&&(Bs.close(this[rr],e=>this.emit(\"close\")),this[rr]=null)}},xF=class extends $B{[ZA](){let e;try{e=Bs.openSync(this[$A],this[Nc],this[SF])}catch(t){if(this[XB]&&this[Nc]===\"r+\"&&t&&t.code===\"ENOENT\")return this[Nc]=\"w\",this[ZA]();throw t}this[Zf](null,e)}[Xo](){if(this[_f]&&typeof this[rr]==\"number\"){try{Bs.closeSync(this[rr])}catch{}this[rr]=null,this.emit(\"close\")}}[VB](e){try{this[Fc](null,Bs.writeSync(this[rr],e,0,e.length,this[Rc]))}catch(t){this[Fc](t,0)}}},IRe=(r,e,t,i)=>{let n=(o,a)=>i(o,a,e),s=new ERe;s.oncomplete=n,_B.writeBuffers(r,e,t,s)};FC.ReadStream=ZB;FC.ReadStreamSync=vF;FC.WriteStream=$B;FC.WriteStreamSync=xF});var TC=w((Hst,G9)=>{\"use strict\";var yRe=RB(),Kst=J(\"path\"),wRe=qf(),BRe=J(\"events\"),QRe=sd(),bRe=1024*1024,SRe=PC(),T9=kB(),vRe=VR(),PF=Buffer.from([31,139]),Qs=Symbol(\"state\"),Lc=Symbol(\"writeEntry\"),Ya=Symbol(\"readEntry\"),DF=Symbol(\"nextEntry\"),O9=Symbol(\"processEntry\"),bs=Symbol(\"extendedHeader\"),NC=Symbol(\"globalExtendedHeader\"),el=Symbol(\"meta\"),M9=Symbol(\"emitMeta\"),Er=Symbol(\"buffer\"),ja=Symbol(\"queue\"),Tc=Symbol(\"ended\"),K9=Symbol(\"emittedEnd\"),Oc=Symbol(\"emit\"),vn=Symbol(\"unzip\"),e0=Symbol(\"consumeChunk\"),t0=Symbol(\"consumeChunkSub\"),kF=Symbol(\"consumeBody\"),U9=Symbol(\"consumeMeta\"),H9=Symbol(\"consumeHeader\"),r0=Symbol(\"consuming\"),RF=Symbol(\"bufferConcat\"),FF=Symbol(\"maybeEnd\"),LC=Symbol(\"writing\"),tl=Symbol(\"aborted\"),i0=Symbol(\"onDone\"),Mc=Symbol(\"sawValidEntry\"),n0=Symbol(\"sawNullBlock\"),s0=Symbol(\"sawEOF\"),xRe=r=>!0;G9.exports=yRe(class extends BRe{constructor(e){e=e||{},super(e),this.file=e.file||\"\",this[Mc]=null,this.on(i0,t=>{(this[Qs]===\"begin\"||this[Mc]===!1)&&this.warn(\"TAR_BAD_ARCHIVE\",\"Unrecognized archive format\")}),e.ondone?this.on(i0,e.ondone):this.on(i0,t=>{this.emit(\"prefinish\"),this.emit(\"finish\"),this.emit(\"end\"),this.emit(\"close\")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||bRe,this.filter=typeof e.filter==\"function\"?e.filter:xRe,this.writable=!0,this.readable=!1,this[ja]=new QRe,this[Er]=null,this[Ya]=null,this[Lc]=null,this[Qs]=\"begin\",this[el]=\"\",this[bs]=null,this[NC]=null,this[Tc]=!1,this[vn]=null,this[tl]=!1,this[n0]=!1,this[s0]=!1,typeof e.onwarn==\"function\"&&this.on(\"warn\",e.onwarn),typeof e.onentry==\"function\"&&this.on(\"entry\",e.onentry)}[H9](e,t){this[Mc]===null&&(this[Mc]=!1);let i;try{i=new wRe(e,t,this[bs],this[NC])}catch(n){return this.warn(\"TAR_ENTRY_INVALID\",n)}if(i.nullBlock)this[n0]?(this[s0]=!0,this[Qs]===\"begin\"&&(this[Qs]=\"header\"),this[Oc](\"eof\")):(this[n0]=!0,this[Oc](\"nullBlock\"));else if(this[n0]=!1,!i.cksumValid)this.warn(\"TAR_ENTRY_INVALID\",\"checksum failure\",{header:i});else if(!i.path)this.warn(\"TAR_ENTRY_INVALID\",\"path is required\",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn(\"TAR_ENTRY_INVALID\",\"linkpath required\",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn(\"TAR_ENTRY_INVALID\",\"linkpath forbidden\",{header:i});else{let s=this[Lc]=new SRe(i,this[bs],this[NC]);if(!this[Mc])if(s.remain){let o=()=>{s.invalid||(this[Mc]=!0)};s.on(\"end\",o)}else this[Mc]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[Oc](\"ignoredEntry\",s),this[Qs]=\"ignore\",s.resume()):s.size>0&&(this[el]=\"\",s.on(\"data\",o=>this[el]+=o),this[Qs]=\"meta\"):(this[bs]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[Oc](\"ignoredEntry\",s),this[Qs]=s.remain?\"ignore\":\"header\",s.resume()):(s.remain?this[Qs]=\"body\":(this[Qs]=\"header\",s.end()),this[Ya]?this[ja].push(s):(this[ja].push(s),this[DF]())))}}}[O9](e){let t=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[Ya]=e,this.emit(\"entry\",e),e.emittedEnd||(e.on(\"end\",i=>this[DF]()),t=!1)):(this[Ya]=null,t=!1),t}[DF](){do;while(this[O9](this[ja].shift()));if(!this[ja].length){let e=this[Ya];!e||e.flowing||e.size===e.remain?this[LC]||this.emit(\"drain\"):e.once(\"drain\",i=>this.emit(\"drain\"))}}[kF](e,t){let i=this[Lc],n=i.blockRemain,s=n>=e.length&&t===0?e:e.slice(t,t+n);return i.write(s),i.blockRemain||(this[Qs]=\"header\",this[Lc]=null,i.end()),s.length}[U9](e,t){let i=this[Lc],n=this[kF](e,t);return this[Lc]||this[M9](i),n}[Oc](e,t,i){!this[ja].length&&!this[Ya]?this.emit(e,t,i):this[ja].push([e,t,i])}[M9](e){switch(this[Oc](\"meta\",this[el]),e.type){case\"ExtendedHeader\":case\"OldExtendedHeader\":this[bs]=T9.parse(this[el],this[bs],!1);break;case\"GlobalExtendedHeader\":this[NC]=T9.parse(this[el],this[NC],!0);break;case\"NextFileHasLongPath\":case\"OldGnuLongPath\":this[bs]=this[bs]||Object.create(null),this[bs].path=this[el].replace(/\\0.*/,\"\");break;case\"NextFileHasLongLinkpath\":this[bs]=this[bs]||Object.create(null),this[bs].linkpath=this[el].replace(/\\0.*/,\"\");break;default:throw new Error(\"unknown meta: \"+e.type)}}abort(e){this[tl]=!0,this.emit(\"abort\",e),this.warn(\"TAR_ABORT\",e,{recoverable:!1})}write(e){if(this[tl])return;if(this[vn]===null&&e){if(this[Er]&&(e=Buffer.concat([this[Er],e]),this[Er]=null),e.length<PF.length)return this[Er]=e,!0;for(let i=0;this[vn]===null&&i<PF.length;i++)e[i]!==PF[i]&&(this[vn]=!1);if(this[vn]===null){let i=this[Tc];this[Tc]=!1,this[vn]=new vRe.Unzip,this[vn].on(\"data\",s=>this[e0](s)),this[vn].on(\"error\",s=>this.abort(s)),this[vn].on(\"end\",s=>{this[Tc]=!0,this[e0]()}),this[LC]=!0;let n=this[vn][i?\"end\":\"write\"](e);return this[LC]=!1,n}}this[LC]=!0,this[vn]?this[vn].write(e):this[e0](e),this[LC]=!1;let t=this[ja].length?!1:this[Ya]?this[Ya].flowing:!0;return!t&&!this[ja].length&&this[Ya].once(\"drain\",i=>this.emit(\"drain\")),t}[RF](e){e&&!this[tl]&&(this[Er]=this[Er]?Buffer.concat([this[Er],e]):e)}[FF](){if(this[Tc]&&!this[K9]&&!this[tl]&&!this[r0]){this[K9]=!0;let e=this[Lc];if(e&&e.blockRemain){let t=this[Er]?this[Er].length:0;this.warn(\"TAR_BAD_ARCHIVE\",`Truncated input (needed ${e.blockRemain} more bytes, only ${t} available)`,{entry:e}),this[Er]&&e.write(this[Er]),e.end()}this[Oc](i0)}}[e0](e){if(this[r0])this[RF](e);else if(!e&&!this[Er])this[FF]();else{if(this[r0]=!0,this[Er]){this[RF](e);let t=this[Er];this[Er]=null,this[t0](t)}else this[t0](e);for(;this[Er]&&this[Er].length>=512&&!this[tl]&&!this[s0];){let t=this[Er];this[Er]=null,this[t0](t)}this[r0]=!1}(!this[Er]||this[Tc])&&this[FF]()}[t0](e){let t=0,i=e.length;for(;t+512<=i&&!this[tl]&&!this[s0];)switch(this[Qs]){case\"begin\":case\"header\":this[H9](e,t),t+=512;break;case\"ignore\":case\"body\":t+=this[kF](e,t);break;case\"meta\":t+=this[U9](e,t);break;default:throw new Error(\"invalid state: \"+this[Qs])}t<i&&(this[Er]?this[Er]=Buffer.concat([e.slice(t),this[Er]]):this[Er]=e.slice(t))}end(e){this[tl]||(this[vn]?this[vn].end(e):(this[Tc]=!0,this.write(e)))}})});var o0=w((Yst,J9)=>{\"use strict\";var PRe=Uf(),j9=TC(),eh=J(\"fs\"),DRe=$f(),Y9=J(\"path\"),Gst=J9.exports=(r,e,t)=>{typeof r==\"function\"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e==\"function\"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=PRe(r);if(i.sync&&typeof t==\"function\")throw new TypeError(\"callback not supported for sync tar functions\");if(!i.file&&typeof t==\"function\")throw new TypeError(\"callback only supported with file option\");return e.length&&RRe(i,e),i.noResume||kRe(i),i.file&&i.sync?FRe(i):i.file?NRe(i,t):q9(i)},kRe=r=>{let e=r.onentry;r.onentry=e?t=>{e(t),t.resume()}:t=>t.resume()},RRe=(r,e)=>{let t=new Map(e.map(s=>[s.replace(/\\/+$/,\"\"),!0])),i=r.filter,n=(s,o)=>{let a=o||Y9.parse(s).root||\".\",l=s===a?!1:t.has(s)?t.get(s):n(Y9.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\\/+$/,\"\")):s=>n(s.replace(/\\/+$/,\"\"))},FRe=r=>{let e=q9(r),t=r.file,i=!0,n;try{let s=eh.statSync(t),o=r.maxReadSize||16*1024*1024;if(s.size<o)e.end(eh.readFileSync(t));else{let a=0,l=Buffer.allocUnsafe(o);for(n=eh.openSync(t,\"r\");a<s.size;){let c=eh.readSync(n,l,0,o,a);a+=c,e.write(l.slice(0,c))}e.end()}i=!1}finally{if(i&&n)try{eh.closeSync(n)}catch{}}},NRe=(r,e)=>{let t=new j9(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on(\"error\",a),t.on(\"end\",o),eh.stat(n,(l,c)=>{if(l)a(l);else{let u=new DRe.ReadStream(n,{readSize:i,size:c.size});u.on(\"error\",a),u.pipe(t)}})});return e?s.then(e,e):s},q9=r=>new j9(r)});var Z9=w((Jst,_9)=>{\"use strict\";var LRe=Uf(),a0=JB(),jst=J(\"fs\"),W9=$f(),z9=o0(),V9=J(\"path\"),qst=_9.exports=(r,e,t)=>{if(typeof e==\"function\"&&(t=e),Array.isArray(r)&&(e=r,r={}),!e||!Array.isArray(e)||!e.length)throw new TypeError(\"no files or directories specified\");e=Array.from(e);let i=LRe(r);if(i.sync&&typeof t==\"function\")throw new TypeError(\"callback not supported for sync tar functions\");if(!i.file&&typeof t==\"function\")throw new TypeError(\"callback only supported with file option\");return i.file&&i.sync?TRe(i,e):i.file?ORe(i,e,t):i.sync?MRe(i,e):KRe(i,e)},TRe=(r,e)=>{let t=new a0.Sync(r),i=new W9.WriteStreamSync(r.file,{mode:r.mode||438});t.pipe(i),X9(t,e)},ORe=(r,e,t)=>{let i=new a0(r),n=new W9.WriteStream(r.file,{mode:r.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on(\"error\",a),n.on(\"close\",o),i.on(\"error\",a)});return NF(i,e),t?s.then(t,t):s},X9=(r,e)=>{e.forEach(t=>{t.charAt(0)===\"@\"?z9({file:V9.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},NF=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)===\"@\")return z9({file:V9.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>NF(r,e));r.add(t)}r.end()},MRe=(r,e)=>{let t=new a0.Sync(r);return X9(t,e),t},KRe=(r,e)=>{let t=new a0(r);return NF(t,e),t}});var LF=w((Vst,s7)=>{\"use strict\";var URe=Uf(),$9=JB(),Wst=TC(),Ss=J(\"fs\"),e7=$f(),t7=o0(),r7=J(\"path\"),i7=qf(),zst=s7.exports=(r,e,t)=>{let i=URe(r);if(!i.file)throw new TypeError(\"file is required\");if(i.gzip)throw new TypeError(\"cannot append to compressed archives\");if(!e||!Array.isArray(e)||!e.length)throw new TypeError(\"no files or directories specified\");return e=Array.from(e),i.sync?HRe(i,e):YRe(i,e,t)},HRe=(r,e)=>{let t=new $9.Sync(r),i=!0,n,s;try{try{n=Ss.openSync(r.file,\"r+\")}catch(l){if(l.code===\"ENOENT\")n=Ss.openSync(r.file,\"w+\");else throw l}let o=Ss.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;s<o.size;s+=512){for(let u=0,g=0;u<512;u+=g){if(g=Ss.readSync(n,a,u,a.length-u,s+u),s===0&&a[0]===31&&a[1]===139)throw new Error(\"cannot append to compressed archives\");if(!g)break e}let l=new i7(a);if(!l.cksumValid)break;let c=512*Math.ceil(l.size/512);if(s+c+512>o.size)break;s+=c,r.mtimeCache&&r.mtimeCache.set(l.path,l.mtime)}i=!1,GRe(r,t,s,n,e)}finally{if(i)try{Ss.closeSync(n)}catch{}}},GRe=(r,e,t,i,n)=>{let s=new e7.WriteStreamSync(r.file,{fd:i,start:t});e.pipe(s),jRe(e,n)},YRe=(r,e,t)=>{e=Array.from(e);let i=new $9(r),n=(o,a,l)=>{let c=(p,C)=>{p?Ss.close(o,y=>l(p)):l(null,C)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,C)=>{if(p)return c(p);if(g+=C,g<512&&C)return Ss.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error(\"cannot append to compressed archives\"));if(g<512)return c(null,u);let y=new i7(f);if(!y.cksumValid)return c(null,u);let B=512*Math.ceil(y.size/512);if(u+B+512>a||(u+=B+512,u>=a))return c(null,u);r.mtimeCache&&r.mtimeCache.set(y.path,y.mtime),g=0,Ss.read(o,f,0,512,u,h)};Ss.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on(\"error\",a);let l=\"r+\",c=(u,g)=>{if(u&&u.code===\"ENOENT\"&&l===\"r+\")return l=\"w+\",Ss.open(r.file,l,c);if(u)return a(u);Ss.fstat(g,(f,h)=>{if(f)return a(f);n(g,h.size,(p,C)=>{if(p)return a(p);let y=new e7.WriteStream(r.file,{fd:g,start:C});i.pipe(y),y.on(\"error\",a),y.on(\"close\",o),n7(i,e)})})};Ss.open(r.file,l,c)});return t?s.then(t,t):s},jRe=(r,e)=>{e.forEach(t=>{t.charAt(0)===\"@\"?t7({file:r7.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},n7=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)===\"@\")return t7({file:r7.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>n7(r,e));r.add(t)}r.end()}});var a7=w((_st,o7)=>{\"use strict\";var qRe=Uf(),JRe=LF(),Xst=o7.exports=(r,e,t)=>{let i=qRe(r);if(!i.file)throw new TypeError(\"file is required\");if(i.gzip)throw new TypeError(\"cannot append to compressed archives\");if(!e||!Array.isArray(e)||!e.length)throw new TypeError(\"no files or directories specified\");return e=Array.from(e),WRe(i),JRe(i,e,t)},WRe=r=>{let e=r.filter;r.mtimeCache||(r.mtimeCache=new Map),r.filter=e?(t,i)=>e(t,i)&&!(r.mtimeCache.get(t)>i.mtime):(t,i)=>!(r.mtimeCache.get(t)>i.mtime)}});var c7=w((Zst,l7)=>{var{promisify:A7}=J(\"util\"),rl=J(\"fs\"),zRe=r=>{if(!r)r={mode:511,fs:rl};else if(typeof r==\"object\")r={mode:511,fs:rl,...r};else if(typeof r==\"number\")r={mode:r,fs:rl};else if(typeof r==\"string\")r={mode:parseInt(r,8),fs:rl};else throw new TypeError(\"invalid options argument\");return r.mkdir=r.mkdir||r.fs.mkdir||rl.mkdir,r.mkdirAsync=A7(r.mkdir),r.stat=r.stat||r.fs.stat||rl.stat,r.statAsync=A7(r.stat),r.statSync=r.statSync||r.fs.statSync||rl.statSync,r.mkdirSync=r.mkdirSync||r.fs.mkdirSync||rl.mkdirSync,r};l7.exports=zRe});var g7=w(($st,u7)=>{var VRe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:XRe,parse:_Re}=J(\"path\"),ZRe=r=>{if(/\\0/.test(r))throw Object.assign(new TypeError(\"path must be a string without null bytes\"),{path:r,code:\"ERR_INVALID_ARG_VALUE\"});if(r=XRe(r),VRe===\"win32\"){let e=/[*|\"<>?:]/,{root:t}=_Re(r);if(e.test(r.substr(t.length)))throw Object.assign(new Error(\"Illegal characters in path.\"),{path:r,code:\"EINVAL\"})}return r};u7.exports=ZRe});var C7=w((eot,d7)=>{var{dirname:f7}=J(\"path\"),h7=(r,e,t=void 0)=>t===e?Promise.resolve():r.statAsync(e).then(i=>i.isDirectory()?t:void 0,i=>i.code===\"ENOENT\"?h7(r,f7(e),e):void 0),p7=(r,e,t=void 0)=>{if(t!==e)try{return r.statSync(e).isDirectory()?t:void 0}catch(i){return i.code===\"ENOENT\"?p7(r,f7(e),e):void 0}};d7.exports={findMade:h7,findMadeSync:p7}});var MF=w((tot,E7)=>{var{dirname:m7}=J(\"path\"),TF=(r,e,t)=>{e.recursive=!1;let i=m7(r);return i===r?e.mkdirAsync(r,e).catch(n=>{if(n.code!==\"EISDIR\")throw n}):e.mkdirAsync(r,e).then(()=>t||r,n=>{if(n.code===\"ENOENT\")return TF(i,e).then(s=>TF(r,e,s));if(n.code!==\"EEXIST\"&&n.code!==\"EROFS\")throw n;return e.statAsync(r).then(s=>{if(s.isDirectory())return t;throw n},()=>{throw n})})},OF=(r,e,t)=>{let i=m7(r);if(e.recursive=!1,i===r)try{return e.mkdirSync(r,e)}catch(n){if(n.code!==\"EISDIR\")throw n;return}try{return e.mkdirSync(r,e),t||r}catch(n){if(n.code===\"ENOENT\")return OF(r,e,OF(i,e,t));if(n.code!==\"EEXIST\"&&n.code!==\"EROFS\")throw n;try{if(!e.statSync(r).isDirectory())throw n}catch{throw n}}};E7.exports={mkdirpManual:TF,mkdirpManualSync:OF}});var w7=w((rot,y7)=>{var{dirname:I7}=J(\"path\"),{findMade:$Re,findMadeSync:eFe}=C7(),{mkdirpManual:tFe,mkdirpManualSync:rFe}=MF(),iFe=(r,e)=>(e.recursive=!0,I7(r)===r?e.mkdirAsync(r,e):$Re(e,r).then(i=>e.mkdirAsync(r,e).then(()=>i).catch(n=>{if(n.code===\"ENOENT\")return tFe(r,e);throw n}))),nFe=(r,e)=>{if(e.recursive=!0,I7(r)===r)return e.mkdirSync(r,e);let i=eFe(e,r);try{return e.mkdirSync(r,e),i}catch(n){if(n.code===\"ENOENT\")return rFe(r,e);throw n}};y7.exports={mkdirpNative:iFe,mkdirpNativeSync:nFe}});var S7=w((iot,b7)=>{var B7=J(\"fs\"),sFe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,KF=sFe.replace(/^v/,\"\").split(\".\"),Q7=+KF[0]>10||+KF[0]==10&&+KF[1]>=12,oFe=Q7?r=>r.mkdir===B7.mkdir:()=>!1,aFe=Q7?r=>r.mkdirSync===B7.mkdirSync:()=>!1;b7.exports={useNative:oFe,useNativeSync:aFe}});var R7=w((not,k7)=>{var th=c7(),rh=g7(),{mkdirpNative:v7,mkdirpNativeSync:x7}=w7(),{mkdirpManual:P7,mkdirpManualSync:D7}=MF(),{useNative:AFe,useNativeSync:lFe}=S7(),ih=(r,e)=>(r=rh(r),e=th(e),AFe(e)?v7(r,e):P7(r,e)),cFe=(r,e)=>(r=rh(r),e=th(e),lFe(e)?x7(r,e):D7(r,e));ih.sync=cFe;ih.native=(r,e)=>v7(rh(r),th(e));ih.manual=(r,e)=>P7(rh(r),th(e));ih.nativeSync=(r,e)=>x7(rh(r),th(e));ih.manualSync=(r,e)=>D7(rh(r),th(e));k7.exports=ih});var K7=w((sot,M7)=>{\"use strict\";var vs=J(\"fs\"),Kc=J(\"path\"),uFe=vs.lchown?\"lchown\":\"chown\",gFe=vs.lchownSync?\"lchownSync\":\"chownSync\",N7=vs.lchown&&!process.version.match(/v1[1-9]+\\./)&&!process.version.match(/v10\\.[6-9]/),F7=(r,e,t)=>{try{return vs[gFe](r,e,t)}catch(i){if(i.code!==\"ENOENT\")throw i}},fFe=(r,e,t)=>{try{return vs.chownSync(r,e,t)}catch(i){if(i.code!==\"ENOENT\")throw i}},hFe=N7?(r,e,t,i)=>n=>{!n||n.code!==\"EISDIR\"?i(n):vs.chown(r,e,t,i)}:(r,e,t,i)=>i,UF=N7?(r,e,t)=>{try{return F7(r,e,t)}catch(i){if(i.code!==\"EISDIR\")throw i;fFe(r,e,t)}}:(r,e,t)=>F7(r,e,t),pFe=process.version,L7=(r,e,t)=>vs.readdir(r,e,t),dFe=(r,e)=>vs.readdirSync(r,e);/^v4\\./.test(pFe)&&(L7=(r,e,t)=>vs.readdir(r,t));var A0=(r,e,t,i)=>{vs[uFe](r,e,t,hFe(r,e,t,n=>{i(n&&n.code!==\"ENOENT\"?n:null)}))},T7=(r,e,t,i,n)=>{if(typeof e==\"string\")return vs.lstat(Kc.resolve(r,e),(s,o)=>{if(s)return n(s.code!==\"ENOENT\"?s:null);o.name=e,T7(r,o,t,i,n)});if(e.isDirectory())HF(Kc.resolve(r,e.name),t,i,s=>{if(s)return n(s);let o=Kc.resolve(r,e.name);A0(o,t,i,n)});else{let s=Kc.resolve(r,e.name);A0(s,t,i,n)}},HF=(r,e,t,i)=>{L7(r,{withFileTypes:!0},(n,s)=>{if(n){if(n.code===\"ENOENT\")return i();if(n.code!==\"ENOTDIR\"&&n.code!==\"ENOTSUP\")return i(n)}if(n||!s.length)return A0(r,e,t,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o===0)return A0(r,e,t,i)}};s.forEach(c=>T7(r,c,e,t,l))})},CFe=(r,e,t,i)=>{if(typeof e==\"string\")try{let n=vs.lstatSync(Kc.resolve(r,e));n.name=e,e=n}catch(n){if(n.code===\"ENOENT\")return;throw n}e.isDirectory()&&O7(Kc.resolve(r,e.name),t,i),UF(Kc.resolve(r,e.name),t,i)},O7=(r,e,t)=>{let i;try{i=dFe(r,{withFileTypes:!0})}catch(n){if(n.code===\"ENOENT\")return;if(n.code===\"ENOTDIR\"||n.code===\"ENOTSUP\")return UF(r,e,t);throw n}return i&&i.length&&i.forEach(n=>CFe(r,n,e,t)),UF(r,e,t)};M7.exports=HF;HF.sync=O7});var Y7=w((Aot,GF)=>{\"use strict\";var U7=R7(),xs=J(\"fs\"),l0=J(\"path\"),H7=K7(),c0=class extends Error{constructor(e,t){super(\"Cannot extract through symbolic link\"),this.path=t,this.symlink=e}get name(){return\"SylinkError\"}},nh=class extends Error{constructor(e,t){super(t+\": Cannot cd into '\"+e+\"'\"),this.path=e,this.code=t}get name(){return\"CwdError\"}},oot=GF.exports=(r,e,t)=>{let i=e.umask,n=e.mode|448,s=(n&i)!==0,o=e.uid,a=e.gid,l=typeof o==\"number\"&&typeof a==\"number\"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=e.cwd,h=(y,B)=>{y?t(y):(g.set(r,!0),B&&l?H7(B,o,a,v=>h(v)):s?xs.chmod(r,n,t):t())};if(g&&g.get(r)===!0)return h();if(r===f)return xs.stat(r,(y,B)=>{(y||!B.isDirectory())&&(y=new nh(r,y&&y.code||\"ENOTDIR\")),h(y)});if(c)return U7(r,{mode:n}).then(y=>h(null,y),h);let C=l0.relative(f,r).split(/\\/|\\\\/);u0(f,C,n,g,u,f,null,h)},u0=(r,e,t,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=r+\"/\"+l;if(i.get(c))return u0(c,e,t,i,n,s,o,a);xs.mkdir(c,t,G7(c,e,t,i,n,s,o,a))},G7=(r,e,t,i,n,s,o,a)=>l=>{if(l){if(l.path&&l0.dirname(l.path)===s&&(l.code===\"ENOTDIR\"||l.code===\"ENOENT\"))return a(new nh(s,l.code));xs.lstat(r,(c,u)=>{if(c)a(c);else if(u.isDirectory())u0(r,e,t,i,n,s,o,a);else if(n)xs.unlink(r,g=>{if(g)return a(g);xs.mkdir(r,t,G7(r,e,t,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new c0(r,r+\"/\"+e.join(\"/\")));a(l)}})}else o=o||r,u0(r,e,t,i,n,s,o,a)},aot=GF.exports.sync=(r,e)=>{let t=e.umask,i=e.mode|448,n=(i&t)!==0,s=e.uid,o=e.gid,a=typeof s==\"number\"&&typeof o==\"number\"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,f=y=>{u.set(r,!0),y&&a&&H7.sync(y,s,o),n&&xs.chmodSync(r,i)};if(u&&u.get(r)===!0)return f();if(r===g){let y=!1,B=\"ENOTDIR\";try{y=xs.statSync(r).isDirectory()}catch(v){B=v.code}finally{if(!y)throw new nh(r,B)}f();return}if(l)return f(U7.sync(r,i));let p=l0.relative(g,r).split(/\\/|\\\\/),C=null;for(let y=p.shift(),B=g;y&&(B+=\"/\"+y);y=p.shift())if(!u.get(B))try{xs.mkdirSync(B,i),C=C||B,u.set(B,!0)}catch(v){if(v.path&&l0.dirname(v.path)===g&&(v.code===\"ENOTDIR\"||v.code===\"ENOENT\"))return new nh(g,v.code);let D=xs.lstatSync(B);if(D.isDirectory()){u.set(B,!0);continue}else if(c){xs.unlinkSync(B),xs.mkdirSync(B,i),C=C||B,u.set(B,!0);continue}else if(D.isSymbolicLink())return new c0(B,B+\"/\"+p.join(\"/\"))}return f(C)}});var J7=w((lot,q7)=>{var j7=J(\"assert\");q7.exports=()=>{let r=new Map,e=new Map,{join:t}=J(\"path\"),i=u=>t(u).split(/[\\\\\\/]/).slice(0,-1).reduce((g,f)=>g.length?g.concat(t(g[g.length-1],f)):[f],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error(\"function does not have any path reservations\");return{paths:g.paths.map(f=>r.get(f)),dirs:[...g.dirs].map(f=>r.get(f))}},o=u=>{let{paths:g,dirs:f}=s(u);return g.every(h=>h[0]===u)&&f.every(h=>h[0]instanceof Set&&h[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:f}=e.get(u),h=new Set;return g.forEach(p=>{let C=r.get(p);j7.equal(C[0],u),C.length===1?r.delete(p):(C.shift(),typeof C[0]==\"function\"?h.add(C[0]):C[0].forEach(y=>h.add(y)))}),f.forEach(p=>{let C=r.get(p);j7(C[0]instanceof Set),C[0].size===1&&C.length===1?r.delete(p):C[0].size===1?(C.shift(),h.add(C[0])):C[0].delete(u)}),n.delete(u),h.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let f=new Set(u.map(h=>i(h)).reduce((h,p)=>h.concat(p)));return e.set(g,{dirs:f,paths:u}),u.forEach(h=>{let p=r.get(h);p?p.push(g):r.set(h,[g])}),f.forEach(h=>{let p=r.get(h);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):r.set(h,[new Set([g])])}),a(g)}}}});var V7=w((cot,z7)=>{var mFe=process.env.__FAKE_PLATFORM__||process.platform,EFe=mFe===\"win32\",IFe=global.__FAKE_TESTING_FS__||J(\"fs\"),{O_CREAT:yFe,O_TRUNC:wFe,O_WRONLY:BFe,UV_FS_O_FILEMAP:W7=0}=IFe.constants,QFe=EFe&&!!W7,bFe=512*1024,SFe=W7|wFe|yFe|BFe;z7.exports=QFe?r=>r<bFe?SFe:\"w\":()=>\"w\"});var ZF=w((hot,aX)=>{\"use strict\";var vFe=J(\"assert\"),uot=J(\"events\").EventEmitter,xFe=TC(),Xt=J(\"fs\"),PFe=$f(),qa=J(\"path\"),_F=Y7(),got=_F.sync,X7=nF(),DFe=J7(),_7=Symbol(\"onEntry\"),qF=Symbol(\"checkFs\"),Z7=Symbol(\"checkFs2\"),JF=Symbol(\"isReusable\"),Ja=Symbol(\"makeFs\"),WF=Symbol(\"file\"),zF=Symbol(\"directory\"),h0=Symbol(\"link\"),$7=Symbol(\"symlink\"),eX=Symbol(\"hardlink\"),tX=Symbol(\"unsupported\"),fot=Symbol(\"unknown\"),rX=Symbol(\"checkPath\"),oh=Symbol(\"mkdir\"),sn=Symbol(\"onError\"),g0=Symbol(\"pending\"),iX=Symbol(\"pend\"),sh=Symbol(\"unpend\"),YF=Symbol(\"ended\"),jF=Symbol(\"maybeClose\"),VF=Symbol(\"skip\"),OC=Symbol(\"doChown\"),MC=Symbol(\"uid\"),KC=Symbol(\"gid\"),sX=J(\"crypto\"),oX=V7(),f0=()=>{throw new Error(\"sync function called cb somehow?!?\")},kFe=(r,e)=>{if(process.platform!==\"win32\")return Xt.unlink(r,e);let t=r+\".DELETE.\"+sX.randomBytes(16).toString(\"hex\");Xt.rename(r,t,i=>{if(i)return e(i);Xt.unlink(t,e)})},RFe=r=>{if(process.platform!==\"win32\")return Xt.unlinkSync(r);let e=r+\".DELETE.\"+sX.randomBytes(16).toString(\"hex\");Xt.renameSync(r,e),Xt.unlinkSync(e)},nX=(r,e,t)=>r===r>>>0?r:e===e>>>0?e:t,UC=class extends xFe{constructor(e){if(e||(e={}),e.ondone=t=>{this[YF]=!0,this[jF]()},super(e),this.reservations=DFe(),this.transform=typeof e.transform==\"function\"?e.transform:null,this.writable=!0,this.readable=!1,this[g0]=0,this[YF]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid==\"number\"||typeof e.gid==\"number\"){if(typeof e.uid!=\"number\"||typeof e.gid!=\"number\")throw new TypeError(\"cannot set owner without number uid and gid\");if(e.preserveOwner)throw new TypeError(\"cannot preserve owner in archive and also set owner explicitly\");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!=\"number\"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform===\"win32\",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=qa.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask==\"number\"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on(\"entry\",t=>this[_7](t))}warn(e,t,i={}){return(e===\"TAR_BAD_ARCHIVE\"||e===\"TAR_ABORT\")&&(i.recoverable=!1),super.warn(e,t,i)}[jF](){this[YF]&&this[g0]===0&&(this.emit(\"prefinish\"),this.emit(\"finish\"),this.emit(\"end\"),this.emit(\"close\"))}[rX](e){if(this.strip){let t=e.path.split(/\\/|\\\\/);if(t.length<this.strip)return!1;if(e.path=t.slice(this.strip).join(\"/\"),e.type===\"Link\"){let i=e.linkpath.split(/\\/|\\\\/);i.length>=this.strip&&(e.linkpath=i.slice(this.strip).join(\"/\"))}}if(!this.preservePaths){let t=e.path;if(t.match(/(^|\\/|\\\\)\\.\\.(\\\\|\\/|$)/))return this.warn(\"TAR_ENTRY_ERROR\",\"path contains '..'\",{entry:e,path:t}),!1;if(qa.win32.isAbsolute(t)){let i=qa.win32.parse(t);e.path=t.substr(i.root.length);let n=i.root;this.warn(\"TAR_ENTRY_INFO\",`stripping ${n} from absolute path`,{entry:e,path:t})}}if(this.win32){let t=qa.win32.parse(e.path);e.path=t.root===\"\"?X7.encode(e.path):t.root+X7.encode(e.path.substr(t.root.length))}return qa.isAbsolute(e.path)?e.absolute=e.path:e.absolute=qa.resolve(this.cwd,e.path),!0}[_7](e){if(!this[rX](e))return e.resume();switch(vFe.equal(typeof e.absolute,\"string\"),e.type){case\"Directory\":case\"GNUDumpDir\":e.mode&&(e.mode=e.mode|448);case\"File\":case\"OldFile\":case\"ContiguousFile\":case\"Link\":case\"SymbolicLink\":return this[qF](e);case\"CharacterDevice\":case\"BlockDevice\":case\"FIFO\":return this[tX](e)}}[sn](e,t){e.name===\"CwdError\"?this.emit(\"error\",e):(this.warn(\"TAR_ENTRY_ERROR\",e,{entry:t}),this[sh](),t.resume())}[oh](e,t,i){_F(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t},i)}[OC](e){return this.forceChown||this.preserveOwner&&(typeof e.uid==\"number\"&&e.uid!==this.processUid||typeof e.gid==\"number\"&&e.gid!==this.processGid)||typeof this.uid==\"number\"&&this.uid!==this.processUid||typeof this.gid==\"number\"&&this.gid!==this.processGid}[MC](e){return nX(this.uid,e.uid,this.processUid)}[KC](e){return nX(this.gid,e.gid,this.processGid)}[WF](e,t){let i=e.mode&4095||this.fmode,n=new PFe.WriteStream(e.absolute,{flags:oX(e.size),mode:i,autoClose:!1});n.on(\"error\",l=>this[sn](l,e));let s=1,o=l=>{if(l)return this[sn](l,e);--s===0&&Xt.close(n.fd,c=>{t(),c?this[sn](c,e):this[sh]()})};n.on(\"finish\",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;Xt.futimes(u,g,f,h=>h?Xt.utimes(c,g,f,p=>o(p&&h)):o())}if(this[OC](e)){s++;let g=this[MC](e),f=this[KC](e);Xt.fchown(u,g,f,h=>h?Xt.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on(\"error\",l=>this[sn](l,e)),e.pipe(a)),a.pipe(n)}[zF](e,t){let i=e.mode&4095||this.dmode;this[oh](e.absolute,i,n=>{if(n)return t(),this[sn](n,e);let s=1,o=a=>{--s===0&&(t(),this[sh](),e.resume())};e.mtime&&!this.noMtime&&(s++,Xt.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[OC](e)&&(s++,Xt.chown(e.absolute,this[MC](e),this[KC](e),o)),o()})}[tX](e){e.unsupported=!0,this.warn(\"TAR_ENTRY_UNSUPPORTED\",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[$7](e,t){this[h0](e,e.linkpath,\"symlink\",t)}[eX](e,t){this[h0](e,qa.resolve(this.cwd,e.linkpath),\"link\",t)}[iX](){this[g0]++}[sh](){this[g0]--,this[jF]()}[VF](e){this[sh](),e.resume()}[JF](e,t){return e.type===\"File\"&&!this.unlink&&t.isFile()&&t.nlink<=1&&process.platform!==\"win32\"}[qF](e){this[iX]();let t=[e.path];e.linkpath&&t.push(e.linkpath),this.reservations.reserve(t,i=>this[Z7](e,i))}[Z7](e,t){this[oh](qa.dirname(e.absolute),this.dmode,i=>{if(i)return t(),this[sn](i,e);Xt.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[VF](e),t()):n||this[JF](e,s)?this[Ja](null,e,t):s.isDirectory()?e.type===\"Directory\"?!e.mode||(s.mode&4095)===e.mode?this[Ja](null,e,t):Xt.chmod(e.absolute,e.mode,o=>this[Ja](o,e,t)):Xt.rmdir(e.absolute,o=>this[Ja](o,e,t)):kFe(e.absolute,o=>this[Ja](o,e,t))})})}[Ja](e,t,i){if(e)return this[sn](e,t);switch(t.type){case\"File\":case\"OldFile\":case\"ContiguousFile\":return this[WF](t,i);case\"Link\":return this[eX](t,i);case\"SymbolicLink\":return this[$7](t,i);case\"Directory\":case\"GNUDumpDir\":return this[zF](t,i)}}[h0](e,t,i,n){Xt[i](t,e.absolute,s=>{if(s)return this[sn](s,e);n(),this[sh](),e.resume()})}},XF=class extends UC{constructor(e){super(e)}[qF](e){let t=this[oh](qa.dirname(e.absolute),this.dmode,f0);if(t)return this[sn](t,e);try{let i=Xt.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[VF](e);if(this[JF](e,i))return this[Ja](null,e,f0);try{return i.isDirectory()?e.type===\"Directory\"?e.mode&&(i.mode&4095)!==e.mode&&Xt.chmodSync(e.absolute,e.mode):Xt.rmdirSync(e.absolute):RFe(e.absolute),this[Ja](null,e,f0)}catch(n){return this[sn](n,e)}}catch{return this[Ja](null,e,f0)}}[WF](e,t){let i=e.mode&4095||this.fmode,n=l=>{let c;try{Xt.closeSync(o)}catch(u){c=u}(l||c)&&this[sn](l||c,e)},s,o;try{o=Xt.openSync(e.absolute,oX(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on(\"error\",l=>this[sn](l,e)),e.pipe(a)),a.on(\"data\",l=>{try{Xt.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on(\"end\",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{Xt.futimesSync(o,u,g)}catch(f){try{Xt.utimesSync(e.absolute,u,g)}catch{c=f}}}if(this[OC](e)){let u=this[MC](e),g=this[KC](e);try{Xt.fchownSync(o,u,g)}catch(f){try{Xt.chownSync(e.absolute,u,g)}catch{c=c||f}}}n(c)})}[zF](e,t){let i=e.mode&4095||this.dmode,n=this[oh](e.absolute,i);if(n)return this[sn](n,e);if(e.mtime&&!this.noMtime)try{Xt.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[OC](e))try{Xt.chownSync(e.absolute,this[MC](e),this[KC](e))}catch{}e.resume()}[oh](e,t){try{return _F.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t})}catch(i){return i}}[h0](e,t,i,n){try{Xt[i+\"Sync\"](t,e.absolute),e.resume()}catch(s){return this[sn](s,e)}}};UC.Sync=XF;aX.exports=UC});var gX=w((dot,uX)=>{\"use strict\";var FFe=Uf(),p0=ZF(),lX=J(\"fs\"),cX=$f(),AX=J(\"path\"),pot=uX.exports=(r,e,t)=>{typeof r==\"function\"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e==\"function\"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=FFe(r);if(i.sync&&typeof t==\"function\")throw new TypeError(\"callback not supported for sync tar functions\");if(!i.file&&typeof t==\"function\")throw new TypeError(\"callback only supported with file option\");return e.length&&NFe(i,e),i.file&&i.sync?LFe(i):i.file?TFe(i,t):i.sync?OFe(i):MFe(i)},NFe=(r,e)=>{let t=new Map(e.map(s=>[s.replace(/\\/+$/,\"\"),!0])),i=r.filter,n=(s,o)=>{let a=o||AX.parse(s).root||\".\",l=s===a?!1:t.has(s)?t.get(s):n(AX.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\\/+$/,\"\")):s=>n(s.replace(/\\/+$/,\"\"))},LFe=r=>{let e=new p0.Sync(r),t=r.file,i=!0,n,s=lX.statSync(t),o=r.maxReadSize||16*1024*1024;new cX.ReadStreamSync(t,{readSize:o,size:s.size}).pipe(e)},TFe=(r,e)=>{let t=new p0(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on(\"error\",a),t.on(\"close\",o),lX.stat(n,(l,c)=>{if(l)a(l);else{let u=new cX.ReadStream(n,{readSize:i,size:c.size});u.on(\"error\",a),u.pipe(t)}})});return e?s.then(e,e):s},OFe=r=>new p0.Sync(r),MFe=r=>new p0(r)});var fX=w(ci=>{\"use strict\";ci.c=ci.create=Z9();ci.r=ci.replace=LF();ci.t=ci.list=o0();ci.u=ci.update=a7();ci.x=ci.extract=gX();ci.Pack=JB();ci.Unpack=ZF();ci.Parse=TC();ci.ReadEntry=PC();ci.WriteEntry=gF();ci.Header=qf();ci.Pax=kB();ci.types=xC()});var CX=w((Eot,dX)=>{var $F;dX.exports.getContent=()=>(typeof $F>\"u\"&&($F=J(\"zlib\").brotliDecompressSync(Buffer.from(\"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\",\"base64\")).toString()),$F)});var BX=w((eN,wX)=>{(function(r,e){typeof eN==\"object\"?wX.exports=e():typeof define==\"function\"&&define.amd?define(e):r.treeify=e()})(eN,function(){function r(n,s){var o=s?\"\\u2514\":\"\\u251C\";return n?o+=\"\\u2500 \":o+=\"\\u2500\\u2500\\u2510\",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]==\"function\"||o.push(a);return o}function t(n,s,o,a,l,c,u){var g=\"\",f=0,h,p,C=a.slice(0);if(C.push([s,o])&&a.length>0&&(a.forEach(function(B,v){v>0&&(g+=(B[1]?\" \":\"\\u2502\")+\"  \"),!p&&B[0]===s&&(p=!0)}),g+=r(n,o)+n,l&&(typeof s!=\"object\"||s instanceof Date)&&(g+=\": \"+s),p&&(g+=\" (circular ref.)\"),u(g)),!p&&typeof s==\"object\"){var y=e(s,c);y.forEach(function(B){h=++f===y.length,t(B,s[B],h,C,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!=\"function\"?o:!1;t(\".\",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a=\"\";return t(\".\",n,!1,[],s,o,function(l){a+=l+`\n`}),a},i})});var E0=w((Got,FX)=>{var rNe=ws(),iNe=tC(),nNe=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,sNe=/^\\w*$/;function oNe(r,e){if(rNe(r))return!1;var t=typeof r;return t==\"number\"||t==\"symbol\"||t==\"boolean\"||r==null||iNe(r)?!0:sNe.test(r)||!nNe.test(r)||e!=null&&r in Object(e)}FX.exports=oNe});var I0=w((Yot,NX)=>{var aNe=Ic(),ANe=bn(),lNe=\"[object AsyncFunction]\",cNe=\"[object Function]\",uNe=\"[object GeneratorFunction]\",gNe=\"[object Proxy]\";function fNe(r){if(!ANe(r))return!1;var e=aNe(r);return e==cNe||e==uNe||e==lNe||e==gNe}NX.exports=fNe});var TX=w((jot,LX)=>{var hNe=ds(),pNe=hNe[\"__core-js_shared__\"];LX.exports=pNe});var KX=w((qot,MX)=>{var AN=TX(),OX=function(){var r=/[^.]+$/.exec(AN&&AN.keys&&AN.keys.IE_PROTO||\"\");return r?\"Symbol(src)_1.\"+r:\"\"}();function dNe(r){return!!OX&&OX in r}MX.exports=dNe});var lN=w((Jot,UX)=>{var CNe=Function.prototype,mNe=CNe.toString;function ENe(r){if(r!=null){try{return mNe.call(r)}catch{}try{return r+\"\"}catch{}}return\"\"}UX.exports=ENe});var GX=w((Wot,HX)=>{var INe=I0(),yNe=KX(),wNe=bn(),BNe=lN(),QNe=/[\\\\^$.*+?()[\\]{}|]/g,bNe=/^\\[object .+?Constructor\\]$/,SNe=Function.prototype,vNe=Object.prototype,xNe=SNe.toString,PNe=vNe.hasOwnProperty,DNe=RegExp(\"^\"+xNe.call(PNe).replace(QNe,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");function kNe(r){if(!wNe(r)||yNe(r))return!1;var e=INe(r)?DNe:bNe;return e.test(BNe(r))}HX.exports=kNe});var jX=w((zot,YX)=>{function RNe(r,e){return r==null?void 0:r[e]}YX.exports=RNe});var nl=w((Vot,qX)=>{var FNe=GX(),NNe=jX();function LNe(r,e){var t=NNe(r,e);return FNe(t)?t:void 0}qX.exports=LNe});var GC=w((Xot,JX)=>{var TNe=nl(),ONe=TNe(Object,\"create\");JX.exports=ONe});var VX=w((_ot,zX)=>{var WX=GC();function MNe(){this.__data__=WX?WX(null):{},this.size=0}zX.exports=MNe});var _X=w((Zot,XX)=>{function KNe(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}XX.exports=KNe});var $X=w(($ot,ZX)=>{var UNe=GC(),HNe=\"__lodash_hash_undefined__\",GNe=Object.prototype,YNe=GNe.hasOwnProperty;function jNe(r){var e=this.__data__;if(UNe){var t=e[r];return t===HNe?void 0:t}return YNe.call(e,r)?e[r]:void 0}ZX.exports=jNe});var t_=w((eat,e_)=>{var qNe=GC(),JNe=Object.prototype,WNe=JNe.hasOwnProperty;function zNe(r){var e=this.__data__;return qNe?e[r]!==void 0:WNe.call(e,r)}e_.exports=zNe});var i_=w((tat,r_)=>{var VNe=GC(),XNe=\"__lodash_hash_undefined__\";function _Ne(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=VNe&&e===void 0?XNe:e,this}r_.exports=_Ne});var s_=w((rat,n_)=>{var ZNe=VX(),$Ne=_X(),eLe=$X(),tLe=t_(),rLe=i_();function ah(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}ah.prototype.clear=ZNe;ah.prototype.delete=$Ne;ah.prototype.get=eLe;ah.prototype.has=tLe;ah.prototype.set=rLe;n_.exports=ah});var a_=w((iat,o_)=>{function iLe(){this.__data__=[],this.size=0}o_.exports=iLe});var Ah=w((nat,A_)=>{function nLe(r,e){return r===e||r!==r&&e!==e}A_.exports=nLe});var YC=w((sat,l_)=>{var sLe=Ah();function oLe(r,e){for(var t=r.length;t--;)if(sLe(r[t][0],e))return t;return-1}l_.exports=oLe});var u_=w((oat,c_)=>{var aLe=YC(),ALe=Array.prototype,lLe=ALe.splice;function cLe(r){var e=this.__data__,t=aLe(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():lLe.call(e,t,1),--this.size,!0}c_.exports=cLe});var f_=w((aat,g_)=>{var uLe=YC();function gLe(r){var e=this.__data__,t=uLe(e,r);return t<0?void 0:e[t][1]}g_.exports=gLe});var p_=w((Aat,h_)=>{var fLe=YC();function hLe(r){return fLe(this.__data__,r)>-1}h_.exports=hLe});var C_=w((lat,d_)=>{var pLe=YC();function dLe(r,e){var t=this.__data__,i=pLe(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}d_.exports=dLe});var jC=w((cat,m_)=>{var CLe=a_(),mLe=u_(),ELe=f_(),ILe=p_(),yLe=C_();function lh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}lh.prototype.clear=CLe;lh.prototype.delete=mLe;lh.prototype.get=ELe;lh.prototype.has=ILe;lh.prototype.set=yLe;m_.exports=lh});var y0=w((uat,E_)=>{var wLe=nl(),BLe=ds(),QLe=wLe(BLe,\"Map\");E_.exports=QLe});var w_=w((gat,y_)=>{var I_=s_(),bLe=jC(),SLe=y0();function vLe(){this.size=0,this.__data__={hash:new I_,map:new(SLe||bLe),string:new I_}}y_.exports=vLe});var Q_=w((fat,B_)=>{function xLe(r){var e=typeof r;return e==\"string\"||e==\"number\"||e==\"symbol\"||e==\"boolean\"?r!==\"__proto__\":r===null}B_.exports=xLe});var qC=w((hat,b_)=>{var PLe=Q_();function DLe(r,e){var t=r.__data__;return PLe(e)?t[typeof e==\"string\"?\"string\":\"hash\"]:t.map}b_.exports=DLe});var v_=w((pat,S_)=>{var kLe=qC();function RLe(r){var e=kLe(this,r).delete(r);return this.size-=e?1:0,e}S_.exports=RLe});var P_=w((dat,x_)=>{var FLe=qC();function NLe(r){return FLe(this,r).get(r)}x_.exports=NLe});var k_=w((Cat,D_)=>{var LLe=qC();function TLe(r){return LLe(this,r).has(r)}D_.exports=TLe});var F_=w((mat,R_)=>{var OLe=qC();function MLe(r,e){var t=OLe(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}R_.exports=MLe});var w0=w((Eat,N_)=>{var KLe=w_(),ULe=v_(),HLe=P_(),GLe=k_(),YLe=F_();function ch(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}ch.prototype.clear=KLe;ch.prototype.delete=ULe;ch.prototype.get=HLe;ch.prototype.has=GLe;ch.prototype.set=YLe;N_.exports=ch});var O_=w((Iat,T_)=>{var L_=w0(),jLe=\"Expected a function\";function cN(r,e){if(typeof r!=\"function\"||e!=null&&typeof e!=\"function\")throw new TypeError(jLe);var t=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=t.cache;if(s.has(n))return s.get(n);var o=r.apply(this,i);return t.cache=s.set(n,o)||s,o};return t.cache=new(cN.Cache||L_),t}cN.Cache=L_;T_.exports=cN});var K_=w((yat,M_)=>{var qLe=O_(),JLe=500;function WLe(r){var e=qLe(r,function(i){return t.size===JLe&&t.clear(),i}),t=e.cache;return e}M_.exports=WLe});var H_=w((wat,U_)=>{var zLe=K_(),VLe=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,XLe=/\\\\(\\\\)?/g,_Le=zLe(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(\"\"),r.replace(VLe,function(t,i,n,s){e.push(n?s.replace(XLe,\"$1\"):i||t)}),e});U_.exports=_Le});var uh=w((Bat,G_)=>{var ZLe=ws(),$Le=E0(),eTe=H_(),tTe=Kf();function rTe(r,e){return ZLe(r)?r:$Le(r,e)?[r]:eTe(tTe(r))}G_.exports=rTe});var Uc=w((Qat,Y_)=>{var iTe=tC(),nTe=1/0;function sTe(r){if(typeof r==\"string\"||iTe(r))return r;var e=r+\"\";return e==\"0\"&&1/r==-nTe?\"-0\":e}Y_.exports=sTe});var JC=w((bat,j_)=>{var oTe=uh(),aTe=Uc();function ATe(r,e){e=oTe(e,r);for(var t=0,i=e.length;r!=null&&t<i;)r=r[aTe(e[t++])];return t&&t==i?r:void 0}j_.exports=ATe});var uN=w((Sat,q_)=>{var lTe=nl(),cTe=function(){try{var r=lTe(Object,\"defineProperty\");return r({},\"\",{}),r}catch{}}();q_.exports=cTe});var gh=w((vat,W_)=>{var J_=uN();function uTe(r,e,t){e==\"__proto__\"&&J_?J_(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}W_.exports=uTe});var B0=w((xat,z_)=>{var gTe=gh(),fTe=Ah(),hTe=Object.prototype,pTe=hTe.hasOwnProperty;function dTe(r,e,t){var i=r[e];(!(pTe.call(r,e)&&fTe(i,t))||t===void 0&&!(e in r))&&gTe(r,e,t)}z_.exports=dTe});var WC=w((Pat,V_)=>{var CTe=9007199254740991,mTe=/^(?:0|[1-9]\\d*)$/;function ETe(r,e){var t=typeof r;return e=e==null?CTe:e,!!e&&(t==\"number\"||t!=\"symbol\"&&mTe.test(r))&&r>-1&&r%1==0&&r<e}V_.exports=ETe});var gN=w((Dat,__)=>{var ITe=B0(),yTe=uh(),wTe=WC(),X_=bn(),BTe=Uc();function QTe(r,e,t,i){if(!X_(r))return r;e=yTe(e,r);for(var n=-1,s=e.length,o=s-1,a=r;a!=null&&++n<s;){var l=BTe(e[n]),c=t;if(l===\"__proto__\"||l===\"constructor\"||l===\"prototype\")return r;if(n!=o){var u=a[l];c=i?i(u,l,a):void 0,c===void 0&&(c=X_(u)?u:wTe(e[n+1])?[]:{})}ITe(a,l,c),a=a[l]}return r}__.exports=QTe});var $_=w((kat,Z_)=>{var bTe=JC(),STe=gN(),vTe=uh();function xTe(r,e,t){for(var i=-1,n=e.length,s={};++i<n;){var o=e[i],a=bTe(r,o);t(a,o)&&STe(s,vTe(o,r),a)}return s}Z_.exports=xTe});var tZ=w((Rat,eZ)=>{function PTe(r,e){return r!=null&&e in Object(r)}eZ.exports=PTe});var iZ=w((Fat,rZ)=>{var DTe=Ic(),kTe=Go(),RTe=\"[object Arguments]\";function FTe(r){return kTe(r)&&DTe(r)==RTe}rZ.exports=FTe});var zC=w((Nat,oZ)=>{var nZ=iZ(),NTe=Go(),sZ=Object.prototype,LTe=sZ.hasOwnProperty,TTe=sZ.propertyIsEnumerable,OTe=nZ(function(){return arguments}())?nZ:function(r){return NTe(r)&&LTe.call(r,\"callee\")&&!TTe.call(r,\"callee\")};oZ.exports=OTe});var Q0=w((Lat,aZ)=>{var MTe=9007199254740991;function KTe(r){return typeof r==\"number\"&&r>-1&&r%1==0&&r<=MTe}aZ.exports=KTe});var fN=w((Tat,AZ)=>{var UTe=uh(),HTe=zC(),GTe=ws(),YTe=WC(),jTe=Q0(),qTe=Uc();function JTe(r,e,t){e=UTe(e,r);for(var i=-1,n=e.length,s=!1;++i<n;){var o=qTe(e[i]);if(!(s=r!=null&&t(r,o)))break;r=r[o]}return s||++i!=n?s:(n=r==null?0:r.length,!!n&&jTe(n)&&YTe(o,n)&&(GTe(r)||HTe(r)))}AZ.exports=JTe});var hN=w((Oat,lZ)=>{var WTe=tZ(),zTe=fN();function VTe(r,e){return r!=null&&zTe(r,e,WTe)}lZ.exports=VTe});var uZ=w((Mat,cZ)=>{var XTe=$_(),_Te=hN();function ZTe(r,e){return XTe(r,e,function(t,i){return _Te(r,i)})}cZ.exports=ZTe});var b0=w((Kat,gZ)=>{function $Te(r,e){for(var t=-1,i=e.length,n=r.length;++t<i;)r[n+t]=e[t];return r}gZ.exports=$Te});var dZ=w((Uat,pZ)=>{var fZ=Ec(),eOe=zC(),tOe=ws(),hZ=fZ?fZ.isConcatSpreadable:void 0;function rOe(r){return tOe(r)||eOe(r)||!!(hZ&&r&&r[hZ])}pZ.exports=rOe});var EZ=w((Hat,mZ)=>{var iOe=b0(),nOe=dZ();function CZ(r,e,t,i,n){var s=-1,o=r.length;for(t||(t=nOe),n||(n=[]);++s<o;){var a=r[s];e>0&&t(a)?e>1?CZ(a,e-1,t,i,n):iOe(n,a):i||(n[n.length]=a)}return n}mZ.exports=CZ});var yZ=w((Gat,IZ)=>{var sOe=EZ();function oOe(r){var e=r==null?0:r.length;return e?sOe(r,1):[]}IZ.exports=oOe});var BZ=w((Yat,wZ)=>{function aOe(r,e,t){switch(t.length){case 0:return r.call(e);case 1:return r.call(e,t[0]);case 2:return r.call(e,t[0],t[1]);case 3:return r.call(e,t[0],t[1],t[2])}return r.apply(e,t)}wZ.exports=aOe});var pN=w((jat,bZ)=>{var AOe=BZ(),QZ=Math.max;function lOe(r,e,t){return e=QZ(e===void 0?r.length-1:e,0),function(){for(var i=arguments,n=-1,s=QZ(i.length-e,0),o=Array(s);++n<s;)o[n]=i[e+n];n=-1;for(var a=Array(e+1);++n<e;)a[n]=i[n];return a[e]=t(o),AOe(r,this,a)}}bZ.exports=lOe});var vZ=w((qat,SZ)=>{function cOe(r){return function(){return r}}SZ.exports=cOe});var S0=w((Jat,xZ)=>{function uOe(r){return r}xZ.exports=uOe});var kZ=w((Wat,DZ)=>{var gOe=vZ(),PZ=uN(),fOe=S0(),hOe=PZ?function(r,e){return PZ(r,\"toString\",{configurable:!0,enumerable:!1,value:gOe(e),writable:!0})}:fOe;DZ.exports=hOe});var FZ=w((zat,RZ)=>{var pOe=800,dOe=16,COe=Date.now;function mOe(r){var e=0,t=0;return function(){var i=COe(),n=dOe-(i-t);if(t=i,n>0){if(++e>=pOe)return arguments[0]}else e=0;return r.apply(void 0,arguments)}}RZ.exports=mOe});var dN=w((Vat,NZ)=>{var EOe=kZ(),IOe=FZ(),yOe=IOe(EOe);NZ.exports=yOe});var TZ=w((Xat,LZ)=>{var wOe=yZ(),BOe=pN(),QOe=dN();function bOe(r){return QOe(BOe(r,void 0,wOe),r+\"\")}LZ.exports=bOe});var MZ=w((_at,OZ)=>{var SOe=uZ(),vOe=TZ(),xOe=vOe(function(r,e){return r==null?{}:SOe(r,e)});OZ.exports=xOe});var XZ=w((Ilt,VZ)=>{\"use strict\";var BN;try{BN=Map}catch{}var QN;try{QN=Set}catch{}function WZ(r,e,t){if(!r||typeof r!=\"object\"||typeof r==\"function\")return r;if(r.nodeType&&\"cloneNode\"in r)return r.cloneNode(!0);if(r instanceof Date)return new Date(r.getTime());if(r instanceof RegExp)return new RegExp(r);if(Array.isArray(r))return r.map(zZ);if(BN&&r instanceof BN)return new Map(Array.from(r.entries()));if(QN&&r instanceof QN)return new Set(Array.from(r.values()));if(r instanceof Object){e.push(r);var i=Object.create(r);t.push(i);for(var n in r){var s=e.findIndex(function(o){return o===r[n]});i[n]=s>-1?t[s]:WZ(r[n],e,t)}return i}return r}function zZ(r){return WZ(r,[],[])}VZ.exports=zZ});var XC=w(bN=>{\"use strict\";Object.defineProperty(bN,\"__esModule\",{value:!0});bN.default=YOe;var OOe=Object.prototype.toString,MOe=Error.prototype.toString,KOe=RegExp.prototype.toString,UOe=typeof Symbol<\"u\"?Symbol.prototype.toString:()=>\"\",HOe=/^Symbol\\((.*)\\)(.*)$/;function GOe(r){return r!=+r?\"NaN\":r===0&&1/r<0?\"-0\":\"\"+r}function _Z(r,e=!1){if(r==null||r===!0||r===!1)return\"\"+r;let t=typeof r;if(t===\"number\")return GOe(r);if(t===\"string\")return e?`\"${r}\"`:r;if(t===\"function\")return\"[Function \"+(r.name||\"anonymous\")+\"]\";if(t===\"symbol\")return UOe.call(r).replace(HOe,\"Symbol($1)\");let i=OOe.call(r).slice(8,-1);return i===\"Date\"?isNaN(r.getTime())?\"\"+r:r.toISOString(r):i===\"Error\"||r instanceof Error?\"[\"+MOe.call(r)+\"]\":i===\"RegExp\"?KOe.call(r):null}function YOe(r,e){let t=_Z(r,e);return t!==null?t:JSON.stringify(r,function(i,n){let s=_Z(this[i],e);return s!==null?s:n},2)}});var za=w(mi=>{\"use strict\";Object.defineProperty(mi,\"__esModule\",{value:!0});mi.default=mi.array=mi.object=mi.boolean=mi.date=mi.number=mi.string=mi.mixed=void 0;var ZZ=jOe(XC());function jOe(r){return r&&r.__esModule?r:{default:r}}var $Z={default:\"${path} is invalid\",required:\"${path} is a required field\",oneOf:\"${path} must be one of the following values: ${values}\",notOneOf:\"${path} must not be one of the following values: ${values}\",notType:({path:r,type:e,value:t,originalValue:i})=>{let n=i!=null&&i!==t,s=`${r} must be a \\`${e}\\` type, but the final value was: \\`${(0,ZZ.default)(t,!0)}\\``+(n?` (cast from the value \\`${(0,ZZ.default)(i,!0)}\\`).`:\".\");return t===null&&(s+='\\n If \"null\" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:\"${path} must be defined\"};mi.mixed=$Z;var e$={length:\"${path} must be exactly ${length} characters\",min:\"${path} must be at least ${min} characters\",max:\"${path} must be at most ${max} characters\",matches:'${path} must match the following: \"${regex}\"',email:\"${path} must be a valid email\",url:\"${path} must be a valid URL\",uuid:\"${path} must be a valid UUID\",trim:\"${path} must be a trimmed string\",lowercase:\"${path} must be a lowercase string\",uppercase:\"${path} must be a upper case string\"};mi.string=e$;var t$={min:\"${path} must be greater than or equal to ${min}\",max:\"${path} must be less than or equal to ${max}\",lessThan:\"${path} must be less than ${less}\",moreThan:\"${path} must be greater than ${more}\",positive:\"${path} must be a positive number\",negative:\"${path} must be a negative number\",integer:\"${path} must be an integer\"};mi.number=t$;var r$={min:\"${path} field must be later than ${min}\",max:\"${path} field must be at earlier than ${max}\"};mi.date=r$;var i$={isValue:\"${path} field must be ${value}\"};mi.boolean=i$;var n$={noUnknown:\"${path} field has unspecified keys: ${unknown}\"};mi.object=n$;var s$={min:\"${path} field must have at least ${min} items\",max:\"${path} field must have less than or equal to ${max} items\",length:\"${path} must be have ${length} items\"};mi.array=s$;var qOe=Object.assign(Object.create(null),{mixed:$Z,string:e$,number:t$,date:r$,object:n$,array:s$,boolean:i$});mi.default=qOe});var a$=w((Blt,o$)=>{var JOe=Object.prototype,WOe=JOe.hasOwnProperty;function zOe(r,e){return r!=null&&WOe.call(r,e)}o$.exports=zOe});var _C=w((Qlt,A$)=>{var VOe=a$(),XOe=fN();function _Oe(r,e){return r!=null&&XOe(r,e,VOe)}A$.exports=_Oe});var dh=w(F0=>{\"use strict\";Object.defineProperty(F0,\"__esModule\",{value:!0});F0.default=void 0;var ZOe=r=>r&&r.__isYupSchema__;F0.default=ZOe});var c$=w(N0=>{\"use strict\";Object.defineProperty(N0,\"__esModule\",{value:!0});N0.default=void 0;var $Oe=l$(_C()),eMe=l$(dh());function l$(r){return r&&r.__esModule?r:{default:r}}var SN=class{constructor(e,t){if(this.refs=e,this.refs=e,typeof t==\"function\"){this.fn=t;return}if(!(0,$Oe.default)(t,\"is\"))throw new TypeError(\"`is:` is required for `when()` conditions\");if(!t.then&&!t.otherwise)throw new TypeError(\"either `then:` or `otherwise:` is required for `when()` conditions\");let{is:i,then:n,otherwise:s}=t,o=typeof i==\"function\"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u==\"function\"?u(c):c.concat(u.resolve(l))}}resolve(e,t){let i=this.refs.map(s=>s.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),n=this.fn.apply(e,i.concat(e,t));if(n===void 0||n===e)return e;if(!(0,eMe.default)(n))throw new TypeError(\"conditions must return a schema object\");return n.resolve(t)}},tMe=SN;N0.default=tMe});var xN=w(vN=>{\"use strict\";Object.defineProperty(vN,\"__esModule\",{value:!0});vN.default=rMe;function rMe(r){return r==null?[]:[].concat(r)}});var Hc=w(L0=>{\"use strict\";Object.defineProperty(L0,\"__esModule\",{value:!0});L0.default=void 0;var iMe=u$(XC()),nMe=u$(xN());function u$(r){return r&&r.__esModule?r:{default:r}}function PN(){return PN=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},PN.apply(this,arguments)}var sMe=/\\$\\{\\s*(\\w+)\\s*\\}/g,Ch=class extends Error{static formatError(e,t){let i=t.label||t.path||\"this\";return i!==t.path&&(t=PN({},t,{path:i})),typeof e==\"string\"?e.replace(sMe,(n,s)=>(0,iMe.default)(t[s])):typeof e==\"function\"?e(t):e}static isError(e){return e&&e.name===\"ValidationError\"}constructor(e,t,i,n){super(),this.name=\"ValidationError\",this.value=t,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,nMe.default)(e).forEach(s=>{Ch.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,Ch)}};L0.default=Ch});var T0=w(kN=>{\"use strict\";Object.defineProperty(kN,\"__esModule\",{value:!0});kN.default=AMe;var DN=oMe(Hc());function oMe(r){return r&&r.__esModule?r:{default:r}}var aMe=r=>{let e=!1;return(...t)=>{e||(e=!0,r(...t))}};function AMe(r,e){let{endEarly:t,tests:i,args:n,value:s,errors:o,sort:a,path:l}=r,c=aMe(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new DN.default(o,s,l)):c(null,s);for(let f=0;f<i.length;f++){let h=i[f];h(n,function(C){if(C){if(!DN.default.isError(C))return c(C,s);if(t)return C.value=s,c(C,s);g.push(C)}if(--u<=0){if(g.length&&(a&&g.sort(a),o.length&&g.push(...o),o=g),o.length){c(new DN.default(o,s,l),s);return}c(null,s)}})}}});var f$=w((Dlt,g$)=>{function lMe(r){return function(e,t,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[r?a:++n];if(t(s[l],l,s)===!1)break}return e}}g$.exports=lMe});var RN=w((klt,h$)=>{var cMe=f$(),uMe=cMe();h$.exports=uMe});var d$=w((Rlt,p$)=>{function gMe(r,e){for(var t=-1,i=Array(r);++t<r;)i[t]=e(t);return i}p$.exports=gMe});var m$=w((Flt,C$)=>{function fMe(){return!1}C$.exports=fMe});var $C=w((ZC,mh)=>{var hMe=ds(),pMe=m$(),y$=typeof ZC==\"object\"&&ZC&&!ZC.nodeType&&ZC,E$=y$&&typeof mh==\"object\"&&mh&&!mh.nodeType&&mh,dMe=E$&&E$.exports===y$,I$=dMe?hMe.Buffer:void 0,CMe=I$?I$.isBuffer:void 0,mMe=CMe||pMe;mh.exports=mMe});var B$=w((Nlt,w$)=>{var EMe=Ic(),IMe=Q0(),yMe=Go(),wMe=\"[object Arguments]\",BMe=\"[object Array]\",QMe=\"[object Boolean]\",bMe=\"[object Date]\",SMe=\"[object Error]\",vMe=\"[object Function]\",xMe=\"[object Map]\",PMe=\"[object Number]\",DMe=\"[object Object]\",kMe=\"[object RegExp]\",RMe=\"[object Set]\",FMe=\"[object String]\",NMe=\"[object WeakMap]\",LMe=\"[object ArrayBuffer]\",TMe=\"[object DataView]\",OMe=\"[object Float32Array]\",MMe=\"[object Float64Array]\",KMe=\"[object Int8Array]\",UMe=\"[object Int16Array]\",HMe=\"[object Int32Array]\",GMe=\"[object Uint8Array]\",YMe=\"[object Uint8ClampedArray]\",jMe=\"[object Uint16Array]\",qMe=\"[object Uint32Array]\",Ir={};Ir[OMe]=Ir[MMe]=Ir[KMe]=Ir[UMe]=Ir[HMe]=Ir[GMe]=Ir[YMe]=Ir[jMe]=Ir[qMe]=!0;Ir[wMe]=Ir[BMe]=Ir[LMe]=Ir[QMe]=Ir[TMe]=Ir[bMe]=Ir[SMe]=Ir[vMe]=Ir[xMe]=Ir[PMe]=Ir[DMe]=Ir[kMe]=Ir[RMe]=Ir[FMe]=Ir[NMe]=!1;function JMe(r){return yMe(r)&&IMe(r.length)&&!!Ir[EMe(r)]}w$.exports=JMe});var O0=w((Llt,Q$)=>{function WMe(r){return function(e){return r(e)}}Q$.exports=WMe});var M0=w((em,Eh)=>{var zMe=kD(),b$=typeof em==\"object\"&&em&&!em.nodeType&&em,tm=b$&&typeof Eh==\"object\"&&Eh&&!Eh.nodeType&&Eh,VMe=tm&&tm.exports===b$,FN=VMe&&zMe.process,XMe=function(){try{var r=tm&&tm.require&&tm.require(\"util\").types;return r||FN&&FN.binding&&FN.binding(\"util\")}catch{}}();Eh.exports=XMe});var K0=w((Tlt,x$)=>{var _Me=B$(),ZMe=O0(),S$=M0(),v$=S$&&S$.isTypedArray,$Me=v$?ZMe(v$):_Me;x$.exports=$Me});var NN=w((Olt,P$)=>{var e1e=d$(),t1e=zC(),r1e=ws(),i1e=$C(),n1e=WC(),s1e=K0(),o1e=Object.prototype,a1e=o1e.hasOwnProperty;function A1e(r,e){var t=r1e(r),i=!t&&t1e(r),n=!t&&!i&&i1e(r),s=!t&&!i&&!n&&s1e(r),o=t||i||n||s,a=o?e1e(r.length,String):[],l=a.length;for(var c in r)(e||a1e.call(r,c))&&!(o&&(c==\"length\"||n&&(c==\"offset\"||c==\"parent\")||s&&(c==\"buffer\"||c==\"byteLength\"||c==\"byteOffset\")||n1e(c,l)))&&a.push(c);return a}P$.exports=A1e});var U0=w((Mlt,D$)=>{var l1e=Object.prototype;function c1e(r){var e=r&&r.constructor,t=typeof e==\"function\"&&e.prototype||l1e;return r===t}D$.exports=c1e});var LN=w((Klt,k$)=>{function u1e(r,e){return function(t){return r(e(t))}}k$.exports=u1e});var F$=w((Ult,R$)=>{var g1e=LN(),f1e=g1e(Object.keys,Object);R$.exports=f1e});var L$=w((Hlt,N$)=>{var h1e=U0(),p1e=F$(),d1e=Object.prototype,C1e=d1e.hasOwnProperty;function m1e(r){if(!h1e(r))return p1e(r);var e=[];for(var t in Object(r))C1e.call(r,t)&&t!=\"constructor\"&&e.push(t);return e}N$.exports=m1e});var rm=w((Glt,T$)=>{var E1e=I0(),I1e=Q0();function y1e(r){return r!=null&&I1e(r.length)&&!E1e(r)}T$.exports=y1e});var Ih=w((Ylt,O$)=>{var w1e=NN(),B1e=L$(),Q1e=rm();function b1e(r){return Q1e(r)?w1e(r):B1e(r)}O$.exports=b1e});var TN=w((jlt,M$)=>{var S1e=RN(),v1e=Ih();function x1e(r,e){return r&&S1e(r,e,v1e)}M$.exports=x1e});var U$=w((qlt,K$)=>{var P1e=jC();function D1e(){this.__data__=new P1e,this.size=0}K$.exports=D1e});var G$=w((Jlt,H$)=>{function k1e(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}H$.exports=k1e});var j$=w((Wlt,Y$)=>{function R1e(r){return this.__data__.get(r)}Y$.exports=R1e});var J$=w((zlt,q$)=>{function F1e(r){return this.__data__.has(r)}q$.exports=F1e});var z$=w((Vlt,W$)=>{var N1e=jC(),L1e=y0(),T1e=w0(),O1e=200;function M1e(r,e){var t=this.__data__;if(t instanceof N1e){var i=t.__data__;if(!L1e||i.length<O1e-1)return i.push([r,e]),this.size=++t.size,this;t=this.__data__=new T1e(i)}return t.set(r,e),this.size=t.size,this}W$.exports=M1e});var im=w((Xlt,V$)=>{var K1e=jC(),U1e=U$(),H1e=G$(),G1e=j$(),Y1e=J$(),j1e=z$();function yh(r){var e=this.__data__=new K1e(r);this.size=e.size}yh.prototype.clear=U1e;yh.prototype.delete=H1e;yh.prototype.get=G1e;yh.prototype.has=Y1e;yh.prototype.set=j1e;V$.exports=yh});var _$=w((_lt,X$)=>{var q1e=\"__lodash_hash_undefined__\";function J1e(r){return this.__data__.set(r,q1e),this}X$.exports=J1e});var $$=w((Zlt,Z$)=>{function W1e(r){return this.__data__.has(r)}Z$.exports=W1e});var tee=w(($lt,eee)=>{var z1e=w0(),V1e=_$(),X1e=$$();function H0(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new z1e;++e<t;)this.add(r[e])}H0.prototype.add=H0.prototype.push=V1e;H0.prototype.has=X1e;eee.exports=H0});var iee=w((ect,ree)=>{function _1e(r,e){for(var t=-1,i=r==null?0:r.length;++t<i;)if(e(r[t],t,r))return!0;return!1}ree.exports=_1e});var see=w((tct,nee)=>{function Z1e(r,e){return r.has(e)}nee.exports=Z1e});var ON=w((rct,oee)=>{var $1e=tee(),eKe=iee(),tKe=see(),rKe=1,iKe=2;function nKe(r,e,t,i,n,s){var o=t&rKe,a=r.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(r),u=s.get(e);if(c&&u)return c==e&&u==r;var g=-1,f=!0,h=t&iKe?new $1e:void 0;for(s.set(r,e),s.set(e,r);++g<a;){var p=r[g],C=e[g];if(i)var y=o?i(C,p,g,e,r,s):i(p,C,g,r,e,s);if(y!==void 0){if(y)continue;f=!1;break}if(h){if(!eKe(e,function(B,v){if(!tKe(h,v)&&(p===B||n(p,B,t,i,s)))return h.push(v)})){f=!1;break}}else if(!(p===C||n(p,C,t,i,s))){f=!1;break}}return s.delete(r),s.delete(e),f}oee.exports=nKe});var MN=w((ict,aee)=>{var sKe=ds(),oKe=sKe.Uint8Array;aee.exports=oKe});var lee=w((nct,Aee)=>{function aKe(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}Aee.exports=aKe});var uee=w((sct,cee)=>{function AKe(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}cee.exports=AKe});var dee=w((oct,pee)=>{var gee=Ec(),fee=MN(),lKe=Ah(),cKe=ON(),uKe=lee(),gKe=uee(),fKe=1,hKe=2,pKe=\"[object Boolean]\",dKe=\"[object Date]\",CKe=\"[object Error]\",mKe=\"[object Map]\",EKe=\"[object Number]\",IKe=\"[object RegExp]\",yKe=\"[object Set]\",wKe=\"[object String]\",BKe=\"[object Symbol]\",QKe=\"[object ArrayBuffer]\",bKe=\"[object DataView]\",hee=gee?gee.prototype:void 0,KN=hee?hee.valueOf:void 0;function SKe(r,e,t,i,n,s,o){switch(t){case bKe:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case QKe:return!(r.byteLength!=e.byteLength||!s(new fee(r),new fee(e)));case pKe:case dKe:case EKe:return lKe(+r,+e);case CKe:return r.name==e.name&&r.message==e.message;case IKe:case wKe:return r==e+\"\";case mKe:var a=uKe;case yKe:var l=i&fKe;if(a||(a=gKe),r.size!=e.size&&!l)return!1;var c=o.get(r);if(c)return c==e;i|=hKe,o.set(r,e);var u=cKe(a(r),a(e),i,n,s,o);return o.delete(r),u;case BKe:if(KN)return KN.call(r)==KN.call(e)}return!1}pee.exports=SKe});var UN=w((act,Cee)=>{var vKe=b0(),xKe=ws();function PKe(r,e,t){var i=e(r);return xKe(r)?i:vKe(i,t(r))}Cee.exports=PKe});var Eee=w((Act,mee)=>{function DKe(r,e){for(var t=-1,i=r==null?0:r.length,n=0,s=[];++t<i;){var o=r[t];e(o,t,r)&&(s[n++]=o)}return s}mee.exports=DKe});var HN=w((lct,Iee)=>{function kKe(){return[]}Iee.exports=kKe});var G0=w((cct,wee)=>{var RKe=Eee(),FKe=HN(),NKe=Object.prototype,LKe=NKe.propertyIsEnumerable,yee=Object.getOwnPropertySymbols,TKe=yee?function(r){return r==null?[]:(r=Object(r),RKe(yee(r),function(e){return LKe.call(r,e)}))}:FKe;wee.exports=TKe});var GN=w((uct,Bee)=>{var OKe=UN(),MKe=G0(),KKe=Ih();function UKe(r){return OKe(r,KKe,MKe)}Bee.exports=UKe});var See=w((gct,bee)=>{var Qee=GN(),HKe=1,GKe=Object.prototype,YKe=GKe.hasOwnProperty;function jKe(r,e,t,i,n,s){var o=t&HKe,a=Qee(r),l=a.length,c=Qee(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:YKe.call(e,f)))return!1}var h=s.get(r),p=s.get(e);if(h&&p)return h==e&&p==r;var C=!0;s.set(r,e),s.set(e,r);for(var y=o;++g<l;){f=a[g];var B=r[f],v=e[f];if(i)var D=o?i(v,B,f,e,r,s):i(B,v,f,r,e,s);if(!(D===void 0?B===v||n(B,v,t,i,s):D)){C=!1;break}y||(y=f==\"constructor\")}if(C&&!y){var L=r.constructor,H=e.constructor;L!=H&&\"constructor\"in r&&\"constructor\"in e&&!(typeof L==\"function\"&&L instanceof L&&typeof H==\"function\"&&H instanceof H)&&(C=!1)}return s.delete(r),s.delete(e),C}bee.exports=jKe});var xee=w((fct,vee)=>{var qKe=nl(),JKe=ds(),WKe=qKe(JKe,\"DataView\");vee.exports=WKe});var Dee=w((hct,Pee)=>{var zKe=nl(),VKe=ds(),XKe=zKe(VKe,\"Promise\");Pee.exports=XKe});var Ree=w((pct,kee)=>{var _Ke=nl(),ZKe=ds(),$Ke=_Ke(ZKe,\"Set\");kee.exports=$Ke});var Nee=w((dct,Fee)=>{var eUe=nl(),tUe=ds(),rUe=eUe(tUe,\"WeakMap\");Fee.exports=rUe});var nm=w((Cct,Hee)=>{var YN=xee(),jN=y0(),qN=Dee(),JN=Ree(),WN=Nee(),Uee=Ic(),wh=lN(),Lee=\"[object Map]\",iUe=\"[object Object]\",Tee=\"[object Promise]\",Oee=\"[object Set]\",Mee=\"[object WeakMap]\",Kee=\"[object DataView]\",nUe=wh(YN),sUe=wh(jN),oUe=wh(qN),aUe=wh(JN),AUe=wh(WN),Gc=Uee;(YN&&Gc(new YN(new ArrayBuffer(1)))!=Kee||jN&&Gc(new jN)!=Lee||qN&&Gc(qN.resolve())!=Tee||JN&&Gc(new JN)!=Oee||WN&&Gc(new WN)!=Mee)&&(Gc=function(r){var e=Uee(r),t=e==iUe?r.constructor:void 0,i=t?wh(t):\"\";if(i)switch(i){case nUe:return Kee;case sUe:return Lee;case oUe:return Tee;case aUe:return Oee;case AUe:return Mee}return e});Hee.exports=Gc});var Vee=w((mct,zee)=>{var zN=im(),lUe=ON(),cUe=dee(),uUe=See(),Gee=nm(),Yee=ws(),jee=$C(),gUe=K0(),fUe=1,qee=\"[object Arguments]\",Jee=\"[object Array]\",Y0=\"[object Object]\",hUe=Object.prototype,Wee=hUe.hasOwnProperty;function pUe(r,e,t,i,n,s){var o=Yee(r),a=Yee(e),l=o?Jee:Gee(r),c=a?Jee:Gee(e);l=l==qee?Y0:l,c=c==qee?Y0:c;var u=l==Y0,g=c==Y0,f=l==c;if(f&&jee(r)){if(!jee(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new zN),o||gUe(r)?lUe(r,e,t,i,n,s):cUe(r,e,l,t,i,n,s);if(!(t&fUe)){var h=u&&Wee.call(r,\"__wrapped__\"),p=g&&Wee.call(e,\"__wrapped__\");if(h||p){var C=h?r.value():r,y=p?e.value():e;return s||(s=new zN),n(C,y,t,i,s)}}return f?(s||(s=new zN),uUe(r,e,t,i,n,s)):!1}zee.exports=pUe});var VN=w((Ect,Zee)=>{var dUe=Vee(),Xee=Go();function _ee(r,e,t,i,n){return r===e?!0:r==null||e==null||!Xee(r)&&!Xee(e)?r!==r&&e!==e:dUe(r,e,t,i,_ee,n)}Zee.exports=_ee});var ete=w((Ict,$ee)=>{var CUe=im(),mUe=VN(),EUe=1,IUe=2;function yUe(r,e,t,i){var n=t.length,s=n,o=!i;if(r==null)return!s;for(r=Object(r);n--;){var a=t[n];if(o&&a[2]?a[1]!==r[a[0]]:!(a[0]in r))return!1}for(;++n<s;){a=t[n];var l=a[0],c=r[l],u=a[1];if(o&&a[2]){if(c===void 0&&!(l in r))return!1}else{var g=new CUe;if(i)var f=i(c,u,l,r,e,g);if(!(f===void 0?mUe(u,c,EUe|IUe,i,g):f))return!1}}return!0}$ee.exports=yUe});var XN=w((yct,tte)=>{var wUe=bn();function BUe(r){return r===r&&!wUe(r)}tte.exports=BUe});var ite=w((wct,rte)=>{var QUe=XN(),bUe=Ih();function SUe(r){for(var e=bUe(r),t=e.length;t--;){var i=e[t],n=r[i];e[t]=[i,n,QUe(n)]}return e}rte.exports=SUe});var _N=w((Bct,nte)=>{function vUe(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}nte.exports=vUe});var ote=w((Qct,ste)=>{var xUe=ete(),PUe=ite(),DUe=_N();function kUe(r){var e=PUe(r);return e.length==1&&e[0][2]?DUe(e[0][0],e[0][1]):function(t){return t===r||xUe(t,r,e)}}ste.exports=kUe});var j0=w((bct,ate)=>{var RUe=JC();function FUe(r,e,t){var i=r==null?void 0:RUe(r,e);return i===void 0?t:i}ate.exports=FUe});var lte=w((Sct,Ate)=>{var NUe=VN(),LUe=j0(),TUe=hN(),OUe=E0(),MUe=XN(),KUe=_N(),UUe=Uc(),HUe=1,GUe=2;function YUe(r,e){return OUe(r)&&MUe(e)?KUe(UUe(r),e):function(t){var i=LUe(t,r);return i===void 0&&i===e?TUe(t,r):NUe(e,i,HUe|GUe)}}Ate.exports=YUe});var ute=w((vct,cte)=>{function jUe(r){return function(e){return e==null?void 0:e[r]}}cte.exports=jUe});var fte=w((xct,gte)=>{var qUe=JC();function JUe(r){return function(e){return qUe(e,r)}}gte.exports=JUe});var pte=w((Pct,hte)=>{var WUe=ute(),zUe=fte(),VUe=E0(),XUe=Uc();function _Ue(r){return VUe(r)?WUe(XUe(r)):zUe(r)}hte.exports=_Ue});var ZN=w((Dct,dte)=>{var ZUe=ote(),$Ue=lte(),e2e=S0(),t2e=ws(),r2e=pte();function i2e(r){return typeof r==\"function\"?r:r==null?e2e:typeof r==\"object\"?t2e(r)?$Ue(r[0],r[1]):ZUe(r):r2e(r)}dte.exports=i2e});var $N=w((kct,Cte)=>{var n2e=gh(),s2e=TN(),o2e=ZN();function a2e(r,e){var t={};return e=o2e(e,3),s2e(r,function(i,n,s){n2e(t,n,e(i,n,s))}),t}Cte.exports=a2e});var sm=w((Rct,wte)=>{\"use strict\";function Yc(r){this._maxSize=r,this.clear()}Yc.prototype.clear=function(){this._size=0,this._values=Object.create(null)};Yc.prototype.get=function(r){return this._values[r]};Yc.prototype.set=function(r,e){return this._size>=this._maxSize&&this.clear(),r in this._values||this._size++,this._values[r]=e};var A2e=/[^.^\\]^[]+|(?=\\[\\]|\\.\\.)/g,yte=/^\\d+$/,l2e=/^\\d/,c2e=/[~`!#$%\\^&*+=\\-\\[\\]\\\\';,/{}|\\\\\":<>\\?]/g,u2e=/^\\s*(['\"]?)(.*?)(\\1)\\s*$/,rL=512,mte=new Yc(rL),Ete=new Yc(rL),Ite=new Yc(rL);wte.exports={Cache:Yc,split:tL,normalizePath:eL,setter:function(r){var e=eL(r);return Ete.get(r)||Ete.set(r,function(i,n){for(var s=0,o=e.length,a=i;s<o-1;){var l=e[s];if(l===\"__proto__\"||l===\"constructor\"||l===\"prototype\")return i;a=a[e[s++]]}a[e[s]]=n})},getter:function(r,e){var t=eL(r);return Ite.get(r)||Ite.set(r,function(n){for(var s=0,o=t.length;s<o;)if(n!=null||!e)n=n[t[s++]];else return;return n})},join:function(r){return r.reduce(function(e,t){return e+(iL(t)||yte.test(t)?\"[\"+t+\"]\":(e?\".\":\"\")+t)},\"\")},forEach:function(r,e,t){g2e(Array.isArray(r)?r:tL(r),e,t)}};function eL(r){return mte.get(r)||mte.set(r,tL(r).map(function(e){return e.replace(u2e,\"$2\")}))}function tL(r){return r.match(A2e)}function g2e(r,e,t){var i=r.length,n,s,o,a;for(s=0;s<i;s++)n=r[s],n&&(p2e(n)&&(n='\"'+n+'\"'),a=iL(n),o=!a&&/^\\d+$/.test(n),e.call(t,n,a,o,s,r))}function iL(r){return typeof r==\"string\"&&r&&[\"'\",'\"'].indexOf(r.charAt(0))!==-1}function f2e(r){return r.match(l2e)&&!r.match(yte)}function h2e(r){return c2e.test(r)}function p2e(r){return!iL(r)&&(f2e(r)||h2e(r))}});var jc=w(am=>{\"use strict\";Object.defineProperty(am,\"__esModule\",{value:!0});am.create=C2e;am.default=void 0;var d2e=sm(),q0={context:\"$\",value:\".\"};function C2e(r,e){return new om(r,e)}var om=class{constructor(e,t={}){if(typeof e!=\"string\")throw new TypeError(\"ref must be a string, got: \"+e);if(this.key=e.trim(),e===\"\")throw new TypeError(\"ref must be a non-empty string\");this.isContext=this.key[0]===q0.context,this.isValue=this.key[0]===q0.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?q0.context:this.isValue?q0.value:\"\";this.path=this.key.slice(i.length),this.getter=this.path&&(0,d2e.getter)(this.path,!0),this.map=t.map}getValue(e,t,i){let n=this.isContext?i:this.isValue?e:t;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,t){return this.getValue(e,t==null?void 0:t.parent,t==null?void 0:t.context)}resolve(){return this}describe(){return{type:\"ref\",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};am.default=om;om.prototype.__isYupRef=!0});var Bte=w(sL=>{\"use strict\";Object.defineProperty(sL,\"__esModule\",{value:!0});sL.default=y2e;var m2e=nL($N()),J0=nL(Hc()),E2e=nL(jc());function nL(r){return r&&r.__esModule?r:{default:r}}function W0(){return W0=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},W0.apply(this,arguments)}function I2e(r,e){if(r==null)return{};var t={},i=Object.keys(r),n,s;for(s=0;s<i.length;s++)n=i[s],!(e.indexOf(n)>=0)&&(t[n]=r[n]);return t}function y2e(r){function e(t,i){let{value:n,path:s=\"\",label:o,options:a,originalValue:l,sync:c}=t,u=I2e(t,[\"value\",\"path\",\"label\",\"options\",\"originalValue\",\"sync\"]),{name:g,test:f,params:h,message:p}=r,{parent:C,context:y}=a;function B(j){return E2e.default.isRef(j)?j.getValue(n,C,y):j}function v(j={}){let $=(0,m2e.default)(W0({value:n,originalValue:l,label:o,path:j.path||s},h,j.params),B),V=new J0.default(J0.default.formatError(j.message||p,$),n,$.path,j.type||g);return V.params=$,V}let D=W0({path:s,parent:C,type:g,createError:v,resolve:B,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(D,n,D)).then(j=>{J0.default.isError(j)?i(j):j?i(null,j):i(v())})}catch(j){i(j)}return}let L;try{var H;if(L=f.call(D,n,D),typeof((H=L)==null?void 0:H.then)==\"function\")throw new Error(`Validation test of type: \"${D.type}\" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(j){i(j);return}J0.default.isError(L)?i(L):L?i(null,L):i(v())}return e.OPTIONS=r,e}});var oL=w(Am=>{\"use strict\";Object.defineProperty(Am,\"__esModule\",{value:!0});Am.getIn=Qte;Am.default=void 0;var w2e=sm(),B2e=r=>r.substr(0,r.length-1).substr(1);function Qte(r,e,t,i=t){let n,s,o;return e?((0,w2e.forEach)(e,(a,l,c)=>{let u=l?B2e(a):a;if(r=r.resolve({context:i,parent:n,value:t}),r.innerType){let g=c?parseInt(u,10):0;if(t&&g>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=t,t=t&&t[g],r=r.innerType}if(!c){if(!r.fields||!r.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: \"${r._type}\")`);n=t,t=t&&t[u],r=r.fields[u]}s=u,o=l?\"[\"+a+\"]\":\".\"+a}),{schema:r,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:r}}var Q2e=(r,e,t,i)=>Qte(r,e,t,i).schema,b2e=Q2e;Am.default=b2e});var Ste=w(z0=>{\"use strict\";Object.defineProperty(z0,\"__esModule\",{value:!0});z0.default=void 0;var bte=S2e(jc());function S2e(r){return r&&r.__esModule?r:{default:r}}var lm=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let t of this.list)e.push(t);for(let[,t]of this.refs)e.push(t.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){bte.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){bte.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,t){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(t(i.value)===e)return!0;return!1}clone(){let e=new lm;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,t){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),t.list.forEach(n=>i.delete(n)),t.refs.forEach(n=>i.delete(n)),i}};z0.default=lm});var Xa=w(X0=>{\"use strict\";Object.defineProperty(X0,\"__esModule\",{value:!0});X0.default=void 0;var vte=Va(XZ()),Bh=za(),v2e=Va(c$()),xte=Va(T0()),V0=Va(Bte()),Pte=Va(XC()),x2e=Va(jc()),P2e=oL(),D2e=Va(xN()),Dte=Va(Hc()),kte=Va(Ste());function Va(r){return r&&r.__esModule?r:{default:r}}function Ps(){return Ps=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},Ps.apply(this,arguments)}var no=class{constructor(e){this.deps=[],this.conditions=[],this._whitelist=new kte.default,this._blacklist=new kte.default,this.exclusiveTests=Object.create(null),this.tests=[],this.transforms=[],this.withMutation(()=>{this.typeError(Bh.mixed.notType)}),this.type=(e==null?void 0:e.type)||\"mixed\",this.spec=Ps({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:\"optional\"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeError=this._typeError,t._whitelistError=this._whitelistError,t._blacklistError=this._blacklistError,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.exclusiveTests=Ps({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=(0,vte.default)(Ps({},this.spec,e)),t}label(e){var t=this.clone();return t.spec.label=e,t}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=t,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!==\"mixed\")throw new TypeError(`You cannot \\`concat()\\` schema's of different types: ${this.type} and ${e.type}`);let t=this,i=e.clone(),n=Ps({},t.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=t._typeError),i._whitelistError||(i._whitelistError=t._whitelistError),i._blacklistError||(i._blacklistError=t._blacklistError),i._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),i.tests=t.tests,i.exclusiveTests=t.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let i=t.conditions;t=t.clone(),t.conditions=[],t=i.reduce((n,s)=>s.resolve(n,e),t),t=t.resolve(e)}return t}cast(e,t={}){let i=this.resolve(Ps({value:e},t)),n=i._cast(e,t);if(e!==void 0&&t.assert!==!1&&i.isType(n)!==!0){let s=(0,Pte.default)(e),o=(0,Pte.default)(n);throw new TypeError(`The value of ${t.path||\"field\"} could not be cast to a value that satisfies the schema type: \"${i._type}\". \n\nattempted value: ${s} \n`+(o!==s?`result of cast: ${o}`:\"\"))}return n}_cast(e,t){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,t={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=t,u=e;l||(u=this._cast(u,Ps({assert:!1},t)));let g={value:u,path:s,options:t,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,xte.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,xte.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,t,i){let n=this.resolve(Ps({},t,{value:e}));return typeof i==\"function\"?n._validate(e,t,i):new Promise((s,o)=>n._validate(e,t,(a,l)=>{a?o(a):s(l)}))}validateSync(e,t){let i=this.resolve(Ps({},t,{value:e})),n;return i._validate(e,Ps({},t,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,t){return this.validate(e,t).then(()=>!0,i=>{if(Dte.default.isError(i))return!1;throw i})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(i){if(Dte.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e==\"function\"?e.call(this):(0,vte.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var t=this.clone();return t.spec.strict=e,t}_isPresent(e){return e!=null}defined(e=Bh.mixed.defined){return this.test({message:e,name:\"defined\",exclusive:!0,test(t){return t!==void 0}})}required(e=Bh.mixed.required){return this.clone({presence:\"required\"}).withMutation(t=>t.test({message:e,name:\"required\",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:\"optional\"});return e.tests=e.tests.filter(t=>t.OPTIONS.name!==\"required\"),e}nullable(e=!0){var t=this.clone({nullable:e!==!1});return t}transform(e){var t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]==\"function\"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=Bh.mixed.default),typeof t.test!=\"function\")throw new TypeError(\"`test` is a required parameters\");let i=this.clone(),n=(0,V0.default)(t),s=t.exclusive||t.name&&i.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError(\"Exclusive tests must provide a unique `name` identifying the test\");return t.name&&(i.exclusiveTests[t.name]=!!t.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===t.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,t){!Array.isArray(e)&&typeof e!=\"string\"&&(t=e,e=\".\");let i=this.clone(),n=(0,D2e.default)(e).map(s=>new x2e.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new v2e.default(n,t)),i}typeError(e){var t=this.clone();return t._typeError=(0,V0.default)({message:e,name:\"typeError\",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),t}oneOf(e,t=Bh.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,V0.default)({message:t,name:\"oneOf\",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(\", \")}})}}),i}notOneOf(e,t=Bh.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,V0.default)({message:t,name:\"notOneOf\",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(\", \")}}):!0}}),i}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(){let e=this.clone(),{label:t,meta:i}=e.spec;return{meta:i,label:t,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};X0.default=no;no.prototype.__isYupSchema__=!0;for(let r of[\"validate\",\"validateSync\"])no.prototype[`${r}At`]=function(e,t,i={}){let{parent:n,parentPath:s,schema:o}=(0,P2e.getIn)(this,e,t,i.context);return o[r](n&&n[s],Ps({},i,{parent:n,path:e}))};for(let r of[\"equals\",\"is\"])no.prototype[r]=no.prototype.oneOf;for(let r of[\"not\",\"nope\"])no.prototype[r]=no.prototype.notOneOf;no.prototype.optional=no.prototype.notRequired});var Fte=w(cm=>{\"use strict\";Object.defineProperty(cm,\"__esModule\",{value:!0});cm.create=Rte;cm.default=void 0;var k2e=R2e(Xa());function R2e(r){return r&&r.__esModule?r:{default:r}}var aL=k2e.default,F2e=aL;cm.default=F2e;function Rte(){return new aL}Rte.prototype=aL.prototype});var Qh=w(_0=>{\"use strict\";Object.defineProperty(_0,\"__esModule\",{value:!0});_0.default=void 0;var N2e=r=>r==null;_0.default=N2e});var Mte=w(gm=>{\"use strict\";Object.defineProperty(gm,\"__esModule\",{value:!0});gm.create=Ote;gm.default=void 0;var L2e=Tte(Xa()),Nte=za(),Lte=Tte(Qh());function Tte(r){return r&&r.__esModule?r:{default:r}}function Ote(){return new um}var um=class extends L2e.default{constructor(){super({type:\"boolean\"}),this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e==\"boolean\"}isTrue(e=Nte.boolean.isValue){return this.test({message:e,name:\"is-value\",exclusive:!0,params:{value:\"true\"},test(t){return(0,Lte.default)(t)||t===!0}})}isFalse(e=Nte.boolean.isValue){return this.test({message:e,name:\"is-value\",exclusive:!0,params:{value:\"false\"},test(t){return(0,Lte.default)(t)||t===!1}})}};gm.default=um;Ote.prototype=um.prototype});var Hte=w(hm=>{\"use strict\";Object.defineProperty(hm,\"__esModule\",{value:!0});hm.create=Ute;hm.default=void 0;var Zo=za(),_a=Kte(Qh()),T2e=Kte(Xa());function Kte(r){return r&&r.__esModule?r:{default:r}}var O2e=/^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i,M2e=/^((https?|ftp):)?\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i,K2e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,U2e=r=>(0,_a.default)(r)||r===r.trim(),H2e={}.toString();function Ute(){return new fm}var fm=class extends T2e.default{constructor(){super({type:\"string\"}),this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let t=e!=null&&e.toString?e.toString():e;return t===H2e?e:t})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e==\"string\"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,t=Zo.string.length){return this.test({message:t,name:\"length\",exclusive:!0,params:{length:e},test(i){return(0,_a.default)(i)||i.length===this.resolve(e)}})}min(e,t=Zo.string.min){return this.test({message:t,name:\"min\",exclusive:!0,params:{min:e},test(i){return(0,_a.default)(i)||i.length>=this.resolve(e)}})}max(e,t=Zo.string.max){return this.test({name:\"max\",exclusive:!0,message:t,params:{max:e},test(i){return(0,_a.default)(i)||i.length<=this.resolve(e)}})}matches(e,t){let i=!1,n,s;return t&&(typeof t==\"object\"?{excludeEmptyString:i=!1,message:n,name:s}=t:n=t),this.test({name:s||\"matches\",message:n||Zo.string.matches,params:{regex:e},test:o=>(0,_a.default)(o)||o===\"\"&&i||o.search(e)!==-1})}email(e=Zo.string.email){return this.matches(O2e,{name:\"email\",message:e,excludeEmptyString:!0})}url(e=Zo.string.url){return this.matches(M2e,{name:\"url\",message:e,excludeEmptyString:!0})}uuid(e=Zo.string.uuid){return this.matches(K2e,{name:\"uuid\",message:e,excludeEmptyString:!1})}ensure(){return this.default(\"\").transform(e=>e===null?\"\":e)}trim(e=Zo.string.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:\"trim\",test:U2e})}lowercase(e=Zo.string.lowercase){return this.transform(t=>(0,_a.default)(t)?t:t.toLowerCase()).test({message:e,name:\"string_case\",exclusive:!0,test:t=>(0,_a.default)(t)||t===t.toLowerCase()})}uppercase(e=Zo.string.uppercase){return this.transform(t=>(0,_a.default)(t)?t:t.toUpperCase()).test({message:e,name:\"string_case\",exclusive:!0,test:t=>(0,_a.default)(t)||t===t.toUpperCase()})}};hm.default=fm;Ute.prototype=fm.prototype});var jte=w(dm=>{\"use strict\";Object.defineProperty(dm,\"__esModule\",{value:!0});dm.create=Yte;dm.default=void 0;var qc=za(),Jc=Gte(Qh()),G2e=Gte(Xa());function Gte(r){return r&&r.__esModule?r:{default:r}}var Y2e=r=>r!=+r;function Yte(){return new pm}var pm=class extends G2e.default{constructor(){super({type:\"number\"}),this.withMutation(()=>{this.transform(function(e){let t=e;if(typeof t==\"string\"){if(t=t.replace(/\\s/g,\"\"),t===\"\")return NaN;t=+t}return this.isType(t)?t:parseFloat(t)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e==\"number\"&&!Y2e(e)}min(e,t=qc.number.min){return this.test({message:t,name:\"min\",exclusive:!0,params:{min:e},test(i){return(0,Jc.default)(i)||i>=this.resolve(e)}})}max(e,t=qc.number.max){return this.test({message:t,name:\"max\",exclusive:!0,params:{max:e},test(i){return(0,Jc.default)(i)||i<=this.resolve(e)}})}lessThan(e,t=qc.number.lessThan){return this.test({message:t,name:\"max\",exclusive:!0,params:{less:e},test(i){return(0,Jc.default)(i)||i<this.resolve(e)}})}moreThan(e,t=qc.number.moreThan){return this.test({message:t,name:\"min\",exclusive:!0,params:{more:e},test(i){return(0,Jc.default)(i)||i>this.resolve(e)}})}positive(e=qc.number.positive){return this.moreThan(0,e)}negative(e=qc.number.negative){return this.lessThan(0,e)}integer(e=qc.number.integer){return this.test({name:\"integer\",message:e,test:t=>(0,Jc.default)(t)||Number.isInteger(t)})}truncate(){return this.transform(e=>(0,Jc.default)(e)?e:e|0)}round(e){var t,i=[\"ceil\",\"floor\",\"round\",\"trunc\"];if(e=((t=e)==null?void 0:t.toLowerCase())||\"round\",e===\"trunc\")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError(\"Only valid options for round() are: \"+i.join(\", \"));return this.transform(n=>(0,Jc.default)(n)?n:Math[e](n))}};dm.default=pm;Yte.prototype=pm.prototype});var qte=w(AL=>{\"use strict\";Object.defineProperty(AL,\"__esModule\",{value:!0});AL.default=q2e;var j2e=/^(\\d{4}|[+\\-]\\d{6})(?:-?(\\d{2})(?:-?(\\d{2}))?)?(?:[ T]?(\\d{2}):?(\\d{2})(?::?(\\d{2})(?:[,\\.](\\d{1,}))?)?(?:(Z)|([+\\-])(\\d{2})(?::?(\\d{2}))?)?)?$/;function q2e(r){var e=[1,4,5,6,7,10,11],t=0,i,n;if(n=j2e.exec(r)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]===\"\")&&(n[9]===void 0||n[9]===\"\")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!==\"Z\"&&n[9]!==void 0&&(t=n[10]*60+n[11],n[9]===\"+\"&&(t=0-t)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+t,n[6],n[7]))}else i=Date.parse?Date.parse(r):NaN;return i}});var zte=w(Cm=>{\"use strict\";Object.defineProperty(Cm,\"__esModule\",{value:!0});Cm.create=cL;Cm.default=void 0;var J2e=Z0(qte()),Jte=za(),Wte=Z0(Qh()),W2e=Z0(jc()),z2e=Z0(Xa());function Z0(r){return r&&r.__esModule?r:{default:r}}var lL=new Date(\"\"),V2e=r=>Object.prototype.toString.call(r)===\"[object Date]\";function cL(){return new bh}var bh=class extends z2e.default{constructor(){super({type:\"date\"}),this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,J2e.default)(e),isNaN(e)?lL:new Date(e))})})}_typeCheck(e){return V2e(e)&&!isNaN(e.getTime())}prepareParam(e,t){let i;if(W2e.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\\`${t}\\` must be a Date or a value that can be \\`cast()\\` to a Date`);i=n}return i}min(e,t=Jte.date.min){let i=this.prepareParam(e,\"min\");return this.test({message:t,name:\"min\",exclusive:!0,params:{min:e},test(n){return(0,Wte.default)(n)||n>=this.resolve(i)}})}max(e,t=Jte.date.max){var i=this.prepareParam(e,\"max\");return this.test({message:t,name:\"max\",exclusive:!0,params:{max:e},test(n){return(0,Wte.default)(n)||n<=this.resolve(i)}})}};Cm.default=bh;bh.INVALID_DATE=lL;cL.prototype=bh.prototype;cL.INVALID_DATE=lL});var Xte=w((qct,Vte)=>{function X2e(r,e,t,i){var n=-1,s=r==null?0:r.length;for(i&&s&&(t=r[++n]);++n<s;)t=e(t,r[n],n,r);return t}Vte.exports=X2e});var Zte=w((Jct,_te)=>{function _2e(r){return function(e){return r==null?void 0:r[e]}}_te.exports=_2e});var ere=w((Wct,$te)=>{var Z2e=Zte(),$2e={\\u00C0:\"A\",\\u00C1:\"A\",\\u00C2:\"A\",\\u00C3:\"A\",\\u00C4:\"A\",\\u00C5:\"A\",\\u00E0:\"a\",\\u00E1:\"a\",\\u00E2:\"a\",\\u00E3:\"a\",\\u00E4:\"a\",\\u00E5:\"a\",\\u00C7:\"C\",\\u00E7:\"c\",\\u00D0:\"D\",\\u00F0:\"d\",\\u00C8:\"E\",\\u00C9:\"E\",\\u00CA:\"E\",\\u00CB:\"E\",\\u00E8:\"e\",\\u00E9:\"e\",\\u00EA:\"e\",\\u00EB:\"e\",\\u00CC:\"I\",\\u00CD:\"I\",\\u00CE:\"I\",\\u00CF:\"I\",\\u00EC:\"i\",\\u00ED:\"i\",\\u00EE:\"i\",\\u00EF:\"i\",\\u00D1:\"N\",\\u00F1:\"n\",\\u00D2:\"O\",\\u00D3:\"O\",\\u00D4:\"O\",\\u00D5:\"O\",\\u00D6:\"O\",\\u00D8:\"O\",\\u00F2:\"o\",\\u00F3:\"o\",\\u00F4:\"o\",\\u00F5:\"o\",\\u00F6:\"o\",\\u00F8:\"o\",\\u00D9:\"U\",\\u00DA:\"U\",\\u00DB:\"U\",\\u00DC:\"U\",\\u00F9:\"u\",\\u00FA:\"u\",\\u00FB:\"u\",\\u00FC:\"u\",\\u00DD:\"Y\",\\u00FD:\"y\",\\u00FF:\"y\",\\u00C6:\"Ae\",\\u00E6:\"ae\",\\u00DE:\"Th\",\\u00FE:\"th\",\\u00DF:\"ss\",\\u0100:\"A\",\\u0102:\"A\",\\u0104:\"A\",\\u0101:\"a\",\\u0103:\"a\",\\u0105:\"a\",\\u0106:\"C\",\\u0108:\"C\",\\u010A:\"C\",\\u010C:\"C\",\\u0107:\"c\",\\u0109:\"c\",\\u010B:\"c\",\\u010D:\"c\",\\u010E:\"D\",\\u0110:\"D\",\\u010F:\"d\",\\u0111:\"d\",\\u0112:\"E\",\\u0114:\"E\",\\u0116:\"E\",\\u0118:\"E\",\\u011A:\"E\",\\u0113:\"e\",\\u0115:\"e\",\\u0117:\"e\",\\u0119:\"e\",\\u011B:\"e\",\\u011C:\"G\",\\u011E:\"G\",\\u0120:\"G\",\\u0122:\"G\",\\u011D:\"g\",\\u011F:\"g\",\\u0121:\"g\",\\u0123:\"g\",\\u0124:\"H\",\\u0126:\"H\",\\u0125:\"h\",\\u0127:\"h\",\\u0128:\"I\",\\u012A:\"I\",\\u012C:\"I\",\\u012E:\"I\",\\u0130:\"I\",\\u0129:\"i\",\\u012B:\"i\",\\u012D:\"i\",\\u012F:\"i\",\\u0131:\"i\",\\u0134:\"J\",\\u0135:\"j\",\\u0136:\"K\",\\u0137:\"k\",\\u0138:\"k\",\\u0139:\"L\",\\u013B:\"L\",\\u013D:\"L\",\\u013F:\"L\",\\u0141:\"L\",\\u013A:\"l\",\\u013C:\"l\",\\u013E:\"l\",\\u0140:\"l\",\\u0142:\"l\",\\u0143:\"N\",\\u0145:\"N\",\\u0147:\"N\",\\u014A:\"N\",\\u0144:\"n\",\\u0146:\"n\",\\u0148:\"n\",\\u014B:\"n\",\\u014C:\"O\",\\u014E:\"O\",\\u0150:\"O\",\\u014D:\"o\",\\u014F:\"o\",\\u0151:\"o\",\\u0154:\"R\",\\u0156:\"R\",\\u0158:\"R\",\\u0155:\"r\",\\u0157:\"r\",\\u0159:\"r\",\\u015A:\"S\",\\u015C:\"S\",\\u015E:\"S\",\\u0160:\"S\",\\u015B:\"s\",\\u015D:\"s\",\\u015F:\"s\",\\u0161:\"s\",\\u0162:\"T\",\\u0164:\"T\",\\u0166:\"T\",\\u0163:\"t\",\\u0165:\"t\",\\u0167:\"t\",\\u0168:\"U\",\\u016A:\"U\",\\u016C:\"U\",\\u016E:\"U\",\\u0170:\"U\",\\u0172:\"U\",\\u0169:\"u\",\\u016B:\"u\",\\u016D:\"u\",\\u016F:\"u\",\\u0171:\"u\",\\u0173:\"u\",\\u0174:\"W\",\\u0175:\"w\",\\u0176:\"Y\",\\u0177:\"y\",\\u0178:\"Y\",\\u0179:\"Z\",\\u017B:\"Z\",\\u017D:\"Z\",\\u017A:\"z\",\\u017C:\"z\",\\u017E:\"z\",\\u0132:\"IJ\",\\u0133:\"ij\",\\u0152:\"Oe\",\\u0153:\"oe\",\\u0149:\"'n\",\\u017F:\"s\"},eHe=Z2e($2e);$te.exports=eHe});var rre=w((zct,tre)=>{var tHe=ere(),rHe=Kf(),iHe=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,nHe=\"\\\\u0300-\\\\u036f\",sHe=\"\\\\ufe20-\\\\ufe2f\",oHe=\"\\\\u20d0-\\\\u20ff\",aHe=nHe+sHe+oHe,AHe=\"[\"+aHe+\"]\",lHe=RegExp(AHe,\"g\");function cHe(r){return r=rHe(r),r&&r.replace(iHe,tHe).replace(lHe,\"\")}tre.exports=cHe});var nre=w((Vct,ire)=>{var uHe=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;function gHe(r){return r.match(uHe)||[]}ire.exports=gHe});var ore=w((Xct,sre)=>{var fHe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function hHe(r){return fHe.test(r)}sre.exports=hHe});var bre=w((_ct,Qre)=>{var ure=\"\\\\ud800-\\\\udfff\",pHe=\"\\\\u0300-\\\\u036f\",dHe=\"\\\\ufe20-\\\\ufe2f\",CHe=\"\\\\u20d0-\\\\u20ff\",mHe=pHe+dHe+CHe,gre=\"\\\\u2700-\\\\u27bf\",fre=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",EHe=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",IHe=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",yHe=\"\\\\u2000-\\\\u206f\",wHe=\" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",hre=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",BHe=\"\\\\ufe0e\\\\ufe0f\",pre=EHe+IHe+yHe+wHe,dre=\"['\\u2019]\",are=\"[\"+pre+\"]\",QHe=\"[\"+mHe+\"]\",Cre=\"\\\\d+\",bHe=\"[\"+gre+\"]\",mre=\"[\"+fre+\"]\",Ere=\"[^\"+ure+pre+Cre+gre+fre+hre+\"]\",SHe=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",vHe=\"(?:\"+QHe+\"|\"+SHe+\")\",xHe=\"[^\"+ure+\"]\",Ire=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",yre=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Sh=\"[\"+hre+\"]\",PHe=\"\\\\u200d\",Are=\"(?:\"+mre+\"|\"+Ere+\")\",DHe=\"(?:\"+Sh+\"|\"+Ere+\")\",lre=\"(?:\"+dre+\"(?:d|ll|m|re|s|t|ve))?\",cre=\"(?:\"+dre+\"(?:D|LL|M|RE|S|T|VE))?\",wre=vHe+\"?\",Bre=\"[\"+BHe+\"]?\",kHe=\"(?:\"+PHe+\"(?:\"+[xHe,Ire,yre].join(\"|\")+\")\"+Bre+wre+\")*\",RHe=\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",FHe=\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",NHe=Bre+wre+kHe,LHe=\"(?:\"+[bHe,Ire,yre].join(\"|\")+\")\"+NHe,THe=RegExp([Sh+\"?\"+mre+\"+\"+lre+\"(?=\"+[are,Sh,\"$\"].join(\"|\")+\")\",DHe+\"+\"+cre+\"(?=\"+[are,Sh+Are,\"$\"].join(\"|\")+\")\",Sh+\"?\"+Are+\"+\"+lre,Sh+\"+\"+cre,FHe,RHe,Cre,LHe].join(\"|\"),\"g\");function OHe(r){return r.match(THe)||[]}Qre.exports=OHe});var vre=w((Zct,Sre)=>{var MHe=nre(),KHe=ore(),UHe=Kf(),HHe=bre();function GHe(r,e,t){return r=UHe(r),e=t?void 0:e,e===void 0?KHe(r)?HHe(r):MHe(r):r.match(e)||[]}Sre.exports=GHe});var uL=w(($ct,xre)=>{var YHe=Xte(),jHe=rre(),qHe=vre(),JHe=\"['\\u2019]\",WHe=RegExp(JHe,\"g\");function zHe(r){return function(e){return YHe(qHe(jHe(e).replace(WHe,\"\")),r,\"\")}}xre.exports=zHe});var Dre=w((eut,Pre)=>{var VHe=uL(),XHe=VHe(function(r,e,t){return r+(t?\"_\":\"\")+e.toLowerCase()});Pre.exports=XHe});var Rre=w((tut,kre)=>{var _He=dB(),ZHe=uL(),$He=ZHe(function(r,e,t){return e=e.toLowerCase(),r+(t?_He(e):e)});kre.exports=$He});var Nre=w((rut,Fre)=>{var eGe=gh(),tGe=TN(),rGe=ZN();function iGe(r,e){var t={};return e=rGe(e,3),tGe(r,function(i,n,s){eGe(t,e(i,n,s),i)}),t}Fre.exports=iGe});var Tre=w((iut,gL)=>{gL.exports=function(r){return Lre(nGe(r),r)};gL.exports.array=Lre;function Lre(r,e){var t=r.length,i=new Array(t),n={},s=t,o=sGe(e),a=oGe(r);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error(\"Unknown node. There is an unknown node in the supplied edges.\")});s--;)n[s]||l(r[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=\", node was:\"+JSON.stringify(c)}catch{f=\"\"}throw new Error(\"Cyclic dependency\"+f)}if(!a.has(c))throw new Error(\"Found unknown node. Make sure to provided all involved nodes. Unknown node: \"+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--t]=c}}}function nGe(r){for(var e=new Set,t=0,i=r.length;t<i;t++){var n=r[t];e.add(n[0]),e.add(n[1])}return Array.from(e)}function sGe(r){for(var e=new Map,t=0,i=r.length;t<i;t++){var n=r[t];e.has(n[0])||e.set(n[0],new Set),e.has(n[1])||e.set(n[1],new Set),e.get(n[0]).add(n[1])}return e}function oGe(r){for(var e=new Map,t=0,i=r.length;t<i;t++)e.set(r[t],t);return e}});var Ore=w(fL=>{\"use strict\";Object.defineProperty(fL,\"__esModule\",{value:!0});fL.default=gGe;var aGe=$0(_C()),AGe=$0(Tre()),lGe=sm(),cGe=$0(jc()),uGe=$0(dh());function $0(r){return r&&r.__esModule?r:{default:r}}function gGe(r,e=[]){let t=[],i=[];function n(s,o){var a=(0,lGe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||t.push([o,a])}for(let s in r)if((0,aGe.default)(r,s)){let o=r[s];~i.indexOf(s)||i.push(s),cGe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,uGe.default)(o)&&\"deps\"in o&&o.deps.forEach(a=>n(a,s))}return AGe.default.array(i,t).reverse()}});var Kre=w(hL=>{\"use strict\";Object.defineProperty(hL,\"__esModule\",{value:!0});hL.default=fGe;function Mre(r,e){let t=1/0;return r.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return t=n,!0}),t}function fGe(r){return(e,t)=>Mre(r,e)-Mre(r,t)}});var Jre=w(Em=>{\"use strict\";Object.defineProperty(Em,\"__esModule\",{value:!0});Em.create=qre;Em.default=void 0;var Ure=$o(_C()),Hre=$o(Dre()),hGe=$o(Rre()),pGe=$o(Nre()),dGe=$o($N()),CGe=sm(),Gre=za(),mGe=$o(Ore()),jre=$o(Kre()),EGe=$o(T0()),IGe=$o(Hc()),pL=$o(Xa());function $o(r){return r&&r.__esModule?r:{default:r}}function vh(){return vh=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},vh.apply(this,arguments)}var Yre=r=>Object.prototype.toString.call(r)===\"[object Object]\";function yGe(r,e){let t=Object.keys(r.fields);return Object.keys(e).filter(i=>t.indexOf(i)===-1)}var wGe=(0,jre.default)([]),mm=class extends pL.default{constructor(e){super({type:\"object\"}),this.fields=Object.create(null),this._sortErrors=wGe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i==\"string\")try{i=JSON.parse(i)}catch{i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return Yre(e)||typeof e==\"function\"}_cast(e,t={}){var i;let n=super._cast(e,t);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=t.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=vh({},t,{parent:l,__validating:t.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,Ure.default)(n,g);if(f){let p,C=n[g];c.path=(t.path?`${t.path}.`:\"\")+g,f=f.resolve({value:C,context:t.context,parent:l});let y=\"spec\"in f?f.spec:void 0,B=y==null?void 0:y.strict;if(y!=null&&y.strip){u=u||g in n;continue}p=!t.__validating||!B?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,t={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=t;o=[{schema:this,value:a},...o],t.__validating=!0,t.originalValue=a,t.from=o,super._validate(e,t,(u,g)=>{if(u){if(!IGe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!Yre(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,C)=>{let y=h.indexOf(\".\")===-1?(t.path?`${t.path}.`:\"\")+h:`${t.path||\"\"}[\"${h}\"]`,B=this.fields[h];if(B&&\"validate\"in B){B.validate(g[h],vh({},t,{path:y,from:o,strict:!0,parent:g,originalValue:a[h]}),C);return}C(null)});(0,EGe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:t.path},i)})}clone(e){let t=super.clone(e);return t.fields=vh({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),i=t.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof pL.default&&s instanceof pL.default&&(i[n]=s.concat(o))}return t.withMutation(()=>t.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(t=>{let i=this.fields[t];e[t]=\"default\"in i?i.getDefault():void 0}),e}_getDefault(){if(\"default\"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,t=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,jre.default)(Object.keys(n)),t.length){Array.isArray(t[0])||(t=[t]);let s=t.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,mGe.default)(n,i._excludedEdges),i}pick(e){let t={};for(let i of e)this.fields[i]&&(t[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(t)))}omit(e){let t=this.clone(),i=t.fields;t.fields={};for(let n of e)delete i[n];return t.withMutation(()=>t.shape(i))}from(e,t,i){let n=(0,CGe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,Ure.default)(s,e)&&(o=vh({},s),i||delete o[e],o[t]=n(s)),o})}noUnknown(e=!0,t=Gre.object.noUnknown){typeof e==\"string\"&&(t=e,e=!0);let i=this.test({name:\"noUnknown\",exclusive:!0,message:t,test(n){if(n==null)return!0;let s=yGe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(\", \")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,t=Gre.object.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>t&&(0,pGe.default)(t,(i,n)=>e(n)))}camelCase(){return this.transformKeys(hGe.default)}snakeCase(){return this.transformKeys(Hre.default)}constantCase(){return this.transformKeys(e=>(0,Hre.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,dGe.default)(this.fields,t=>t.describe()),e}};Em.default=mm;function qre(r){return new mm(r)}qre.prototype=mm.prototype});var zre=w(ym=>{\"use strict\";Object.defineProperty(ym,\"__esModule\",{value:!0});ym.create=Wre;ym.default=void 0;var dL=xh(Qh()),BGe=xh(dh()),QGe=xh(XC()),CL=za(),bGe=xh(T0()),SGe=xh(Hc()),vGe=xh(Xa());function xh(r){return r&&r.__esModule?r:{default:r}}function eQ(){return eQ=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},eQ.apply(this,arguments)}function Wre(r){return new Im(r)}var Im=class extends vGe.default{constructor(e){super({type:\"array\"}),this.innerType=e,this.withMutation(()=>{this.transform(function(t){if(typeof t==\"string\")try{t=JSON.parse(t)}catch{t=null}return this.isType(t)?t:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,t){let i=super._cast(e,t);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,eQ({},t,{path:`${t.path||\"\"}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,t={},i){var n,s;let o=[],a=t.sync,l=t.path,c=this.innerType,u=(n=t.abortEarly)!=null?n:this.spec.abortEarly,g=(s=t.recursive)!=null?s:this.spec.recursive,f=t.originalValue!=null?t.originalValue:e;super._validate(e,t,(h,p)=>{if(h){if(!SGe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let C=new Array(p.length);for(let y=0;y<p.length;y++){let B=p[y],v=`${t.path||\"\"}[${y}]`,D=eQ({},t,{path:v,strict:!0,parent:p,index:y,originalValue:f[y]});C[y]=(L,H)=>c.validate(B,D,H)}(0,bGe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:C},i)})}clone(e){let t=super.clone(e);return t.innerType=this.innerType,t}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!(0,BGe.default)(e))throw new TypeError(\"`array.of()` sub-schema must be a valid yup schema not: \"+(0,QGe.default)(e));return t.innerType=e,t}length(e,t=CL.array.length){return this.test({message:t,name:\"length\",exclusive:!0,params:{length:e},test(i){return(0,dL.default)(i)||i.length===this.resolve(e)}})}min(e,t){return t=t||CL.array.min,this.test({message:t,name:\"min\",exclusive:!0,params:{min:e},test(i){return(0,dL.default)(i)||i.length>=this.resolve(e)}})}max(e,t){return t=t||CL.array.max,this.test({message:t,name:\"max\",exclusive:!0,params:{max:e},test(i){return(0,dL.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:t==null?[]:[].concat(t))}compact(e){let t=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(t):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};ym.default=Im;Wre.prototype=Im.prototype});var Vre=w(wm=>{\"use strict\";Object.defineProperty(wm,\"__esModule\",{value:!0});wm.create=DGe;wm.default=void 0;var xGe=PGe(dh());function PGe(r){return r&&r.__esModule?r:{default:r}}function DGe(r){return new tQ(r)}var tQ=class{constructor(e){this.type=\"lazy\",this.__isYupSchema__=!0,this._resolve=(t,i={})=>{let n=this.builder(t,i);if(!(0,xGe.default)(n))throw new TypeError(\"lazy() functions must return a valid schema\");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,t){return this._resolve(e,t).cast(e,t)}validate(e,t,i){return this._resolve(e,t).validate(e,t,i)}validateSync(e,t){return this._resolve(e,t).validateSync(e,t)}validateAt(e,t,i){return this._resolve(t,i).validateAt(e,t,i)}validateSyncAt(e,t,i){return this._resolve(t,i).validateSyncAt(e,t,i)}describe(){return null}isValid(e,t){return this._resolve(e,t).isValid(e,t)}isValidSync(e,t){return this._resolve(e,t).isValidSync(e,t)}},kGe=tQ;wm.default=kGe});var Xre=w(mL=>{\"use strict\";Object.defineProperty(mL,\"__esModule\",{value:!0});mL.default=NGe;var RGe=FGe(za());function FGe(r){return r&&r.__esModule?r:{default:r}}function NGe(r){Object.keys(r).forEach(e=>{Object.keys(r[e]).forEach(t=>{RGe.default[e][t]=r[e][t]})})}});var IL=w(yr=>{\"use strict\";Object.defineProperty(yr,\"__esModule\",{value:!0});yr.addMethod=HGe;Object.defineProperty(yr,\"MixedSchema\",{enumerable:!0,get:function(){return _re.default}});Object.defineProperty(yr,\"mixed\",{enumerable:!0,get:function(){return _re.create}});Object.defineProperty(yr,\"BooleanSchema\",{enumerable:!0,get:function(){return EL.default}});Object.defineProperty(yr,\"bool\",{enumerable:!0,get:function(){return EL.create}});Object.defineProperty(yr,\"boolean\",{enumerable:!0,get:function(){return EL.create}});Object.defineProperty(yr,\"StringSchema\",{enumerable:!0,get:function(){return Zre.default}});Object.defineProperty(yr,\"string\",{enumerable:!0,get:function(){return Zre.create}});Object.defineProperty(yr,\"NumberSchema\",{enumerable:!0,get:function(){return $re.default}});Object.defineProperty(yr,\"number\",{enumerable:!0,get:function(){return $re.create}});Object.defineProperty(yr,\"DateSchema\",{enumerable:!0,get:function(){return eie.default}});Object.defineProperty(yr,\"date\",{enumerable:!0,get:function(){return eie.create}});Object.defineProperty(yr,\"ObjectSchema\",{enumerable:!0,get:function(){return tie.default}});Object.defineProperty(yr,\"object\",{enumerable:!0,get:function(){return tie.create}});Object.defineProperty(yr,\"ArraySchema\",{enumerable:!0,get:function(){return rie.default}});Object.defineProperty(yr,\"array\",{enumerable:!0,get:function(){return rie.create}});Object.defineProperty(yr,\"ref\",{enumerable:!0,get:function(){return LGe.create}});Object.defineProperty(yr,\"lazy\",{enumerable:!0,get:function(){return TGe.create}});Object.defineProperty(yr,\"ValidationError\",{enumerable:!0,get:function(){return OGe.default}});Object.defineProperty(yr,\"reach\",{enumerable:!0,get:function(){return MGe.default}});Object.defineProperty(yr,\"isSchema\",{enumerable:!0,get:function(){return iie.default}});Object.defineProperty(yr,\"setLocale\",{enumerable:!0,get:function(){return KGe.default}});Object.defineProperty(yr,\"BaseSchema\",{enumerable:!0,get:function(){return UGe.default}});var _re=Wc(Fte()),EL=Wc(Mte()),Zre=Wc(Hte()),$re=Wc(jte()),eie=Wc(zte()),tie=Wc(Jre()),rie=Wc(zre()),LGe=jc(),TGe=Vre(),OGe=Bm(Hc()),MGe=Bm(oL()),iie=Bm(dh()),KGe=Bm(Xre()),UGe=Bm(Xa());function Bm(r){return r&&r.__esModule?r:{default:r}}function nie(){if(typeof WeakMap!=\"function\")return null;var r=new WeakMap;return nie=function(){return r},r}function Wc(r){if(r&&r.__esModule)return r;if(r===null||typeof r!=\"object\"&&typeof r!=\"function\")return{default:r};var e=nie();if(e&&e.has(r))return e.get(r);var t={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)){var s=i?Object.getOwnPropertyDescriptor(r,n):null;s&&(s.get||s.set)?Object.defineProperty(t,n,s):t[n]=r[n]}return t.default=r,e&&e.set(r,t),t}function HGe(r,e,t){if(!r||!(0,iie.default)(r.prototype))throw new TypeError(\"You must provide a yup schema constructor function\");if(typeof e!=\"string\")throw new TypeError(\"A Method name must be provided\");if(typeof t!=\"function\")throw new TypeError(\"Method function must be provided\");r.prototype[e]=t}});var lie=w((But,bm)=>{\"use strict\";var jGe=process.env.TERM_PROGRAM===\"Hyper\",qGe=process.platform===\"win32\",oie=process.platform===\"linux\",yL={ballotDisabled:\"\\u2612\",ballotOff:\"\\u2610\",ballotOn:\"\\u2611\",bullet:\"\\u2022\",bulletWhite:\"\\u25E6\",fullBlock:\"\\u2588\",heart:\"\\u2764\",identicalTo:\"\\u2261\",line:\"\\u2500\",mark:\"\\u203B\",middot:\"\\xB7\",minus:\"\\uFF0D\",multiplication:\"\\xD7\",obelus:\"\\xF7\",pencilDownRight:\"\\u270E\",pencilRight:\"\\u270F\",pencilUpRight:\"\\u2710\",percent:\"%\",pilcrow2:\"\\u2761\",pilcrow:\"\\xB6\",plusMinus:\"\\xB1\",section:\"\\xA7\",starsOff:\"\\u2606\",starsOn:\"\\u2605\",upDownArrow:\"\\u2195\"},aie=Object.assign({},yL,{check:\"\\u221A\",cross:\"\\xD7\",ellipsisLarge:\"...\",ellipsis:\"...\",info:\"i\",question:\"?\",questionSmall:\"?\",pointer:\">\",pointerSmall:\"\\xBB\",radioOff:\"( )\",radioOn:\"(*)\",warning:\"\\u203C\"}),Aie=Object.assign({},yL,{ballotCross:\"\\u2718\",check:\"\\u2714\",cross:\"\\u2716\",ellipsisLarge:\"\\u22EF\",ellipsis:\"\\u2026\",info:\"\\u2139\",question:\"?\",questionFull:\"\\uFF1F\",questionSmall:\"\\uFE56\",pointer:oie?\"\\u25B8\":\"\\u276F\",pointerSmall:oie?\"\\u2023\":\"\\u203A\",radioOff:\"\\u25EF\",radioOn:\"\\u25C9\",warning:\"\\u26A0\"});bm.exports=qGe&&!jGe?aie:Aie;Reflect.defineProperty(bm.exports,\"common\",{enumerable:!1,value:yL});Reflect.defineProperty(bm.exports,\"windows\",{enumerable:!1,value:aie});Reflect.defineProperty(bm.exports,\"other\",{enumerable:!1,value:Aie})});var so=w((Qut,wL)=>{\"use strict\";var JGe=r=>r!==null&&typeof r==\"object\"&&!Array.isArray(r),WGe=/[\\u001b\\u009b][[\\]#;?()]*(?:(?:(?:[^\\W_]*;?[^\\W_]*)\\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,cie=()=>{let r={enabled:!0,visible:!0,styles:{},keys:{}};\"FORCE_COLOR\"in process.env&&(r.enabled=process.env.FORCE_COLOR!==\"0\");let e=s=>{let o=s.open=`\\x1B[${s.codes[0]}m`,a=s.close=`\\x1B[${s.codes[1]}m`,l=s.regex=new RegExp(`\\\\u001b\\\\[${s.codes[1]}m`,\"g\");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\\r*\\n/g,`${a}$&${o}`):g},s},t=(s,o,a)=>typeof s==\"function\"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===\"\"||s==null)return\"\";if(r.enabled===!1)return s;if(r.visible===!1)return\"\";let a=\"\"+s,l=a.includes(`\n`),c=o.length;for(c>0&&o.includes(\"unstyle\")&&(o=[...new Set([\"unstyle\",...o])].reverse());c-- >0;)a=t(r.styles[o[c]],a,l);return a},n=(s,o,a)=>{r.styles[s]=e({name:s,codes:o}),(r.keys[a]||(r.keys[a]=[])).push(s),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(c){r.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,r),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n(\"reset\",[0,0],\"modifier\"),n(\"bold\",[1,22],\"modifier\"),n(\"dim\",[2,22],\"modifier\"),n(\"italic\",[3,23],\"modifier\"),n(\"underline\",[4,24],\"modifier\"),n(\"inverse\",[7,27],\"modifier\"),n(\"hidden\",[8,28],\"modifier\"),n(\"strikethrough\",[9,29],\"modifier\"),n(\"black\",[30,39],\"color\"),n(\"red\",[31,39],\"color\"),n(\"green\",[32,39],\"color\"),n(\"yellow\",[33,39],\"color\"),n(\"blue\",[34,39],\"color\"),n(\"magenta\",[35,39],\"color\"),n(\"cyan\",[36,39],\"color\"),n(\"white\",[37,39],\"color\"),n(\"gray\",[90,39],\"color\"),n(\"grey\",[90,39],\"color\"),n(\"bgBlack\",[40,49],\"bg\"),n(\"bgRed\",[41,49],\"bg\"),n(\"bgGreen\",[42,49],\"bg\"),n(\"bgYellow\",[43,49],\"bg\"),n(\"bgBlue\",[44,49],\"bg\"),n(\"bgMagenta\",[45,49],\"bg\"),n(\"bgCyan\",[46,49],\"bg\"),n(\"bgWhite\",[47,49],\"bg\"),n(\"blackBright\",[90,39],\"bright\"),n(\"redBright\",[91,39],\"bright\"),n(\"greenBright\",[92,39],\"bright\"),n(\"yellowBright\",[93,39],\"bright\"),n(\"blueBright\",[94,39],\"bright\"),n(\"magentaBright\",[95,39],\"bright\"),n(\"cyanBright\",[96,39],\"bright\"),n(\"whiteBright\",[97,39],\"bright\"),n(\"bgBlackBright\",[100,49],\"bgBright\"),n(\"bgRedBright\",[101,49],\"bgBright\"),n(\"bgGreenBright\",[102,49],\"bgBright\"),n(\"bgYellowBright\",[103,49],\"bgBright\"),n(\"bgBlueBright\",[104,49],\"bgBright\"),n(\"bgMagentaBright\",[105,49],\"bgBright\"),n(\"bgCyanBright\",[106,49],\"bgBright\"),n(\"bgWhiteBright\",[107,49],\"bgBright\"),r.ansiRegex=WGe,r.hasColor=r.hasAnsi=s=>(r.ansiRegex.lastIndex=0,typeof s==\"string\"&&s!==\"\"&&r.ansiRegex.test(s)),r.alias=(s,o)=>{let a=typeof o==\"string\"?r[o]:o;if(typeof a!=\"function\")throw new TypeError(\"Expected alias to be the name of an existing color (string) or a function\");a.stack||(Reflect.defineProperty(a,\"name\",{value:s}),r.styles[s]=a,a.stack=[s]),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(l){r.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,r),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},r.theme=s=>{if(!JGe(s))throw new TypeError(\"Expected theme to be an object\");for(let o of Object.keys(s))r.alias(o,s[o]);return r},r.alias(\"unstyle\",s=>typeof s==\"string\"&&s!==\"\"?(r.ansiRegex.lastIndex=0,s.replace(r.ansiRegex,\"\")):\"\"),r.alias(\"noop\",s=>s),r.none=r.clear=r.noop,r.stripColor=r.unstyle,r.symbols=lie(),r.define=n,r};wL.exports=cie();wL.exports.create=cie});var Gi=w(Lt=>{\"use strict\";var zGe=Object.prototype.toString,Ds=so(),uie=!1,BL=[],gie={yellow:\"blue\",cyan:\"red\",green:\"magenta\",black:\"white\",blue:\"yellow\",red:\"cyan\",magenta:\"green\",white:\"black\"};Lt.longest=(r,e)=>r.reduce((t,i)=>Math.max(t,e?i[e].length:i.length),0);Lt.hasColor=r=>!!r&&Ds.hasColor(r);var iQ=Lt.isObject=r=>r!==null&&typeof r==\"object\"&&!Array.isArray(r);Lt.nativeType=r=>zGe.call(r).slice(8,-1).toLowerCase().replace(/\\s/g,\"\");Lt.isAsyncFn=r=>Lt.nativeType(r)===\"asyncfunction\";Lt.isPrimitive=r=>r!=null&&typeof r!=\"object\"&&typeof r!=\"function\";Lt.resolve=(r,e,...t)=>typeof e==\"function\"?e.call(r,...t):e;Lt.scrollDown=(r=[])=>[...r.slice(1),r[0]];Lt.scrollUp=(r=[])=>[r.pop(),...r];Lt.reorder=(r=[])=>{let e=r.slice();return e.sort((t,i)=>t.index>i.index?1:t.index<i.index?-1:0),e};Lt.swap=(r,e,t)=>{let i=r.length,n=t===i?0:t<0?i-1:t,s=r[e];r[e]=r[n],r[n]=s};Lt.width=(r,e=80)=>{let t=r&&r.columns?r.columns:e;return r&&typeof r.getWindowSize==\"function\"&&(t=r.getWindowSize()[0]),process.platform===\"win32\"?t-1:t};Lt.height=(r,e=20)=>{let t=r&&r.rows?r.rows:e;return r&&typeof r.getWindowSize==\"function\"&&(t=r.getWindowSize()[1]),t};Lt.wordWrap=(r,e={})=>{if(!r)return r;typeof e==\"number\"&&(e={width:e});let{indent:t=\"\",newline:i=`\n`+t,width:n=80}=e;n-=((i+t).match(/[^\\S\\n]/g)||[]).length;let o=`.{1,${n}}([\\\\s\\\\u200B]+|$)|[^\\\\s\\\\u200B]+?([\\\\s\\\\u200B]+|$)`,a=r.trim(),l=new RegExp(o,\"g\"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\\n$/,\"\")),e.padEnd&&(c=c.map(u=>u.padEnd(n,\" \"))),e.padStart&&(c=c.map(u=>u.padStart(n,\" \"))),t+c.join(i)};Lt.unmute=r=>{let e=r.stack.find(i=>Ds.keys.color.includes(i));return e?Ds[e]:r.stack.find(i=>i.slice(2)===\"bg\")?Ds[e.slice(2)]:i=>i};Lt.pascal=r=>r?r[0].toUpperCase()+r.slice(1):\"\";Lt.inverse=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Ds.keys.color.includes(i));if(e){let i=Ds[\"bg\"+Lt.pascal(e)];return i?i.black:r}let t=r.stack.find(i=>i.slice(0,2)===\"bg\");return t?Ds[t.slice(2).toLowerCase()]||r:Ds.none};Lt.complement=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Ds.keys.color.includes(i)),t=r.stack.find(i=>i.slice(0,2)===\"bg\");if(e&&!t)return Ds[gie[e]||e];if(t){let i=t.slice(2).toLowerCase(),n=gie[i];return n&&Ds[\"bg\"+Lt.pascal(n)]||r}return Ds.none};Lt.meridiem=r=>{let e=r.getHours(),t=r.getMinutes(),i=e>=12?\"pm\":\"am\";e=e%12;let n=e===0?12:e,s=t<10?\"0\"+t:t;return n+\":\"+s+\" \"+i};Lt.set=(r={},e=\"\",t)=>e.split(\".\").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:t;return!Lt.isObject(a)&&s<o.length-1&&(a={}),i[n]=a},r);Lt.get=(r={},e=\"\",t)=>{let i=r[e]==null?e.split(\".\").reduce((n,s)=>n&&n[s],r):r[e];return i==null?t:i};Lt.mixin=(r,e)=>{if(!iQ(r))return e;if(!iQ(e))return r;for(let t of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,t);if(i.hasOwnProperty(\"value\"))if(r.hasOwnProperty(t)&&iQ(i.value)){let n=Object.getOwnPropertyDescriptor(r,t);iQ(n.value)?r[t]=Lt.merge({},r[t],e[t]):Reflect.defineProperty(r,t,i)}else Reflect.defineProperty(r,t,i);else Reflect.defineProperty(r,t,i)}return r};Lt.merge=(...r)=>{let e={};for(let t of r)Lt.mixin(e,t);return e};Lt.mixinEmitter=(r,e)=>{let t=e.constructor.prototype;for(let i of Object.keys(t)){let n=t[i];typeof n==\"function\"?Lt.define(r,i,n.bind(e)):Lt.define(r,i,n)}};Lt.onExit=r=>{let e=(t,i)=>{uie||(uie=!0,BL.forEach(n=>n()),t===!0&&process.exit(128+i))};BL.length===0&&(process.once(\"SIGTERM\",e.bind(null,!0,15)),process.once(\"SIGINT\",e.bind(null,!0,2)),process.once(\"exit\",e)),BL.push(r)};Lt.define=(r,e,t)=>{Reflect.defineProperty(r,e,{value:t})};Lt.defineExport=(r,e,t)=>{let i;Reflect.defineProperty(r,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():t()}})}});var fie=w(Dh=>{\"use strict\";Dh.ctrl={a:\"first\",b:\"backward\",c:\"cancel\",d:\"deleteForward\",e:\"last\",f:\"forward\",g:\"reset\",i:\"tab\",k:\"cutForward\",l:\"reset\",n:\"newItem\",m:\"cancel\",j:\"submit\",p:\"search\",r:\"remove\",s:\"save\",u:\"undo\",w:\"cutLeft\",x:\"toggleCursor\",v:\"paste\"};Dh.shift={up:\"shiftUp\",down:\"shiftDown\",left:\"shiftLeft\",right:\"shiftRight\",tab:\"prev\"};Dh.fn={up:\"pageUp\",down:\"pageDown\",left:\"pageLeft\",right:\"pageRight\",delete:\"deleteForward\"};Dh.option={b:\"backward\",f:\"forward\",d:\"cutRight\",left:\"cutLeft\",up:\"altUp\",down:\"altDown\"};Dh.keys={pageup:\"pageUp\",pagedown:\"pageDown\",home:\"home\",end:\"end\",cancel:\"cancel\",delete:\"deleteForward\",backspace:\"delete\",down:\"down\",enter:\"submit\",escape:\"cancel\",left:\"left\",space:\"space\",number:\"number\",return:\"submit\",right:\"right\",tab:\"next\",up:\"up\"}});var die=w((vut,pie)=>{\"use strict\";var hie=J(\"readline\"),VGe=fie(),XGe=/^(?:\\x1b)([a-zA-Z0-9])$/,_Ge=/^(?:\\x1b+)(O|N|\\[|\\[\\[)(?:(\\d+)(?:;(\\d+))?([~^$])|(?:1;)?(\\d+)?([a-zA-Z]))/,ZGe={OP:\"f1\",OQ:\"f2\",OR:\"f3\",OS:\"f4\",\"[11~\":\"f1\",\"[12~\":\"f2\",\"[13~\":\"f3\",\"[14~\":\"f4\",\"[[A\":\"f1\",\"[[B\":\"f2\",\"[[C\":\"f3\",\"[[D\":\"f4\",\"[[E\":\"f5\",\"[15~\":\"f5\",\"[17~\":\"f6\",\"[18~\":\"f7\",\"[19~\":\"f8\",\"[20~\":\"f9\",\"[21~\":\"f10\",\"[23~\":\"f11\",\"[24~\":\"f12\",\"[A\":\"up\",\"[B\":\"down\",\"[C\":\"right\",\"[D\":\"left\",\"[E\":\"clear\",\"[F\":\"end\",\"[H\":\"home\",OA:\"up\",OB:\"down\",OC:\"right\",OD:\"left\",OE:\"clear\",OF:\"end\",OH:\"home\",\"[1~\":\"home\",\"[2~\":\"insert\",\"[3~\":\"delete\",\"[4~\":\"end\",\"[5~\":\"pageup\",\"[6~\":\"pagedown\",\"[[5~\":\"pageup\",\"[[6~\":\"pagedown\",\"[7~\":\"home\",\"[8~\":\"end\",\"[a\":\"up\",\"[b\":\"down\",\"[c\":\"right\",\"[d\":\"left\",\"[e\":\"clear\",\"[2$\":\"insert\",\"[3$\":\"delete\",\"[5$\":\"pageup\",\"[6$\":\"pagedown\",\"[7$\":\"home\",\"[8$\":\"end\",Oa:\"up\",Ob:\"down\",Oc:\"right\",Od:\"left\",Oe:\"clear\",\"[2^\":\"insert\",\"[3^\":\"delete\",\"[5^\":\"pageup\",\"[6^\":\"pagedown\",\"[7^\":\"home\",\"[8^\":\"end\",\"[Z\":\"tab\"};function $Ge(r){return[\"[a\",\"[b\",\"[c\",\"[d\",\"[e\",\"[2$\",\"[3$\",\"[5$\",\"[6$\",\"[7$\",\"[8$\",\"[Z\"].includes(r)}function eYe(r){return[\"Oa\",\"Ob\",\"Oc\",\"Od\",\"Oe\",\"[2^\",\"[3^\",\"[5^\",\"[6^\",\"[7^\",\"[8^\"].includes(r)}var nQ=(r=\"\",e={})=>{let t,i={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:r,raw:r,...e};if(Buffer.isBuffer(r)?r[0]>127&&r[1]===void 0?(r[0]-=128,r=\"\\x1B\"+String(r)):r=String(r):r!==void 0&&typeof r!=\"string\"?r=String(r):r||(r=i.sequence||\"\"),i.sequence=i.sequence||r||i.name,r===\"\\r\")i.raw=void 0,i.name=\"return\";else if(r===`\n`)i.name=\"enter\";else if(r===\"\t\")i.name=\"tab\";else if(r===\"\\b\"||r===\"\\x7F\"||r===\"\\x1B\\x7F\"||r===\"\\x1B\\b\")i.name=\"backspace\",i.meta=r.charAt(0)===\"\\x1B\";else if(r===\"\\x1B\"||r===\"\\x1B\\x1B\")i.name=\"escape\",i.meta=r.length===2;else if(r===\" \"||r===\"\\x1B \")i.name=\"space\",i.meta=r.length===2;else if(r<=\"\u001a\")i.name=String.fromCharCode(r.charCodeAt(0)+\"a\".charCodeAt(0)-1),i.ctrl=!0;else if(r.length===1&&r>=\"0\"&&r<=\"9\")i.name=\"number\";else if(r.length===1&&r>=\"a\"&&r<=\"z\")i.name=r;else if(r.length===1&&r>=\"A\"&&r<=\"Z\")i.name=r.toLowerCase(),i.shift=!0;else if(t=XGe.exec(r))i.meta=!0,i.shift=/^[A-Z]$/.test(t[1]);else if(t=_Ge.exec(r)){let n=[...r];n[0]===\"\\x1B\"&&n[1]===\"\\x1B\"&&(i.option=!0);let s=[t[1],t[2],t[4],t[6]].filter(Boolean).join(\"\"),o=(t[3]||t[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=ZGe[s],i.shift=$Ge(s)||i.shift,i.ctrl=eYe(s)||i.ctrl}return i};nQ.listen=(r={},e)=>{let{stdin:t}=r;if(!t||t!==process.stdin&&!t.isTTY)throw new Error(\"Invalid stream passed\");let i=hie.createInterface({terminal:!0,input:t});hie.emitKeypressEvents(t,i);let n=(a,l)=>e(a,nQ(a,l),i),s=t.isRaw;return t.isTTY&&t.setRawMode(!0),t.on(\"keypress\",n),i.resume(),()=>{t.isTTY&&t.setRawMode(s),t.removeListener(\"keypress\",n),i.pause(),i.close()}};nQ.action=(r,e,t)=>{let i={...VGe,...t};return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};pie.exports=nQ});var mie=w((xut,Cie)=>{\"use strict\";Cie.exports=r=>{r.timers=r.timers||{};let e=r.options.timers;if(!!e)for(let t of Object.keys(e)){let i=e[t];typeof i==\"number\"&&(i={interval:i}),tYe(r,t,i)}};function tYe(r,e,t={}){let i=r.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=t.interval||120;i.frames=t.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,r.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,\"interval\",{value:s}),r.once(\"close\",()=>i.stop()),i.stop}});var Iie=w((Put,Eie)=>{\"use strict\";var{define:rYe,width:iYe}=Gi(),QL=class{constructor(e){let t=e.options;rYe(this,\"_prompt\",e),this.type=e.type,this.name=e.name,this.message=\"\",this.header=\"\",this.footer=\"\",this.error=\"\",this.hint=\"\",this.input=\"\",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt=\"\",this.buffer=\"\",this.width=iYe(t.stdout||process.stdout),Object.assign(this,t),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let t=this._color||e[this.status];return typeof t==\"function\"?t:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading==\"boolean\"?this._loading:this.loadingChoices?\"choices\":!1}get status(){return this.cancelled?\"cancelled\":this.submitted?\"submitted\":\"pending\"}};Eie.exports=QL});var wie=w((Dut,yie)=>{\"use strict\";var bL=Gi(),Pi=so(),SL={default:Pi.noop,noop:Pi.noop,set inverse(r){this._inverse=r},get inverse(){return this._inverse||bL.inverse(this.primary)},set complement(r){this._complement=r},get complement(){return this._complement||bL.complement(this.primary)},primary:Pi.cyan,success:Pi.green,danger:Pi.magenta,strong:Pi.bold,warning:Pi.yellow,muted:Pi.dim,disabled:Pi.gray,dark:Pi.dim.gray,underline:Pi.underline,set info(r){this._info=r},get info(){return this._info||this.primary},set em(r){this._em=r},get em(){return this._em||this.primary.underline},set heading(r){this._heading=r},get heading(){return this._heading||this.muted.underline},set pending(r){this._pending=r},get pending(){return this._pending||this.primary},set submitted(r){this._submitted=r},get submitted(){return this._submitted||this.success},set cancelled(r){this._cancelled=r},get cancelled(){return this._cancelled||this.danger},set typing(r){this._typing=r},get typing(){return this._typing||this.dim},set placeholder(r){this._placeholder=r},get placeholder(){return this._placeholder||this.primary.dim},set highlight(r){this._highlight=r},get highlight(){return this._highlight||this.inverse}};SL.merge=(r={})=>{r.styles&&typeof r.styles.enabled==\"boolean\"&&(Pi.enabled=r.styles.enabled),r.styles&&typeof r.styles.visible==\"boolean\"&&(Pi.visible=r.styles.visible);let e=bL.merge({},SL,r.styles);delete e.merge;for(let t of Object.keys(Pi))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Pi[t]});for(let t of Object.keys(Pi.styles))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Pi[t]});return e};yie.exports=SL});var Qie=w((kut,Bie)=>{\"use strict\";var vL=process.platform===\"win32\",Za=so(),nYe=Gi(),xL={...Za.symbols,upDownDoubleArrow:\"\\u21D5\",upDownDoubleArrow2:\"\\u2B0D\",upDownArrow:\"\\u2195\",asterisk:\"*\",asterism:\"\\u2042\",bulletWhite:\"\\u25E6\",electricArrow:\"\\u2301\",ellipsisLarge:\"\\u22EF\",ellipsisSmall:\"\\u2026\",fullBlock:\"\\u2588\",identicalTo:\"\\u2261\",indicator:Za.symbols.check,leftAngle:\"\\u2039\",mark:\"\\u203B\",minus:\"\\u2212\",multiplication:\"\\xD7\",obelus:\"\\xF7\",percent:\"%\",pilcrow:\"\\xB6\",pilcrow2:\"\\u2761\",pencilUpRight:\"\\u2710\",pencilDownRight:\"\\u270E\",pencilRight:\"\\u270F\",plus:\"+\",plusMinus:\"\\xB1\",pointRight:\"\\u261E\",rightAngle:\"\\u203A\",section:\"\\xA7\",hexagon:{off:\"\\u2B21\",on:\"\\u2B22\",disabled:\"\\u2B22\"},ballot:{on:\"\\u2611\",off:\"\\u2610\",disabled:\"\\u2612\"},stars:{on:\"\\u2605\",off:\"\\u2606\",disabled:\"\\u2606\"},folder:{on:\"\\u25BC\",off:\"\\u25B6\",disabled:\"\\u25B6\"},prefix:{pending:Za.symbols.question,submitted:Za.symbols.check,cancelled:Za.symbols.cross},separator:{pending:Za.symbols.pointerSmall,submitted:Za.symbols.middot,cancelled:Za.symbols.middot},radio:{off:vL?\"( )\":\"\\u25EF\",on:vL?\"(*)\":\"\\u25C9\",disabled:vL?\"(|)\":\"\\u24BE\"},numbers:[\"\\u24EA\",\"\\u2460\",\"\\u2461\",\"\\u2462\",\"\\u2463\",\"\\u2464\",\"\\u2465\",\"\\u2466\",\"\\u2467\",\"\\u2468\",\"\\u2469\",\"\\u246A\",\"\\u246B\",\"\\u246C\",\"\\u246D\",\"\\u246E\",\"\\u246F\",\"\\u2470\",\"\\u2471\",\"\\u2472\",\"\\u2473\",\"\\u3251\",\"\\u3252\",\"\\u3253\",\"\\u3254\",\"\\u3255\",\"\\u3256\",\"\\u3257\",\"\\u3258\",\"\\u3259\",\"\\u325A\",\"\\u325B\",\"\\u325C\",\"\\u325D\",\"\\u325E\",\"\\u325F\",\"\\u32B1\",\"\\u32B2\",\"\\u32B3\",\"\\u32B4\",\"\\u32B5\",\"\\u32B6\",\"\\u32B7\",\"\\u32B8\",\"\\u32B9\",\"\\u32BA\",\"\\u32BB\",\"\\u32BC\",\"\\u32BD\",\"\\u32BE\",\"\\u32BF\"]};xL.merge=r=>{let e=nYe.merge({},Za.symbols,xL,r.symbols);return delete e.merge,e};Bie.exports=xL});var Sie=w((Rut,bie)=>{\"use strict\";var sYe=wie(),oYe=Qie(),aYe=Gi();bie.exports=r=>{r.options=aYe.merge({},r.options.theme,r.options),r.symbols=oYe.merge(r.options),r.styles=sYe.merge(r.options)}});var kie=w((Pie,Die)=>{\"use strict\";var vie=process.env.TERM_PROGRAM===\"Apple_Terminal\",AYe=so(),PL=Gi(),oo=Die.exports=Pie,Dr=\"\\x1B[\",xie=\"\\x07\",DL=!1,sl=oo.code={bell:xie,beep:xie,beginning:`${Dr}G`,down:`${Dr}J`,esc:Dr,getPosition:`${Dr}6n`,hide:`${Dr}?25l`,line:`${Dr}2K`,lineEnd:`${Dr}K`,lineStart:`${Dr}1K`,restorePosition:Dr+(vie?\"8\":\"u\"),savePosition:Dr+(vie?\"7\":\"s\"),screen:`${Dr}2J`,show:`${Dr}?25h`,up:`${Dr}1J`},zc=oo.cursor={get hidden(){return DL},hide(){return DL=!0,sl.hide},show(){return DL=!1,sl.show},forward:(r=1)=>`${Dr}${r}C`,backward:(r=1)=>`${Dr}${r}D`,nextLine:(r=1)=>`${Dr}E`.repeat(r),prevLine:(r=1)=>`${Dr}F`.repeat(r),up:(r=1)=>r?`${Dr}${r}A`:\"\",down:(r=1)=>r?`${Dr}${r}B`:\"\",right:(r=1)=>r?`${Dr}${r}C`:\"\",left:(r=1)=>r?`${Dr}${r}D`:\"\",to(r,e){return e?`${Dr}${e+1};${r+1}H`:`${Dr}${r+1}G`},move(r=0,e=0){let t=\"\";return t+=r<0?zc.left(-r):r>0?zc.right(r):\"\",t+=e<0?zc.up(-e):e>0?zc.down(e):\"\",t},restore(r={}){let{after:e,cursor:t,initial:i,input:n,prompt:s,size:o,value:a}=r;if(i=PL.isPrimitive(i)?String(i):\"\",n=PL.isPrimitive(n)?String(n):\"\",a=PL.isPrimitive(a)?String(a):\"\",o){let l=oo.cursor.up(o)+oo.cursor.to(s.length),c=n.length-t;return c>0&&(l+=oo.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+t;return e&&(l-=e.length),n===\"\"&&i&&!s.includes(i)&&(l+=i.length),oo.cursor.move(l)}}},kL=oo.erase={screen:sl.screen,up:sl.up,down:sl.down,line:sl.line,lineEnd:sl.lineEnd,lineStart:sl.lineStart,lines(r){let e=\"\";for(let t=0;t<r;t++)e+=oo.erase.line+(t<r-1?oo.cursor.up(1):\"\");return r&&(e+=oo.code.beginning),e}};oo.clear=(r=\"\",e=process.stdout.columns)=>{if(!e)return kL.line+zc.to(0);let t=s=>[...AYe.unstyle(s)].length,i=r.split(/\\r?\\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(t(s)-1,0)/e);return(kL.line+zc.prevLine()).repeat(n-1)+kL.line+zc.to(0)}});var kh=w((Fut,Fie)=>{\"use strict\";var lYe=J(\"events\"),Rie=so(),RL=die(),cYe=mie(),uYe=Iie(),gYe=Sie(),xn=Gi(),Vc=kie(),Sm=class extends lYe{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,gYe(this),cYe(this),this.state=new uYe(this),this.initial=[e.initial,e.default].find(t=>t!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=hYe(this.options.margin),this.setMaxListeners(0),fYe(this)}async keypress(e,t={}){this.keypressed=!0;let i=RL.action(e,RL(e,t),this.options.actions);this.state.keypress=i,this.emit(\"keypress\",e,i),this.emit(\"state\",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n==\"function\")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit(\"alert\"):this.stdout.write(Vc.code.beep)}cursorHide(){this.stdout.write(Vc.cursor.hide()),xn.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Vc.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let t=this.state.buffer;this.state.buffer=\"\",!(!t&&!e||this.options.show===!1)&&this.stdout.write(Vc.cursor.down(e)+Vc.clear(t,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:t,rest:i}=this.sections(),{cursor:n,initial:s=\"\",input:o=\"\",value:a=\"\"}=this,l=this.state.size=i.length,c={after:t,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=Vc.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:t,prompt:i}=this.state;i=Rie.unstyle(i);let n=Rie.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(`\n`),c=l[0],u=l[l.length-1],f=(i+(t?\" \"+t:\"\")).length,h=f<c.length?c.slice(f+1):\"\";return{header:o,prompt:c,after:h,rest:l.slice(1),last:u}}async submit(){this.state.submitted=!0,this.state.validating=!0,this.options.onSubmit&&await this.options.onSubmit.call(this,this.name,this.value,this);let e=this.state.error||await this.validate(this.value,this.state);if(e!==!0){let t=`\n`+this.symbols.pointer+\" \";typeof e==\"string\"?t+=e.trim():t+=\"Invalid input\",this.state.error=`\n`+this.styles.danger(t),this.state.submitted=!1,await this.render(),await this.alert(),this.state.validating=!1,this.state.error=void 0;return}this.state.validating=!1,await this.render(),await this.close(),this.value=await this.result(this.value),this.emit(\"submit\",this.value)}async cancel(e){this.state.cancelled=this.state.submitted=!0,await this.render(),await this.close(),typeof this.options.onCancel==\"function\"&&await this.options.onCancel.call(this,this.name,this.value,this),this.emit(\"cancel\",await this.error(e))}async close(){this.state.closed=!0;try{let e=this.sections(),t=Math.ceil(e.prompt.length/this.width);e.rest&&this.write(Vc.cursor.down(e.rest.length)),this.write(`\n`.repeat(t))}catch{}this.emit(\"close\")}start(){!this.stop&&this.options.show!==!1&&(this.stop=RL.listen(this,this.keypress.bind(this)),this.once(\"close\",this.stop))}async skip(){return this.skipped=this.options.skip===!0,typeof this.options.skip==\"function\"&&(this.skipped=await this.options.skip.call(this,this.name,this.value)),this.skipped}async initialize(){let{format:e,options:t,result:i}=this;if(this.format=()=>e.call(this,this.value),this.result=()=>i.call(this,this.value),typeof t.initial==\"function\"&&(this.initial=await t.initial.call(this,this)),typeof t.onRun==\"function\"&&await t.onRun.call(this,this),typeof t.onSubmit==\"function\"){let n=t.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error(\"expected prompt to have a custom render method\")}run(){return new Promise(async(e,t)=>{if(this.once(\"submit\",e),this.once(\"cancel\",t),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit(\"run\")})}async element(e,t,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=t&&t[e]!=null?t[e]:await c;if(u===\"\")return u;let g=await this.resolve(u,s,t,i);return!g&&t&&t[e]?this.resolve(c,s,t,i):g}async prefix(){let e=await this.element(\"prefix\")||this.symbols,t=this.timers&&this.timers.prefix,i=this.state;return i.timer=t,xn.isObject(e)&&(e=e[i.status]||e.pending),xn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element(\"message\");return xn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element(\"separator\")||this.symbols,t=this.timers&&this.timers.separator,i=this.state;i.timer=t;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return xn.isObject(s)&&(s=s[i.status]||s.pending),xn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,t){let i=await this.element(\"pointer\",e,t);if(typeof i==\"string\"&&xn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===t,o=s?n.primary:c=>c,a=await this.resolve(i[s?\"on\":\"off\"]||i,this.state),l=xn.hasColor(a)?a:o(a);return s?l:\" \".repeat(a.length)}}async indicator(e,t){let i=await this.element(\"indicator\",e,t);if(typeof i==\"string\"&&xn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?\"on\":\"off\"]||i;return xn.hasColor(a)?a:o(a)}return\"\"}body(){return null}footer(){if(this.state.status===\"pending\")return this.element(\"footer\")}header(){if(this.state.status===\"pending\")return this.element(\"header\")}async hint(){if(this.state.status===\"pending\"&&!this.isValue(this.state.input)){let e=await this.element(\"hint\");return xn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?\"\":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==\"\"}resolve(e,...t){return xn.resolve(this,e,...t)}get base(){return Sm.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||xn.height(this.stdout,25)}get width(){return this.options.columns||xn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:t}=this.state,i=[t,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function fYe(r){let e=n=>r[n]===void 0||typeof r[n]==\"function\",t=[\"actions\",\"choices\",\"initial\",\"margin\",\"roles\",\"styles\",\"symbols\",\"theme\",\"timers\",\"value\"],i=[\"body\",\"footer\",\"error\",\"header\",\"hint\",\"indicator\",\"message\",\"prefix\",\"separator\",\"skip\"];for(let n of Object.keys(r.options)){if(t.includes(n)||/^on[A-Z]/.test(n))continue;let s=r.options[n];typeof s==\"function\"&&e(n)?i.includes(n)||(r[n]=s.bind(r)):typeof r[n]!=\"function\"&&(r[n]=s)}}function hYe(r){typeof r==\"number\"&&(r=[r,r,r,r]);let e=[].concat(r||[]),t=n=>n%2===0?`\n`:\" \",i=[];for(let n=0;n<4;n++){let s=t(n);e[n]?i.push(s.repeat(e[n])):i.push(\"\")}return i}Fie.exports=Sm});var Tie=w((Nut,Lie)=>{\"use strict\";var pYe=Gi(),Nie={default(r,e){return e},checkbox(r,e){throw new Error(\"checkbox role is not implemented yet\")},editable(r,e){throw new Error(\"editable role is not implemented yet\")},expandable(r,e){throw new Error(\"expandable role is not implemented yet\")},heading(r,e){return e.disabled=\"\",e.indicator=[e.indicator,\" \"].find(t=>t!=null),e.message=e.message||\"\",e},input(r,e){throw new Error(\"input role is not implemented yet\")},option(r,e){return Nie.default(r,e)},radio(r,e){throw new Error(\"radio role is not implemented yet\")},separator(r,e){return e.disabled=\"\",e.indicator=[e.indicator,\" \"].find(t=>t!=null),e.message=e.message||r.symbols.line.repeat(5),e},spacer(r,e){return e}};Lie.exports=(r,e={})=>{let t=pYe.merge({},Nie,e.roles);return t[r]||t.default}});var vm=w((Lut,Kie)=>{\"use strict\";var dYe=so(),CYe=kh(),mYe=Tie(),sQ=Gi(),{reorder:FL,scrollUp:EYe,scrollDown:IYe,isObject:Oie,swap:yYe}=sQ,NL=class extends CYe{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=\"\"}async initialize(){typeof this.options.initial==\"function\"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:t,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!=\"function\"&&this.selectable.length===0)throw new Error(\"At least one choice must be selectable\");Oie(t)&&(t=Object.keys(t)),Array.isArray(t)?(i!=null&&(this.index=this.findIndex(i)),t.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(t=i),typeof t==\"string\"&&(t=this.findIndex(t)),typeof t==\"number\"&&t>-1&&(this.index=Math.max(0,Math.min(t,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,t){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o==\"function\"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l<o.length;l++){let c=o[l]=await this.toChoice(o[l],n++,a);i.push(c),c.choices&&await s(c.choices,c)}return i};return s(e,t).then(o=>(this.state.loadingChoices=!1,o))}async toChoice(e,t,i){if(typeof e==\"function\"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e==\"string\"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=mYe(e.role,this.options)(this,e),typeof e.disabled==\"string\"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint=\"(disabled)\"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||\"\",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input=\"\",e.index=t,e.cursor=0,sQ.define(e,\"parent\",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+\"  \":e.indent||\"\"),e.path=i?i.path+\".\"+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,dYe.unstyle(e.message).length));let o={...e};return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial==\"function\"&&(e.input=await e.initial.call(this,this.state,e,t)),e}async onChoice(e,t){this.emit(\"choice\",e,t,this),typeof e.onChoice==\"function\"&&await e.onChoice.call(this,this.state,e,t)}async addChoice(e,t,i){let n=await this.toChoice(e,t,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,t,i){let n={name:\"New choice name?\",editable:!0,newChoice:!0,...e},s=await this.addChoice(n,t,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input=\"\",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?\"  \".repeat(e.level-1):\"\":e.indent}dispatch(e,t){if(this.multiple&&this[t.name])return this[t.name]();this.alert()}focus(e,t){return typeof t!=\"boolean\"&&(t=e.enabled),t&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=t&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelected<this.choices.length)return this.alert();let e=this.selectable.every(t=>t.enabled);return this.choices.forEach(t=>t.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(t=>!!t.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,t){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof t!=\"boolean\"&&(t=!e.enabled),e.enabled=t,e.choices&&e.choices.forEach(n=>this.toggle(n,t));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return Mie(this,this.choices),this.emit(\"toggle\",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let t=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=FL(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=t(s)),this.num=\"\",i(l)};if(s===\"0\"||s.length===1&&Number(s+\"0\")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=FL(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,t=FL(this.choices);return this.choices=t.slice(e).concat(t.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>t&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===t-1?this.alert():e>t&&i===t-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=EYe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=IYe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){yYe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&[\"disabled\",\"collapsed\",\"hidden\",\"completing\",\"readonly\"].some(i=>e[i]===!0)?!0:e&&e.role===\"heading\"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(t=>this.isEnabled(t));if(e.choices){let t=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&t.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,t){return e.name===t||e.index===Number(t)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(t=>this.isChoice(e,t)):this.isChoice(e,this.initial)}map(e=[],t=\"value\"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,t),i),{})}filter(e,t){let n=typeof e==\"function\"?e:(a,l)=>[a.name,l].includes(e),o=(this.options.multiple?this.state._choices:this.choices).filter(n);return t?o.map(a=>a[t]):o}find(e,t){if(Oie(e))return t?e[t]:e;let n=typeof e==\"function\"?e:(o,a)=>[o.name,a].includes(e),s=this.choices.find(n);if(s)return t?s[t]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:t,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&t!==!1&&i!==!0&&(s=sQ.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let t of e)this.state._choices.some(i=>i.name===t.name)||this.state._choices.push(t);if(!this._initial&&this.options.initial){this._initial=!0;let t=this.initial;if(typeof t==\"string\"||typeof t==\"number\"){let i=this.find(t);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return Mie(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:t,choices:i}=this,n=e.limit||this._limit||t.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!=\"string\"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function Mie(r,e){if(e instanceof Promise)return e;if(typeof e==\"function\"){if(sQ.isAsyncFn(e))return e;e=e.call(r,r)}for(let t of e){if(Array.isArray(t.choices)){let i=t.choices.filter(n=>!r.isDisabled(n));t.enabled=i.every(n=>n.enabled===!0)}r.isDisabled(t)===!0&&delete t.enabled}return e}Kie.exports=NL});var ol=w((Tut,Uie)=>{\"use strict\";var wYe=vm(),LL=Gi(),TL=class extends wYe{constructor(e){super(e),this.emptyError=this.options.emptyError||\"No items were selected\"}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,t){return!this.multiple||this.options.pointer?super.pointer(e,t):\"\"}indicator(e,t){return this.multiple?super.indicator(e,t):\"\"}choiceMessage(e,t){let i=this.resolve(e.message,this.state,e,t);return e.role===\"heading\"&&!LL.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,t)}choiceSeparator(){return\":\"}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await this.indicator(e,t)+(e.pad||\"\"),o=await this.resolve(e.hint,this.state,e,t);o&&!LL.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,t),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(\" \");return e.role===\"heading\"?c():e.disabled?(LL.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading===\"choices\")return this.styles.warning(\"Loading choices\");if(this.state.submitted)return\"\";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),t=await Promise.all(e);t.length||t.push(this.styles.danger(\"No matching choices\"));let i=this.margin[0]+t.join(`\n`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(`\n`)}format(){return!this.state.submitted||this.state.cancelled?\"\":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(\", \"):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:t}=this.state,i=\"\",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,\"\"].join(\" \"),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=\" \"+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(t),this.write([n,i,u,g].filter(Boolean).join(`\n`)),this.write(this.margin[2]),this.restore()}};Uie.exports=TL});var Gie=w((Out,Hie)=>{\"use strict\";var BYe=ol(),QYe=(r,e)=>{let t=r.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(t),o=e(i.slice(s,s+t.length));return s>=0?i.slice(0,s)+o+i.slice(s+t.length):i}},OL=class extends BYe{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:t,input:i}=this.state;return this.input=i.slice(0,t)+e+i.slice(t),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:t}=this.state;return t?(this.input=t.slice(0,e-1)+t.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:t}=this.state;return t[e]===void 0?this.alert():(this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,t=this.state._choices){if(typeof this.options.suggest==\"function\")return this.options.suggest.call(this,e,t);let i=e.toLowerCase();return t.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return\"\"}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(\", \");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!==\"pending\")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,t=QYe(this.input,e),i=this.choices;this.choices=i.map(n=>({...n,message:t(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};Hie.exports=OL});var KL=w((Mut,Yie)=>{\"use strict\";var ML=Gi();Yie.exports=(r,e={})=>{r.cursorHide();let{input:t=\"\",initial:i=\"\",pos:n,showCursor:s=!0,color:o}=e,a=o||r.styles.placeholder,l=ML.inverse(r.styles.primary),c=C=>l(r.styles.black(C)),u=t,g=\" \",f=c(g);if(r.blink&&r.blink.off===!0&&(c=C=>C,f=\"\"),s&&n===0&&i===\"\"&&t===\"\")return c(g);if(s&&n===0&&(t===i||t===\"\"))return c(i[0])+a(i.slice(1));i=ML.isPrimitive(i)?`${i}`:\"\",t=ML.isPrimitive(t)?`${t}`:\"\";let h=i&&i.startsWith(t)&&i!==t,p=h?c(i[t.length]):f;if(n!==t.length&&s===!0&&(u=t.slice(0,n)+c(t[n])+t.slice(n+1),p=\"\"),s===!1&&(p=\"\"),h){let C=r.styles.unstyle(u+p);return u+p+a(i.slice(C.length))}return u+p}});var oQ=w((Kut,jie)=>{\"use strict\";var bYe=so(),SYe=ol(),vYe=KL(),UL=class extends SYe{constructor(e){super({...e,multiple:!0}),this.type=\"form\",this.initial=this.options.initial,this.align=[this.options.align,\"right\"].find(t=>t!=null),this.emptyError=\"\",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(t=>t.reset&&t.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let t=this.focused;if(!t)return this.alert();let{cursor:i,input:n}=t;return t.value=t.input=n.slice(0,i)+e+n.slice(i),t.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:t,input:i}=e;return e.value=e.input=i.slice(0,t-1)+i.slice(t),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:t,input:i}=e;if(i[t]===void 0)return this.alert();let n=`${i}`.slice(0,t)+`${i}`.slice(t+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,t){return this.dispatch(e,t)}number(e,t){return this.dispatch(e,t)}next(){let e=this.focused;if(!e)return this.alert();let{initial:t,input:i}=e;return t&&t.startsWith(i)&&i!==t?(e.value=e.input=t,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input=\"\",e.cursor=0,this.render()):this.alert()}separator(){return\"\"}format(e){return this.state.submitted?\"\":super.format(e)}pointer(){return\"\"}indicator(e){return e.input?\"\\u29BF\":\"\\u2299\"}async choiceSeparator(e,t){let i=await this.resolve(e.separator,this.state,e,t)||\":\";return i?\" \"+this.styles.disabled(i):\"\"}async renderChoice(e,t){await this.onChoice(e,t);let{state:i,styles:n}=this,{cursor:s,initial:o=\"\",name:a,hint:l,input:c=\"\"}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,C=this.index===t,y=e.validate||(()=>!0),B=await this.choiceSeparator(e,t),v=e.message;this.align===\"right\"&&(v=v.padStart(this.longest+1,\" \")),this.align===\"left\"&&(v=v.padEnd(this.longest+1,\" \"));let D=this.values[a]=c||o,L=c?\"success\":\"dark\";await y.call(e,D,this.state)!==!0&&(L=\"danger\");let H=n[L],j=H(await this.indicator(e,t))+(e.pad||\"\"),$=this.indent(e),V=()=>[$,j,v+B,c,p].filter(Boolean).join(\" \");if(i.submitted)return v=bYe.unstyle(v),c=g(c),p=\"\",V();if(e.format)c=await e.format.call(this,c,e,t);else{let W=this.styles.muted;c=vYe(this,{input:c,initial:o,pos:s,showCursor:C,color:W})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,D,e,t)),C&&(v=f(v)),e.error?c+=(c?\" \":\"\")+h(e.error.trim()):e.hint&&(c+=(c?\" \":\"\")+u(e.hint.trim())),V()}async submit(){return this.value=this.values,super.base.submit.call(this)}};jie.exports=UL});var HL=w((Uut,Jie)=>{\"use strict\";var xYe=oQ(),PYe=()=>{throw new Error(\"expected prompt to have a custom authenticate method\")},qie=(r=PYe)=>{class e extends xYe{constructor(i){super(i)}async submit(){this.value=await r.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return qie(i)}}return e};Jie.exports=qie()});var Vie=w((Hut,zie)=>{\"use strict\";var DYe=HL();function kYe(r,e){return r.username===this.options.username&&r.password===this.options.password}var Wie=(r=kYe)=>{let e=[{name:\"username\",message:\"username\"},{name:\"password\",message:\"password\",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class t extends DYe.create(r){constructor(n){super({...n,choices:e})}static create(n){return Wie(n)}}return t};zie.exports=Wie()});var aQ=w((Gut,Xie)=>{\"use strict\";var RYe=kh(),{isPrimitive:FYe,hasColor:NYe}=Gi(),GL=class extends RYe{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:t,state:i}=this;return i.submitted?t.success(e):t.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return FYe(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status===\"pending\"){let e=await this.element(\"hint\");return NYe(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(\" \");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=\" \"+g),a+=\" \"+u,this.clear(t),this.write([l,a,f].filter(Boolean).join(`\n`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};Xie.exports=GL});var Zie=w((Yut,_ie)=>{\"use strict\";var LYe=aQ(),YL=class extends LYe{constructor(e){super(e),this.default=this.options.default||(this.initial?\"(Y/n)\":\"(y/N)\")}};_ie.exports=YL});var ene=w((jut,$ie)=>{\"use strict\";var TYe=ol(),OYe=oQ(),Rh=OYe.prototype,jL=class extends TYe{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,\"left\"].find(t=>t!=null),this.emptyError=\"\",this.values={}}dispatch(e,t){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e===\"a\"||e===\"i\")?super[e]():Rh.dispatch.call(this,e,t)}append(e,t){return Rh.append.call(this,e,t)}delete(e,t){return Rh.delete.call(this,e,t)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?Rh.next.call(this):super.next()}prev(){return this.focused.editable?Rh.prev.call(this):super.prev()}async indicator(e,t){let i=e.indicator||\"\",n=e.editable?i:super.indicator(e,t);return await this.resolve(n,this.state,e,t)||\"\"}indent(e){return e.role===\"heading\"?\"\":e.editable?\" \":\"  \"}async renderChoice(e,t){return e.indent=\"\",e.editable?Rh.renderChoice.call(this,e,t):super.renderChoice(e,t)}error(){return\"\"}footer(){return this.state.error}async validate(){let e=!0;for(let t of this.choices){if(typeof t.validate!=\"function\"||t.role===\"heading\")continue;let i=t.parent?this.value[t.parent.name]:this.value;if(t.editable?i=t.value===t.name?t.initial||\"\":t.value:this.isDisabled(t)||(i=t.enabled===!0),e=await t.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e==\"string\"?e:\"Invalid Input\"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let t=e.parent?this.value[e.parent.name]:this.value;if(e.role===\"heading\"){this.value[e.name]={};continue}e.editable?t[e.name]=e.value===e.name?e.initial||\"\":e.value:this.isDisabled(e)||(t[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};$ie.exports=jL});var Xc=w((qut,tne)=>{\"use strict\";var MYe=kh(),KYe=KL(),{isPrimitive:UYe}=Gi(),qL=class extends MYe{constructor(e){super(e),this.initial=UYe(this.initial)?String(this.initial):\"\",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,t={}){let i=this.state.prevKeypress;return this.state.prevKeypress=t,this.options.multiline===!0&&t.name===\"return\"&&(!i||i.name!==\"return\")?this.append(`\n`,t):super.keypress(e,t)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value=\"\",this.cursor=0,this.render()}dispatch(e,t){if(!e||t.ctrl||t.code)return this.alert();this.append(e)}append(e){let{cursor:t,input:i}=this.state;this.input=`${i}`.slice(0,t)+e+`${i}`.slice(t),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:t}=this.state;if(e<=0)return this.alert();this.input=`${t}`.slice(0,e-1)+`${t}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:t}=this.state;if(t[e]===void 0)return this.alert();this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let t=this.input.slice(0,e),i=this.input.slice(e),n=t.split(\" \");this.state.clipboard.push(n.pop()),this.input=n.join(\" \"),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):\"\";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let t=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||t):KYe(this,{input:e,initial:t,pos:this.cursor})}async render(){let e=this.state.size,t=await this.prefix(),i=await this.separator(),n=await this.message(),s=[t,n,i].filter(Boolean).join(\" \");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=\" \"+l),s+=\" \"+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(`\n`)),this.restore()}};tne.exports=qL});var ine=w((Jut,rne)=>{\"use strict\";var HYe=r=>r.filter((e,t)=>r.lastIndexOf(e)===t),AQ=r=>HYe(r).filter(Boolean);rne.exports=(r,e={},t=\"\")=>{let{past:i=[],present:n=\"\"}=e,s,o;switch(r){case\"prev\":case\"undo\":return s=i.slice(0,i.length-1),o=i[i.length-1]||\"\",{past:AQ([t,...s]),present:o};case\"next\":case\"redo\":return s=i.slice(1),o=i[0]||\"\",{past:AQ([...s,t]),present:o};case\"save\":return{past:AQ([...i,t]),present:\"\"};case\"remove\":return o=AQ(i.filter(a=>a!==t)),n=\"\",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: \"${r}\"`)}}});var WL=w((Wut,sne)=>{\"use strict\";var GYe=Xc(),nne=ine(),JL=class extends GYe{constructor(e){super(e);let t=this.options.history;if(t&&t.store){let i=t.values||this.initial;this.autosave=!!t.autosave,this.store=t.store,this.data=this.store.get(\"values\")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=nne(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion(\"prev\")}altDown(){return this.completion(\"next\")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=nne(\"save\",this.data,this.input),this.store.set(\"values\",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};sne.exports=JL});var ane=w((zut,one)=>{\"use strict\";var YYe=Xc(),zL=class extends YYe{format(){return\"\"}};one.exports=zL});var lne=w((Vut,Ane)=>{\"use strict\";var jYe=Xc(),VL=class extends jYe{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||\"\"}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:t=>t;return this.list.map(e).join(\", \")}async submit(e){let t=this.state.error||await this.validate(this.list,this.state);return t!==!0?(this.state.error=t,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};Ane.exports=VL});var une=w((Xut,cne)=>{\"use strict\";var qYe=ol(),XL=class extends qYe{constructor(e){super({...e,multiple:!0})}};cne.exports=XL});var ZL=w((_ut,gne)=>{\"use strict\";var JYe=Xc(),_L=class extends JYe{constructor(e={}){super({style:\"number\",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:\"\",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e===\".\"&&this.input.includes(\".\")?this.alert(\"invalid number\"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let t=e||this.minor,i=this.toNumber(this.input);return i>this.max+t?this.alert():(this.input=`${i+t}`,this.render())}down(e){let t=e||this.minor,i=this.toNumber(this.input);return i<this.min-t?this.alert():(this.input=`${i-t}`,this.render())}shiftDown(){return this.down(this.major)}shiftUp(){return this.up(this.major)}format(e=this.input){return typeof this.options.format==\"function\"?this.options.format.call(this,e):this.styles.info(e)}toNumber(e=\"\"){return this.float?+e:Math.round(+e)}isValue(e){return/^[-+]?[0-9]+((\\.)|(\\.[0-9]+))?$/.test(e)}submit(){let e=[this.input,this.initial].find(t=>this.isValue(t));return this.value=this.toNumber(e||0),super.submit()}};gne.exports=_L});var hne=w((Zut,fne)=>{fne.exports=ZL()});var dne=w(($ut,pne)=>{\"use strict\";var WYe=Xc(),$L=class extends WYe{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):\"\"}};pne.exports=$L});var Ene=w((egt,mne)=>{\"use strict\";var zYe=so(),VYe=vm(),Cne=Gi(),eT=class extends VYe{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||\"left\"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||`\n   `;let t=e.startNumber||1;typeof this.scale==\"number\"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+t})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let t of this.choices){e=Math.max(e,t.message.length),t.scaleIndex=t.initial||2,t.scale=[];for(let i=0;i<this.scale.length;i++)t.scale.push({index:i})}this.widths[0]=Math.min(this.widths[0],e+3)}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}heading(e,t,i){return this.styles.strong(e)}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIndex>=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return\"\"}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.index)).join(\", \"):\"\"}pointer(){return\"\"}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return\"\";let e=this.scale.map(i=>`   ${i.name} - ${i.message}`);return[\"\",...e].map(i=>this.styles.muted(i)).join(`\n`)}renderScaleHeading(e){let t=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading==\"function\"&&(t=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-t.join(\"\").length,n=Math.round(i/(t.length-1)),o=t.map(l=>this.styles.strong(l)).join(\" \".repeat(n)),a=\" \".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,t,i){if(typeof this.options.scaleIndicator==\"function\")return this.options.scaleIndicator.call(this,e,t,i);let n=e.scaleIndex===t.index;return t.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,t){let i=e.scale.map(s=>this.scaleIndicator(e,s,t)),n=this.term===\"Hyper\"?\"\":\" \";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await e.hint;s&&!Cne.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\\s+$/,\"\").padEnd(this.widths[0],\" \"),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,t),u=await this.renderScale(e,t),g=this.margin[1]+this.margin[3];this.scaleLength=zYe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=Cne.wordWrap(c,{width:this.widths[0],newline:a}).split(`\n`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(\"\"),[l+n,h.join(`\n`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return\"\";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),t=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...t.map(n=>n.join(\" \"))].join(`\n`)}async render(){let{submitted:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=\"\";this.options.promptLine!==!1&&(o=[i,s,n,\"\"].join(\" \"),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=\" \"+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(t),this.write([a,o,c,g,f].filter(Boolean).join(`\n`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};mne.exports=eT});var wne=w((tgt,yne)=>{\"use strict\";var Ine=so(),XYe=(r=\"\")=>typeof r==\"string\"?r.replace(/^['\"]|['\"]$/g,\"\"):\"\",rT=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=XYe(e.initial||this.field.initial||\"\"),this.message=e.message||this.name,this.cursor=0,this.input=\"\",this.lines=[]}},_Ye=async(r={},e={},t=i=>i)=>{let i=new Set,n=r.fields||[],s=r.template,o=[],a=[],l=[],c=1;typeof s==\"function\"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:\"bos\",value:\"\"});u<s.length-1;){let p=g();if(/^[^\\S\\n ]$/.test(p)){h({type:\"text\",value:p});continue}if(p===`\n`){h({type:\"newline\",value:p}),c++;continue}if(p===\"\\\\\"){p+=g(),h({type:\"text\",value:p});continue}if((p===\"$\"||p===\"#\"||p===\"{\")&&f()===\"{\"){p+=g();let B={type:\"template\",open:p,inner:\"\",close:\"\",value:p},v;for(;v=g();){if(v===\"}\"){f()===\"}\"&&(v+=g()),B.value+=v,B.close=v;break}v===\":\"?(B.initial=\"\",B.key=B.inner):B.initial!==void 0&&(B.initial+=v),B.value+=v,B.inner+=v}B.template=B.open+(B.initial||B.inner)+B.close,B.key=B.key||B.inner,e.hasOwnProperty(B.key)&&(B.initial=e[B.key]),B=t(B),h(B),l.push(B.key),i.add(B.key);let D=a.find(L=>L.name===B.key);B.field=n.find(L=>L.name===B.key),D||(D=new rT(B),a.push(D)),D.lines.push(B.line-1);continue}let C=o[o.length-1];C.type===\"text\"&&C.line===c?C.value+=p:h({type:\"text\",value:p})}return h({type:\"eos\",value:\"\"}),{input:s,tabstops:o,unique:i,keys:l,items:a}};yne.exports=async r=>{let e=r.options,t=new Set(e.required===!0?[]:e.required||[]),i={...e.values,...e.initial},{tabstops:n,items:s,keys:o}=await _Ye(e,i),a=tT(\"result\",r,e),l=tT(\"format\",r,e),c=tT(\"validate\",r,e,!0),u=r.isValue.bind(r);return async(g={},f=!1)=>{let h=0;g.required=t,g.items=s,g.keys=o,g.output=\"\";let p=async(v,D,L,H)=>{let j=await c(v,D,L,H);return j===!1?\"Invalid field \"+L.name:j};for(let v of n){let D=v.value,L=v.key;if(v.type!==\"template\"){D&&(g.output+=D);continue}if(v.type===\"template\"){let H=s.find(Z=>Z.name===L);e.required===!0&&g.required.add(H.name);let j=[H.input,g.values[H.value],H.value,D].find(u),V=(H.field||{}).message||v.inner;if(f){let Z=await p(g.values[L],g,H,h);if(Z&&typeof Z==\"string\"||Z===!1){g.invalid.set(L,Z);continue}g.invalid.delete(L);let A=await a(g.values[L],g,H,h);g.output+=Ine.unstyle(A);continue}H.placeholder=!1;let W=D;D=await l(D,g,H,h),j!==D?(g.values[L]=j,D=r.styles.typing(j),g.missing.delete(V)):(g.values[L]=void 0,j=`<${V}>`,D=r.styles.primary(j),H.placeholder=!0,g.required.has(L)&&g.missing.add(V)),g.missing.has(V)&&g.validating&&(D=r.styles.warning(j)),g.invalid.has(L)&&g.validating&&(D=r.styles.danger(j)),h===g.index&&(W!==D?D=r.styles.underline(D):D=r.styles.heading(Ine.unstyle(D))),h++}D&&(g.output+=D)}let C=g.output.split(`\n`).map(v=>\" \"+v),y=s.length,B=0;for(let v of s)g.invalid.has(v.name)&&v.lines.forEach(D=>{C[D][0]===\" \"&&(C[D]=g.styles.danger(g.symbols.bullet)+C[D].slice(1))}),r.isValue(g.values[v.name])&&B++;return g.completed=(B/y*100).toFixed(0),g.output=C.join(`\n`),g.output}};function tT(r,e,t,i){return(n,s,o,a)=>typeof o.field[r]==\"function\"?o.field[r].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var Qne=w((rgt,Bne)=>{\"use strict\";var ZYe=so(),$Ye=wne(),eje=kh(),iT=class extends eje{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await $Ye(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let t=this.getItem();this.cursor+=e,t.cursor+=e}dispatch(e,t){if(!t.code&&!t.ctrl&&e!=null&&this.getItem()){this.append(e,t);return}this.alert()}append(e,t){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let t=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${t}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let t=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(t=this.styles.danger),t(`${this.state.completed}% completed`)}async render(){let{index:e,keys:t=[],submitted:i,size:n}=this.state,s=[this.options.newline,`\n`].find(v=>v!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(\" \");this.state.prompt=c;let u=await this.header(),g=await this.error()||\"\",f=await this.hint()||\"\",h=i?\"\":await this.interpolate(this.state),p=this.state.key=t[e]||\"\",C=await this.format(p),y=await this.footer();C&&(c+=\" \"+C),f&&!C&&this.state.completed===0&&(c+=\" \"+f),this.clear(n);let B=[u,c,h,y,g.trim()];this.write(B.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:t,keys:i,index:n}=this.state,s=t.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!=\"function\"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:t,output:i,values:n}=this.state;if(e.size){let a=\"\";for(let[l,c]of e)a+=`Invalid ${l}: ${c}\n`;return this.state.error=a,super.submit()}if(t.size)return this.state.error=\"Required: \"+[...t.keys()].join(\", \"),super.submit();let o=ZYe.unstyle(i).split(`\n`).map(a=>a.slice(1)).join(`\n`);return this.value={values:n,result:o},super.submit()}};Bne.exports=iT});var Sne=w((igt,bne)=>{\"use strict\";var tje=\"(Use <shift>+<up/down> to sort)\",rje=ol(),nT=class extends rje{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,tje].find(this.isValue.bind(this))}indicator(){return\"\"}async renderChoice(e,t){let i=await super.renderChoice(e,t),n=this.symbols.identicalTo+\" \",s=this.index===t&&this.sorting?this.styles.muted(n):\"  \";return this.options.drag===!1&&(s=\"\"),this.options.numbered===!0?s+`${t+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};bne.exports=nT});var xne=w((ngt,vne)=>{\"use strict\";var ije=vm(),sT=class extends ije{constructor(e={}){if(super(e),this.emptyError=e.emptyError||\"No items were selected\",this.term=process.env.TERM_PROGRAM,!this.options.header){let t=[\"\",\"4 - Strongly Agree\",\"3 - Agree\",\"2 - Neutral\",\"1 - Disagree\",\"0 - Strongly Disagree\",\"\"];t=t.map(i=>this.styles.muted(i)),this.state.header=t.join(`\n   `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let t=await super.toChoices(...e);for(let i of t)i.scale=nje(5,this.options),i.scaleIdx=2;return t}dispatch(){this.alert()}space(){let e=this.focused,t=e.scale[e.scaleIdx],i=t.selected;return e.scale.forEach(n=>n.selected=!1),t.selected=!i,this.render()}indicator(){return\"\"}pointer(){return\"\"}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return\"   \"}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=this.term===\"Hyper\",s=n?9:8,o=n?\"\":\" \",a=this.symbols.line.repeat(s),l=\" \".repeat(s+(n?0:1)),c=D=>(D?this.styles.success(\"\\u25C9\"):\"\\u25EF\")+o,u=t+1+\".\",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,t),h=this.indent(e),p=h+e.scale.map((D,L)=>c(L===e.scaleIdx)).join(a),C=D=>D===e.scaleIdx?g(D):D,y=h+e.scale.map((D,L)=>C(L)).join(l),B=()=>[u,f].filter(Boolean).join(\" \"),v=()=>[B(),p,y,\" \"].filter(Boolean).join(`\n`);return i&&(p=this.styles.cyan(p),y=this.styles.cyan(y)),v()}async renderChoices(){if(this.state.submitted)return\"\";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),t=await Promise.all(e);return t.length||t.push(this.styles.danger(\"No matching choices\")),t.join(`\n`)}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.scaleIdx)).join(\", \"):\"\"}async render(){let{submitted:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(\" \");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=\" \"+l),c&&!o.includes(c)&&(o+=\" \"+c),e&&!l&&!u&&this.multiple&&this.type!==\"form\"&&(o+=this.styles.danger(this.emptyError)),this.clear(t),this.write([o,a,u,g].filter(Boolean).join(`\n`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function nje(r,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>({...i}));let t=[];for(let i=1;i<r+1;i++)t.push({i,selected:!1});return t}vne.exports=sT});var Dne=w((sgt,Pne)=>{Pne.exports=WL()});var Rne=w((ogt,kne)=>{\"use strict\";var sje=aQ(),oT=class extends sje{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||\"no\",this.enabled=this.options.enabled||\"yes\",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e=\"\",t){switch(e.toLowerCase()){case\" \":return this.toggle();case\"1\":case\"y\":case\"t\":return this.enable();case\"0\":case\"n\":case\"f\":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(\" / \"))}async render(){let{size:e}=this.state,t=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(\" \");this.state.prompt=c,a&&!c.includes(a)&&(c+=\" \"+a),this.clear(e),this.write([t,c,l].filter(Boolean).join(`\n`)),this.write(this.margin[2]),this.restore()}};kne.exports=oT});var Nne=w((agt,Fne)=>{\"use strict\";var oje=ol(),aT=class extends oje{constructor(e){if(super(e),typeof this.options.correctChoice!=\"number\"||this.options.correctChoice<0)throw new Error(\"Please specify the index of the correct answer from the list of choices\")}async toChoices(e,t){let i=await super.toChoices(e,t);if(i.length<2)throw new Error(\"Please give at least two choices to the user\");if(this.options.correctChoice>i.length)throw new Error(\"Please specify the index of the correct answer from the list of choices\");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Fne.exports=aT});var Tne=w(AT=>{\"use strict\";var Lne=Gi(),ui=(r,e)=>{Lne.defineExport(AT,r,e),Lne.defineExport(AT,r.toLowerCase(),e)};ui(\"AutoComplete\",()=>Gie());ui(\"BasicAuth\",()=>Vie());ui(\"Confirm\",()=>Zie());ui(\"Editable\",()=>ene());ui(\"Form\",()=>oQ());ui(\"Input\",()=>WL());ui(\"Invisible\",()=>ane());ui(\"List\",()=>lne());ui(\"MultiSelect\",()=>une());ui(\"Numeral\",()=>hne());ui(\"Password\",()=>dne());ui(\"Scale\",()=>Ene());ui(\"Select\",()=>ol());ui(\"Snippet\",()=>Qne());ui(\"Sort\",()=>Sne());ui(\"Survey\",()=>xne());ui(\"Text\",()=>Dne());ui(\"Toggle\",()=>Rne());ui(\"Quiz\",()=>Nne())});var Mne=w((lgt,One)=>{One.exports={ArrayPrompt:vm(),AuthPrompt:HL(),BooleanPrompt:aQ(),NumberPrompt:ZL(),StringPrompt:Xc()}});var Pm=w((cgt,Une)=>{\"use strict\";var Kne=J(\"assert\"),cT=J(\"events\"),al=Gi(),ao=class extends cT{constructor(e,t){super(),this.options=al.merge({},e),this.answers={...t}}register(e,t){if(al.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}Kne.equal(typeof t,\"function\",\"expected a function\");let i=e.toLowerCase();return t.prototype instanceof this.Prompt?this.prompts[i]=t:this.prompts[i]=t(this.Prompt,this),this}async prompt(e=[]){for(let t of[].concat(e))try{typeof t==\"function\"&&(t=await t.call(this)),await this.ask(al.merge({},this.options,t))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e==\"function\"&&(e=await e.call(this));let t=al.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=al;if(typeof i==\"function\"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];Kne(this.prompts[i],`Prompt \"${i}\" is not registered`);let a=new this.prompts[i](t),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on(\"submit\",u=>{this.emit(\"answer\",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit(\"prompt\",a,this),t.autofill&&l!=null?(a.value=a.input=l,t.autofill===\"show\"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||kh()}static get prompts(){return Tne()}static get types(){return Mne()}static get prompt(){let e=(t,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(t)};return al.mixinEmitter(e,new cT),e}};al.mixinEmitter(ao,new cT);var lT=ao.prompts;for(let r of Object.keys(lT)){let e=r.toLowerCase(),t=i=>new lT[r](i).run();ao.prompt[e]=t,ao[e]=t,ao[r]||Reflect.defineProperty(ao,r,{get:()=>lT[r]})}var xm=r=>{al.defineExport(ao,r,()=>ao.types[r])};xm(\"ArrayPrompt\");xm(\"AuthPrompt\");xm(\"BooleanPrompt\");xm(\"NumberPrompt\");xm(\"StringPrompt\");Une.exports=ao});var Xne=w((_gt,Vne)=>{function uje(r,e){for(var t=-1,i=r==null?0:r.length;++t<i&&e(r[t],t,r)!==!1;);return r}Vne.exports=uje});var Nh=w((Zgt,_ne)=>{var gje=B0(),fje=gh();function hje(r,e,t,i){var n=!t;t||(t={});for(var s=-1,o=e.length;++s<o;){var a=e[s],l=i?i(t[a],r[a],a,t,r):void 0;l===void 0&&(l=r[a]),n?fje(t,a,l):gje(t,a,l)}return t}_ne.exports=hje});var $ne=w(($gt,Zne)=>{var pje=Nh(),dje=Ih();function Cje(r,e){return r&&pje(e,dje(e),r)}Zne.exports=Cje});var tse=w((eft,ese)=>{function mje(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}ese.exports=mje});var ise=w((tft,rse)=>{var Eje=bn(),Ije=U0(),yje=tse(),wje=Object.prototype,Bje=wje.hasOwnProperty;function Qje(r){if(!Eje(r))return yje(r);var e=Ije(r),t=[];for(var i in r)i==\"constructor\"&&(e||!Bje.call(r,i))||t.push(i);return t}rse.exports=Qje});var Lh=w((rft,nse)=>{var bje=NN(),Sje=ise(),vje=rm();function xje(r){return vje(r)?bje(r,!0):Sje(r)}nse.exports=xje});var ose=w((ift,sse)=>{var Pje=Nh(),Dje=Lh();function kje(r,e){return r&&Pje(e,Dje(e),r)}sse.exports=kje});var dT=w((Fm,Th)=>{var Rje=ds(),cse=typeof Fm==\"object\"&&Fm&&!Fm.nodeType&&Fm,ase=cse&&typeof Th==\"object\"&&Th&&!Th.nodeType&&Th,Fje=ase&&ase.exports===cse,Ase=Fje?Rje.Buffer:void 0,lse=Ase?Ase.allocUnsafe:void 0;function Nje(r,e){if(e)return r.slice();var t=r.length,i=lse?lse(t):new r.constructor(t);return r.copy(i),i}Th.exports=Nje});var CT=w((nft,use)=>{function Lje(r,e){var t=-1,i=r.length;for(e||(e=Array(i));++t<i;)e[t]=r[t];return e}use.exports=Lje});var fse=w((sft,gse)=>{var Tje=Nh(),Oje=G0();function Mje(r,e){return Tje(r,Oje(r),e)}gse.exports=Mje});var cQ=w((oft,hse)=>{var Kje=LN(),Uje=Kje(Object.getPrototypeOf,Object);hse.exports=Uje});var mT=w((aft,pse)=>{var Hje=b0(),Gje=cQ(),Yje=G0(),jje=HN(),qje=Object.getOwnPropertySymbols,Jje=qje?function(r){for(var e=[];r;)Hje(e,Yje(r)),r=Gje(r);return e}:jje;pse.exports=Jje});var Cse=w((Aft,dse)=>{var Wje=Nh(),zje=mT();function Vje(r,e){return Wje(r,zje(r),e)}dse.exports=Vje});var Ese=w((lft,mse)=>{var Xje=UN(),_je=mT(),Zje=Lh();function $je(r){return Xje(r,Zje,_je)}mse.exports=$je});var yse=w((cft,Ise)=>{var eqe=Object.prototype,tqe=eqe.hasOwnProperty;function rqe(r){var e=r.length,t=new r.constructor(e);return e&&typeof r[0]==\"string\"&&tqe.call(r,\"index\")&&(t.index=r.index,t.input=r.input),t}Ise.exports=rqe});var uQ=w((uft,Bse)=>{var wse=MN();function iqe(r){var e=new r.constructor(r.byteLength);return new wse(e).set(new wse(r)),e}Bse.exports=iqe});var bse=w((gft,Qse)=>{var nqe=uQ();function sqe(r,e){var t=e?nqe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.byteLength)}Qse.exports=sqe});var vse=w((fft,Sse)=>{var oqe=/\\w*$/;function aqe(r){var e=new r.constructor(r.source,oqe.exec(r));return e.lastIndex=r.lastIndex,e}Sse.exports=aqe});var Rse=w((hft,kse)=>{var xse=Ec(),Pse=xse?xse.prototype:void 0,Dse=Pse?Pse.valueOf:void 0;function Aqe(r){return Dse?Object(Dse.call(r)):{}}kse.exports=Aqe});var ET=w((pft,Fse)=>{var lqe=uQ();function cqe(r,e){var t=e?lqe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.length)}Fse.exports=cqe});var Lse=w((dft,Nse)=>{var uqe=uQ(),gqe=bse(),fqe=vse(),hqe=Rse(),pqe=ET(),dqe=\"[object Boolean]\",Cqe=\"[object Date]\",mqe=\"[object Map]\",Eqe=\"[object Number]\",Iqe=\"[object RegExp]\",yqe=\"[object Set]\",wqe=\"[object String]\",Bqe=\"[object Symbol]\",Qqe=\"[object ArrayBuffer]\",bqe=\"[object DataView]\",Sqe=\"[object Float32Array]\",vqe=\"[object Float64Array]\",xqe=\"[object Int8Array]\",Pqe=\"[object Int16Array]\",Dqe=\"[object Int32Array]\",kqe=\"[object Uint8Array]\",Rqe=\"[object Uint8ClampedArray]\",Fqe=\"[object Uint16Array]\",Nqe=\"[object Uint32Array]\";function Lqe(r,e,t){var i=r.constructor;switch(e){case Qqe:return uqe(r);case dqe:case Cqe:return new i(+r);case bqe:return gqe(r,t);case Sqe:case vqe:case xqe:case Pqe:case Dqe:case kqe:case Rqe:case Fqe:case Nqe:return pqe(r,t);case mqe:return new i;case Eqe:case wqe:return new i(r);case Iqe:return fqe(r);case yqe:return new i;case Bqe:return hqe(r)}}Nse.exports=Lqe});var Mse=w((Cft,Ose)=>{var Tqe=bn(),Tse=Object.create,Oqe=function(){function r(){}return function(e){if(!Tqe(e))return{};if(Tse)return Tse(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}();Ose.exports=Oqe});var IT=w((mft,Kse)=>{var Mqe=Mse(),Kqe=cQ(),Uqe=U0();function Hqe(r){return typeof r.constructor==\"function\"&&!Uqe(r)?Mqe(Kqe(r)):{}}Kse.exports=Hqe});var Hse=w((Eft,Use)=>{var Gqe=nm(),Yqe=Go(),jqe=\"[object Map]\";function qqe(r){return Yqe(r)&&Gqe(r)==jqe}Use.exports=qqe});var qse=w((Ift,jse)=>{var Jqe=Hse(),Wqe=O0(),Gse=M0(),Yse=Gse&&Gse.isMap,zqe=Yse?Wqe(Yse):Jqe;jse.exports=zqe});var Wse=w((yft,Jse)=>{var Vqe=nm(),Xqe=Go(),_qe=\"[object Set]\";function Zqe(r){return Xqe(r)&&Vqe(r)==_qe}Jse.exports=Zqe});var _se=w((wft,Xse)=>{var $qe=Wse(),eJe=O0(),zse=M0(),Vse=zse&&zse.isSet,tJe=Vse?eJe(Vse):$qe;Xse.exports=tJe});var roe=w((Bft,toe)=>{var rJe=im(),iJe=Xne(),nJe=B0(),sJe=$ne(),oJe=ose(),aJe=dT(),AJe=CT(),lJe=fse(),cJe=Cse(),uJe=GN(),gJe=Ese(),fJe=nm(),hJe=yse(),pJe=Lse(),dJe=IT(),CJe=ws(),mJe=$C(),EJe=qse(),IJe=bn(),yJe=_se(),wJe=Ih(),BJe=Lh(),QJe=1,bJe=2,SJe=4,Zse=\"[object Arguments]\",vJe=\"[object Array]\",xJe=\"[object Boolean]\",PJe=\"[object Date]\",DJe=\"[object Error]\",$se=\"[object Function]\",kJe=\"[object GeneratorFunction]\",RJe=\"[object Map]\",FJe=\"[object Number]\",eoe=\"[object Object]\",NJe=\"[object RegExp]\",LJe=\"[object Set]\",TJe=\"[object String]\",OJe=\"[object Symbol]\",MJe=\"[object WeakMap]\",KJe=\"[object ArrayBuffer]\",UJe=\"[object DataView]\",HJe=\"[object Float32Array]\",GJe=\"[object Float64Array]\",YJe=\"[object Int8Array]\",jJe=\"[object Int16Array]\",qJe=\"[object Int32Array]\",JJe=\"[object Uint8Array]\",WJe=\"[object Uint8ClampedArray]\",zJe=\"[object Uint16Array]\",VJe=\"[object Uint32Array]\",ur={};ur[Zse]=ur[vJe]=ur[KJe]=ur[UJe]=ur[xJe]=ur[PJe]=ur[HJe]=ur[GJe]=ur[YJe]=ur[jJe]=ur[qJe]=ur[RJe]=ur[FJe]=ur[eoe]=ur[NJe]=ur[LJe]=ur[TJe]=ur[OJe]=ur[JJe]=ur[WJe]=ur[zJe]=ur[VJe]=!0;ur[DJe]=ur[$se]=ur[MJe]=!1;function gQ(r,e,t,i,n,s){var o,a=e&QJe,l=e&bJe,c=e&SJe;if(t&&(o=n?t(r,i,n,s):t(r)),o!==void 0)return o;if(!IJe(r))return r;var u=CJe(r);if(u){if(o=hJe(r),!a)return AJe(r,o)}else{var g=fJe(r),f=g==$se||g==kJe;if(mJe(r))return aJe(r,a);if(g==eoe||g==Zse||f&&!n){if(o=l||f?{}:dJe(r),!a)return l?cJe(r,oJe(o,r)):lJe(r,sJe(o,r))}else{if(!ur[g])return n?r:{};o=pJe(r,g,a)}}s||(s=new rJe);var h=s.get(r);if(h)return h;s.set(r,o),yJe(r)?r.forEach(function(y){o.add(gQ(y,e,t,y,r,s))}):EJe(r)&&r.forEach(function(y,B){o.set(B,gQ(y,e,t,B,r,s))});var p=c?l?gJe:uJe:l?BJe:wJe,C=u?void 0:p(r);return iJe(C||r,function(y,B){C&&(B=y,y=r[B]),nJe(o,B,gQ(y,e,t,B,r,s))}),o}toe.exports=gQ});var yT=w((Qft,ioe)=>{var XJe=roe(),_Je=1,ZJe=4;function $Je(r){return XJe(r,_Je|ZJe)}ioe.exports=$Je});var soe=w((bft,noe)=>{var eWe=gN();function tWe(r,e,t){return r==null?r:eWe(r,e,t)}noe.exports=tWe});var coe=w((kft,loe)=>{function rWe(r){var e=r==null?0:r.length;return e?r[e-1]:void 0}loe.exports=rWe});var goe=w((Rft,uoe)=>{var iWe=JC(),nWe=bR();function sWe(r,e){return e.length<2?r:iWe(r,nWe(e,0,-1))}uoe.exports=sWe});var hoe=w((Fft,foe)=>{var oWe=uh(),aWe=coe(),AWe=goe(),lWe=Uc();function cWe(r,e){return e=oWe(e,r),r=AWe(r,e),r==null||delete r[lWe(aWe(e))]}foe.exports=cWe});var doe=w((Nft,poe)=>{var uWe=hoe();function gWe(r,e){return r==null?!0:uWe(r,e)}poe.exports=gWe});var yoe=w((Aht,pWe)=>{pWe.exports={name:\"@yarnpkg/cli\",version:\"3.4.1\",license:\"BSD-2-Clause\",main:\"./sources/index.ts\",dependencies:{\"@yarnpkg/core\":\"workspace:^\",\"@yarnpkg/fslib\":\"workspace:^\",\"@yarnpkg/libzip\":\"workspace:^\",\"@yarnpkg/parsers\":\"workspace:^\",\"@yarnpkg/plugin-compat\":\"workspace:^\",\"@yarnpkg/plugin-dlx\":\"workspace:^\",\"@yarnpkg/plugin-essentials\":\"workspace:^\",\"@yarnpkg/plugin-file\":\"workspace:^\",\"@yarnpkg/plugin-git\":\"workspace:^\",\"@yarnpkg/plugin-github\":\"workspace:^\",\"@yarnpkg/plugin-http\":\"workspace:^\",\"@yarnpkg/plugin-init\":\"workspace:^\",\"@yarnpkg/plugin-link\":\"workspace:^\",\"@yarnpkg/plugin-nm\":\"workspace:^\",\"@yarnpkg/plugin-npm\":\"workspace:^\",\"@yarnpkg/plugin-npm-cli\":\"workspace:^\",\"@yarnpkg/plugin-pack\":\"workspace:^\",\"@yarnpkg/plugin-patch\":\"workspace:^\",\"@yarnpkg/plugin-pnp\":\"workspace:^\",\"@yarnpkg/plugin-pnpm\":\"workspace:^\",\"@yarnpkg/shell\":\"workspace:^\",chalk:\"^3.0.0\",\"ci-info\":\"^3.2.0\",clipanion:\"3.2.0-rc.4\",semver:\"^7.1.2\",tslib:\"^1.13.0\",typanion:\"^3.3.0\",yup:\"^0.32.9\"},devDependencies:{\"@types/semver\":\"^7.1.0\",\"@types/yup\":\"^0\",\"@yarnpkg/builder\":\"workspace:^\",\"@yarnpkg/monorepo\":\"workspace:^\",\"@yarnpkg/pnpify\":\"workspace:^\",micromatch:\"^4.0.2\"},peerDependencies:{\"@yarnpkg/core\":\"workspace:^\"},scripts:{postpack:\"rm -rf lib\",prepack:'run build:compile \"$(pwd)\"',\"build:cli+hook\":\"run build:pnp:hook && builder build bundle\",\"build:cli\":\"builder build bundle\",\"run:cli\":\"builder run\",\"update-local\":\"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/\"},publishConfig:{main:\"./lib/index.js\",types:\"./lib/index.d.ts\",bin:null},files:[\"/lib/**/*\",\"!/lib/pluginConfiguration.*\",\"!/lib/cli.*\"],\"@yarnpkg/builder\":{bundles:{standard:[\"@yarnpkg/plugin-essentials\",\"@yarnpkg/plugin-compat\",\"@yarnpkg/plugin-dlx\",\"@yarnpkg/plugin-file\",\"@yarnpkg/plugin-git\",\"@yarnpkg/plugin-github\",\"@yarnpkg/plugin-http\",\"@yarnpkg/plugin-init\",\"@yarnpkg/plugin-link\",\"@yarnpkg/plugin-nm\",\"@yarnpkg/plugin-npm\",\"@yarnpkg/plugin-npm-cli\",\"@yarnpkg/plugin-pack\",\"@yarnpkg/plugin-patch\",\"@yarnpkg/plugin-pnp\",\"@yarnpkg/plugin-pnpm\"]}},repository:{type:\"git\",url:\"ssh://git@github.com/yarnpkg/berry.git\",directory:\"packages/yarnpkg-cli\"},engines:{node:\">=12 <14 || 14.2 - 14.9 || >14.10.0\"}}});var kT=w((FCt,Loe)=>{\"use strict\";Loe.exports=function(e,t){t===!0&&(t=0);var i=\"\";if(typeof e==\"string\")try{i=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(i=e.protocol);var n=i.split(/\\:|\\+/).filter(Boolean);return typeof t==\"number\"?n[t]:n}});var Ooe=w((NCt,Toe)=>{\"use strict\";var NWe=kT();function LWe(r){var e={protocols:[],protocol:null,port:null,resource:\"\",host:\"\",user:\"\",password:\"\",pathname:\"\",hash:\"\",search:\"\",href:r,query:{},parse_failed:!1};try{var t=new URL(r);e.protocols=NWe(t),e.protocol=e.protocols[0],e.port=t.port,e.resource=t.hostname,e.host=t.host,e.user=t.username||\"\",e.password=t.password||\"\",e.pathname=t.pathname,e.hash=t.hash.slice(1),e.search=t.search.slice(1),e.href=t.href,e.query=Object.fromEntries(t.searchParams)}catch{e.protocols=[\"file\"],e.protocol=e.protocols[0],e.port=\"\",e.resource=\"\",e.user=\"\",e.pathname=\"\",e.hash=\"\",e.search=\"\",e.href=r,e.query={},e.parse_failed=!0}return e}Toe.exports=LWe});var Uoe=w((LCt,Koe)=>{\"use strict\";var TWe=Ooe();function OWe(r){return r&&typeof r==\"object\"&&\"default\"in r?r:{default:r}}var MWe=OWe(TWe),KWe=\"text/plain\",UWe=\"us-ascii\",Moe=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),HWe=(r,{stripHash:e})=>{let t=/^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(r);if(!t)throw new Error(`Invalid URL: ${r}`);let{type:i,data:n,hash:s}=t.groups,o=i.split(\";\");s=e?\"\":s;let a=!1;o[o.length-1]===\"base64\"&&(o.pop(),a=!0);let l=(o.shift()||\"\").toLowerCase(),u=[...o.map(g=>{let[f,h=\"\"]=g.split(\"=\").map(p=>p.trim());return f===\"charset\"&&(h=h.toLowerCase(),h===UWe)?\"\":`${f}${h?`=${h}`:\"\"}`}).filter(Boolean)];return a&&u.push(\"base64\"),(u.length>0||l&&l!==KWe)&&u.unshift(l),`data:${u.join(\";\")},${a?n.trim():n}${s?`#${s}`:\"\"}`};function GWe(r,e){if(e={defaultProtocol:\"http:\",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},r=r.trim(),/^data:/i.test(r))return HWe(r,e);if(/^view-source:/i.test(r))throw new Error(\"`view-source:` is not supported as it is a non-standard protocol\");let t=r.startsWith(\"//\");!t&&/^\\.*\\//.test(r)||(r=r.replace(/^(?!(?:\\w+:)?\\/\\/)|^\\/\\//,e.defaultProtocol));let n=new URL(r);if(e.forceHttp&&e.forceHttps)throw new Error(\"The `forceHttp` and `forceHttps` options cannot be used together\");if(e.forceHttp&&n.protocol===\"https:\"&&(n.protocol=\"http:\"),e.forceHttps&&n.protocol===\"http:\"&&(n.protocol=\"https:\"),e.stripAuthentication&&(n.username=\"\",n.password=\"\"),e.stripHash?n.hash=\"\":e.stripTextFragment&&(n.hash=n.hash.replace(/#?:~:text.*?$/i,\"\")),n.pathname){let o=/\\b[a-z][a-z\\d+\\-.]{1,50}:\\/\\//g,a=0,l=\"\";for(;;){let u=o.exec(n.pathname);if(!u)break;let g=u[0],f=u.index;l+=n.pathname.slice(a,f).replace(/\\/{2,}/g,\"/\"),l+=g,a=f+g.length}l+=n.pathname.slice(a,n.pathname.length).replace(/\\/{2,}/g,\"/\"),n.pathname=l}if(n.pathname)try{n.pathname=decodeURI(n.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let o=n.pathname.split(\"/\"),a=o[o.length-1];Moe(a,e.removeDirectoryIndex)&&(o=o.slice(0,-1),n.pathname=o.slice(1).join(\"/\")+\"/\")}if(n.hostname&&(n.hostname=n.hostname.replace(/\\.$/,\"\"),e.stripWWW&&/^www\\.(?!www\\.)[a-z\\-\\d]{1,63}\\.[a-z.\\-\\d]{2,63}$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\\./,\"\"))),Array.isArray(e.removeQueryParameters))for(let o of[...n.searchParams.keys()])Moe(o,e.removeQueryParameters)&&n.searchParams.delete(o);if(e.removeQueryParameters===!0&&(n.search=\"\"),e.sortQueryParameters){n.searchParams.sort();try{n.search=decodeURIComponent(n.search)}catch{}}e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\\/$/,\"\"));let s=r;return r=n.toString(),!e.removeSingleSlash&&n.pathname===\"/\"&&!s.endsWith(\"/\")&&n.hash===\"\"&&(r=r.replace(/\\/$/,\"\")),(e.removeTrailingSlash||n.pathname===\"/\")&&n.hash===\"\"&&e.removeSingleSlash&&(r=r.replace(/\\/$/,\"\")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\\/\\//,\"//\")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\\/\\//,\"\")),r}var RT=(r,e=!1)=>{let t=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\\/\\/)([\\w\\.\\-@]+)[\\/:]([\\~,\\.\\w,\\-,\\_,\\/]+?(?:\\.git|\\/)?)$/,i=s=>{let o=new Error(s);throw o.subject_url=r,o};(typeof r!=\"string\"||!r.trim())&&i(\"Invalid url.\"),r.length>RT.MAX_INPUT_LENGTH&&i(\"Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH.\"),e&&(typeof e!=\"object\"&&(e={stripHash:!1}),r=GWe(r,e));let n=MWe.default(r);if(n.parse_failed){let s=n.href.match(t);s?(n.protocols=[\"ssh\"],n.protocol=\"ssh\",n.resource=s[2],n.host=s[2],n.user=s[1],n.pathname=`/${s[3]}`,n.parse_failed=!1):i(\"URL parsing failed.\")}return n};RT.MAX_INPUT_LENGTH=2048;Koe.exports=RT});var Yoe=w((TCt,Goe)=>{\"use strict\";var YWe=kT();function Hoe(r){if(Array.isArray(r))return r.indexOf(\"ssh\")!==-1||r.indexOf(\"rsync\")!==-1;if(typeof r!=\"string\")return!1;var e=YWe(r);if(r=r.substring(r.indexOf(\"://\")+3),Hoe(e))return!0;var t=new RegExp(\".([a-zA-Z\\\\d]+):(\\\\d+)/\");return!r.match(t)&&r.indexOf(\"@\")<r.indexOf(\":\")}Goe.exports=Hoe});var Joe=w((OCt,qoe)=>{\"use strict\";var jWe=Uoe(),joe=Yoe();function qWe(r){var e=jWe(r);return e.token=\"\",e.password===\"x-oauth-basic\"?e.token=e.user:e.user===\"x-token-auth\"&&(e.token=e.password),joe(e.protocols)||e.protocols.length===0&&joe(r)?e.protocol=\"ssh\":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol=\"file\",e.protocols=[\"file\"]),e.href=e.href.replace(/\\/$/,\"\"),e}qoe.exports=qWe});var zoe=w((MCt,Woe)=>{\"use strict\";var JWe=Joe();function FT(r){if(typeof r!=\"string\")throw new Error(\"The url must be a string.\");var e=/^([a-z\\d-]{1,39})\\/([-\\.\\w]{1,100})$/i;e.test(r)&&(r=\"https://github.com/\"+r);var t=JWe(r),i=t.resource.split(\".\"),n=null;switch(t.toString=function(y){return FT.stringify(this,y)},t.source=i.length>2?i.slice(1-i.length).join(\".\"):t.source=t.resource,t.git_suffix=/\\.git$/.test(t.pathname),t.name=decodeURIComponent((t.pathname||t.href).replace(/(^\\/)|(\\/$)/g,\"\").replace(/\\.git$/,\"\")),t.owner=decodeURIComponent(t.user),t.source){case\"git.cloudforge.com\":t.owner=t.user,t.organization=i[0],t.source=\"cloudforge.com\";break;case\"visualstudio.com\":if(t.resource===\"vs-ssh.visualstudio.com\"){n=t.name.split(\"/\"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3],t.full_name=n[2]+\"/\"+n[3]);break}else{n=t.name.split(\"/\"),n.length===2?(t.owner=n[1],t.name=n[1],t.full_name=\"_git/\"+t.name):n.length===3?(t.name=n[2],n[0]===\"DefaultCollection\"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+\"/_git/\"+t.name):(t.owner=n[0],t.full_name=t.owner+\"/_git/\"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+\"/\"+t.owner+\"/_git/\"+t.name);break}case\"dev.azure.com\":case\"azure.com\":if(t.resource===\"ssh.dev.azure.com\"){n=t.name.split(\"/\"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3]);break}else{n=t.name.split(\"/\"),n.length===5?(t.organization=n[0],t.owner=n[1],t.name=n[4],t.full_name=\"_git/\"+t.name):n.length===3?(t.name=n[2],n[0]===\"DefaultCollection\"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+\"/_git/\"+t.name):(t.owner=n[0],t.full_name=t.owner+\"/_git/\"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+\"/\"+t.owner+\"/_git/\"+t.name),t.query&&t.query.path&&(t.filepath=t.query.path.replace(/^\\/+/g,\"\")),t.query&&t.query.version&&(t.ref=t.query.version.replace(/^GB/,\"\"));break}default:n=t.name.split(\"/\");var s=n.length-1;if(n.length>=2){var o=n.indexOf(\"-\",2),a=n.indexOf(\"blob\",2),l=n.indexOf(\"tree\",2),c=n.indexOf(\"commit\",2),u=n.indexOf(\"src\",2),g=n.indexOf(\"raw\",2),f=n.indexOf(\"edit\",2);s=o>0?o-1:a>0?a-1:l>0?l-1:c>0?c-1:u>0?u-1:g>0?g-1:f>0?f-1:s,t.owner=n.slice(0,s).join(\"/\"),t.name=n[s],c&&(t.commit=n[s+2])}t.ref=\"\",t.filepathtype=\"\",t.filepath=\"\";var h=n.length>s&&n[s+1]===\"-\"?s+1:s;n.length>h+2&&[\"raw\",\"src\",\"blob\",\"tree\",\"edit\"].indexOf(n[h+1])>=0&&(t.filepathtype=n[h+1],t.ref=n[h+2],n.length>h+3&&(t.filepath=n.slice(h+3).join(\"/\"))),t.organization=t.owner;break}t.full_name||(t.full_name=t.owner,t.name&&(t.full_name&&(t.full_name+=\"/\"),t.full_name+=t.name)),t.owner.startsWith(\"scm/\")&&(t.source=\"bitbucket-server\",t.owner=t.owner.replace(\"scm/\",\"\"),t.organization=t.owner,t.full_name=t.owner+\"/\"+t.name);var p=/(projects|users)\\/(.*?)\\/repos\\/(.*?)((\\/.*$)|$)/,C=p.exec(t.pathname);return C!=null&&(t.source=\"bitbucket-server\",C[1]===\"users\"?t.owner=\"~\"+C[2]:t.owner=C[2],t.organization=t.owner,t.name=C[3],n=C[4].split(\"/\"),n.length>1&&([\"raw\",\"browse\"].indexOf(n[1])>=0?(t.filepathtype=n[1],n.length>2&&(t.filepath=n.slice(2).join(\"/\"))):n[1]===\"commits\"&&n.length>2&&(t.commit=n[2])),t.full_name=t.owner+\"/\"+t.name,t.query.at?t.ref=t.query.at:t.ref=\"\"),t}FT.stringify=function(r,e){e=e||(r.protocols&&r.protocols.length?r.protocols.join(\"+\"):r.protocol);var t=r.port?\":\"+r.port:\"\",i=r.user||\"git\",n=r.git_suffix?\".git\":\"\";switch(e){case\"ssh\":return t?\"ssh://\"+i+\"@\"+r.resource+t+\"/\"+r.full_name+n:i+\"@\"+r.resource+\":\"+r.full_name+n;case\"git+ssh\":case\"ssh+git\":case\"ftp\":case\"ftps\":return e+\"://\"+i+\"@\"+r.resource+t+\"/\"+r.full_name+n;case\"http\":case\"https\":var s=r.token?WWe(r):r.user&&(r.protocols.includes(\"http\")||r.protocols.includes(\"https\"))?r.user+\"@\":\"\";return e+\"://\"+s+r.resource+t+\"/\"+zWe(r)+n;default:return r.href}};function WWe(r){switch(r.source){case\"bitbucket.org\":return\"x-token-auth:\"+r.token+\"@\";default:return r.token+\"@\"}}function zWe(r){switch(r.source){case\"bitbucket-server\":return\"scm/\"+r.full_name;default:return\"\"+r.full_name}}Woe.exports=FT});var tO=w((xIt,fae)=>{var p3e=gh(),d3e=Ah();function C3e(r,e,t){(t!==void 0&&!d3e(r[e],t)||t===void 0&&!(e in r))&&p3e(r,e,t)}fae.exports=C3e});var pae=w((PIt,hae)=>{var m3e=rm(),E3e=Go();function I3e(r){return E3e(r)&&m3e(r)}hae.exports=I3e});var mae=w((DIt,Cae)=>{var y3e=Ic(),w3e=cQ(),B3e=Go(),Q3e=\"[object Object]\",b3e=Function.prototype,S3e=Object.prototype,dae=b3e.toString,v3e=S3e.hasOwnProperty,x3e=dae.call(Object);function P3e(r){if(!B3e(r)||y3e(r)!=Q3e)return!1;var e=w3e(r);if(e===null)return!0;var t=v3e.call(e,\"constructor\")&&e.constructor;return typeof t==\"function\"&&t instanceof t&&dae.call(t)==x3e}Cae.exports=P3e});var rO=w((kIt,Eae)=>{function D3e(r,e){if(!(e===\"constructor\"&&typeof r[e]==\"function\")&&e!=\"__proto__\")return r[e]}Eae.exports=D3e});var yae=w((RIt,Iae)=>{var k3e=Nh(),R3e=Lh();function F3e(r){return k3e(r,R3e(r))}Iae.exports=F3e});var vae=w((FIt,Sae)=>{var wae=tO(),N3e=dT(),L3e=ET(),T3e=CT(),O3e=IT(),Bae=zC(),Qae=ws(),M3e=pae(),K3e=$C(),U3e=I0(),H3e=bn(),G3e=mae(),Y3e=K0(),bae=rO(),j3e=yae();function q3e(r,e,t,i,n,s,o){var a=bae(r,t),l=bae(e,t),c=o.get(l);if(c){wae(r,t,c);return}var u=s?s(a,l,t+\"\",r,e,o):void 0,g=u===void 0;if(g){var f=Qae(l),h=!f&&K3e(l),p=!f&&!h&&Y3e(l);u=l,f||h||p?Qae(a)?u=a:M3e(a)?u=T3e(a):h?(g=!1,u=N3e(l,!0)):p?(g=!1,u=L3e(l,!0)):u=[]:G3e(l)||Bae(l)?(u=a,Bae(a)?u=j3e(a):(!H3e(a)||U3e(a))&&(u=O3e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),wae(r,t,u)}Sae.exports=q3e});var Dae=w((NIt,Pae)=>{var J3e=im(),W3e=tO(),z3e=RN(),V3e=vae(),X3e=bn(),_3e=Lh(),Z3e=rO();function xae(r,e,t,i,n){r!==e&&z3e(e,function(s,o){if(n||(n=new J3e),X3e(s))V3e(r,e,o,t,xae,i,n);else{var a=i?i(Z3e(r,o),s,o+\"\",r,e,n):void 0;a===void 0&&(a=s),W3e(r,o,a)}},_3e)}Pae.exports=xae});var Rae=w((LIt,kae)=>{var $3e=S0(),e4e=pN(),t4e=dN();function r4e(r,e){return t4e(e4e(r,e,$3e),r+\"\")}kae.exports=r4e});var Nae=w((TIt,Fae)=>{var i4e=Ah(),n4e=rm(),s4e=WC(),o4e=bn();function a4e(r,e,t){if(!o4e(t))return!1;var i=typeof e;return(i==\"number\"?n4e(t)&&s4e(e,t.length):i==\"string\"&&e in t)?i4e(t[e],r):!1}Fae.exports=a4e});var Tae=w((OIt,Lae)=>{var A4e=Rae(),l4e=Nae();function c4e(r){return A4e(function(e,t){var i=-1,n=t.length,s=n>1?t[n-1]:void 0,o=n>2?t[2]:void 0;for(s=r.length>3&&typeof s==\"function\"?(n--,s):void 0,o&&l4e(t[0],t[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i<n;){var a=t[i];a&&r(e,a,i,s)}return e})}Lae.exports=c4e});var Mae=w((MIt,Oae)=>{var u4e=Dae(),g4e=Tae(),f4e=g4e(function(r,e,t){u4e(r,e,t)});Oae.exports=f4e});var Zae=w((Oyt,_ae)=>{var gO;_ae.exports=()=>(typeof gO>\"u\"&&(gO=J(\"zlib\").brotliDecompressSync(Buffer.from(\"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\",\"base64\")).toString()),gO)});var EAe=w((Awt,mAe)=>{var mO=Symbol(\"arg flag\"),Pn=class extends Error{constructor(e,t){super(e),this.name=\"ArgError\",this.code=t,Object.setPrototypeOf(this,Pn.prototype)}};function $m(r,{argv:e=process.argv.slice(2),permissive:t=!1,stopAtPositional:i=!1}={}){if(!r)throw new Pn(\"argument specification object is required\",\"ARG_CONFIG_NO_SPEC\");let n={_:[]},s={},o={};for(let a of Object.keys(r)){if(!a)throw new Pn(\"argument key cannot be an empty string\",\"ARG_CONFIG_EMPTY_KEY\");if(a[0]!==\"-\")throw new Pn(`argument key must start with '-' but found: '${a}'`,\"ARG_CONFIG_NONOPT_KEY\");if(a.length===1)throw new Pn(`argument key must have a name; singular '-' keys are not allowed: ${a}`,\"ARG_CONFIG_NONAME_KEY\");if(typeof r[a]==\"string\"){s[a]=r[a];continue}let l=r[a],c=!1;if(Array.isArray(l)&&l.length===1&&typeof l[0]==\"function\"){let[u]=l;l=(g,f,h=[])=>(h.push(u(g,f,h[h.length-1])),h),c=u===Boolean||u[mO]===!0}else if(typeof l==\"function\")c=l===Boolean||l[mO]===!0;else throw new Pn(`type missing or not a function or valid array type: ${a}`,\"ARG_CONFIG_VAD_TYPE\");if(a[1]!==\"-\"&&a.length>2)throw new Pn(`short argument keys (with a single hyphen) must have only one character: ${a}`,\"ARG_CONFIG_SHORTOPT_TOOLONG\");o[a]=[l,c]}for(let a=0,l=e.length;a<l;a++){let c=e[a];if(i&&n._.length>0){n._=n._.concat(e.slice(a));break}if(c===\"--\"){n._=n._.concat(e.slice(a+1));break}if(c.length>1&&c[0]===\"-\"){let u=c[1]===\"-\"||c.length===2?[c]:c.slice(1).split(\"\").map(g=>`-${g}`);for(let g=0;g<u.length;g++){let f=u[g],[h,p]=f[1]===\"-\"?f.split(/=(.*)/,2):[f,void 0],C=h;for(;C in s;)C=s[C];if(!(C in o))if(t){n._.push(f);continue}else throw new Pn(`unknown or unexpected option: ${h}`,\"ARG_UNKNOWN_OPTION\");let[y,B]=o[C];if(!B&&g+1<u.length)throw new Pn(`option requires argument (but was followed by another short argument): ${h}`,\"ARG_MISSING_REQUIRED_SHORTARG\");if(B)n[C]=y(!0,C,n[C]);else if(p===void 0){if(e.length<a+2||e[a+1].length>1&&e[a+1][0]===\"-\"&&!(e[a+1].match(/^-?\\d*(\\.(?=\\d))?\\d*$/)&&(y===Number||typeof BigInt<\"u\"&&y===BigInt))){let v=h===C?\"\":` (alias for ${C})`;throw new Pn(`option requires argument: ${h}${v}`,\"ARG_MISSING_REQUIRED_LONGARG\")}n[C]=y(e[a+1],C,n[C]),++a}else n[C]=y(p,C,n[C])}}else n._.push(c)}return n}$m.flag=r=>(r[mO]=!0,r);$m.COUNT=$m.flag((r,e,t)=>(t||0)+1);$m.ArgError=Pn;mAe.exports=$m});var DAe=w((Mwt,PAe)=>{var wO;PAe.exports=()=>(typeof wO>\"u\"&&(wO=J(\"zlib\").brotliDecompressSync(Buffer.from(\"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\",\"base64\")).toString()),wO)});var OAe=w((xO,PO)=>{(function(r){xO&&typeof xO==\"object\"&&typeof PO<\"u\"?PO.exports=r():typeof define==\"function\"&&define.amd?define([],r):typeof window<\"u\"?window.isWindows=r():typeof global<\"u\"?global.isWindows=r():typeof self<\"u\"?self.isWindows=r():this.isWindows=r()})(function(){\"use strict\";return function(){return process&&(process.platform===\"win32\"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var HAe=w((OBt,UAe)=>{\"use strict\";DO.ifExists=u8e;var Wh=J(\"util\"),ks=J(\"path\"),MAe=OAe(),A8e=/^#!\\s*(?:\\/usr\\/bin\\/env)?\\s*([^ \\t]+)(.*)$/,l8e={createPwshFile:!0,createCmdFile:MAe(),fs:J(\"fs\")},c8e=new Map([[\".js\",\"node\"],[\".cjs\",\"node\"],[\".mjs\",\"node\"],[\".cmd\",\"cmd\"],[\".bat\",\"cmd\"],[\".ps1\",\"pwsh\"],[\".sh\",\"sh\"]]);function KAe(r){let e={...l8e,...r},t=e.fs;return e.fs_={chmod:t.chmod?Wh.promisify(t.chmod):async()=>{},mkdir:Wh.promisify(t.mkdir),readFile:Wh.promisify(t.readFile),stat:Wh.promisify(t.stat),unlink:Wh.promisify(t.unlink),writeFile:Wh.promisify(t.writeFile)},e}async function DO(r,e,t){let i=KAe(t);await i.fs_.stat(r),await f8e(r,e,i)}function u8e(r,e,t){return DO(r,e,t).catch(()=>{})}function g8e(r,e){return e.fs_.unlink(r).catch(()=>{})}async function f8e(r,e,t){let i=await m8e(r,t);return await h8e(e,t),p8e(r,e,i,t)}function h8e(r,e){return e.fs_.mkdir(ks.dirname(r),{recursive:!0})}function p8e(r,e,t,i){let n=KAe(i),s=[{generator:y8e,extension:\"\"}];return n.createCmdFile&&s.push({generator:I8e,extension:\".cmd\"}),n.createPwshFile&&s.push({generator:w8e,extension:\".ps1\"}),Promise.all(s.map(o=>E8e(r,e+o.extension,t,o.generator,n)))}function d8e(r,e){return g8e(r,e)}function C8e(r,e){return B8e(r,e)}async function m8e(r,e){let n=(await e.fs_.readFile(r,\"utf8\")).trim().split(/\\r*\\n/)[0].match(A8e);if(!n){let s=ks.extname(r).toLowerCase();return{program:c8e.get(s)||null,additionalArgs:\"\"}}return{program:n[1],additionalArgs:n[2]}}async function E8e(r,e,t,i,n){let s=n.preserveSymlinks?\"--preserve-symlinks\":\"\",o=[t.additionalArgs,s].filter(a=>a).join(\" \");return n=Object.assign({},n,{prog:t.program,args:o}),await d8e(e,n),await n.fs_.writeFile(e,i(r,e,n),\"utf8\"),C8e(e,n)}function I8e(r,e,t){let n=ks.relative(ks.dirname(e),r).split(\"/\").join(\"\\\\\"),s=ks.isAbsolute(n)?`\"${n}\"`:`\"%~dp0\\\\${n}\"`,o,a=t.prog,l=t.args||\"\",c=kO(t.nodePath).win32;a?(o=`\"%~dp0\\\\${a}.exe\"`,n=s):(a=s,l=\"\",n=\"\");let u=t.progArgs?`${t.progArgs.join(\" \")} `:\"\",g=c?`@SET NODE_PATH=${c}\\r\n`:\"\";return o?g+=`@IF EXIST ${o} (\\r\n  ${o} ${l} ${n} ${u}%*\\r\n) ELSE (\\r\n  @SETLOCAL\\r\n  @SET PATHEXT=%PATHEXT:;.JS;=;%\\r\n  ${a} ${l} ${n} ${u}%*\\r\n)\\r\n`:g+=`@${a} ${l} ${n} ${u}%*\\r\n`,g}function y8e(r,e,t){let i=ks.relative(ks.dirname(e),r),n=t.prog&&t.prog.split(\"\\\\\").join(\"/\"),s;i=i.split(\"\\\\\").join(\"/\");let o=ks.isAbsolute(i)?`\"${i}\"`:`\"$basedir/${i}\"`,a=t.args||\"\",l=kO(t.nodePath).posix;n?(s=`\"$basedir/${t.prog}\"`,i=o):(n=o,a=\"\",i=\"\");let c=t.progArgs?`${t.progArgs.join(\" \")} `:\"\",u=`#!/bin/sh\nbasedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\\\\\,/,g')\")\n\ncase \\`uname\\` in\n    *CYGWIN*) basedir=\\`cygpath -w \"$basedir\"\\`;;\nesac\n\n`,g=t.nodePath?`export NODE_PATH=\"${l}\"\n`:\"\";return s?u+=`${g}if [ -x ${s} ]; then\n  exec ${s} ${a} ${i} ${c}\"$@\"\nelse\n  exec ${n} ${a} ${i} ${c}\"$@\"\nfi\n`:u+=`${g}${n} ${a} ${i} ${c}\"$@\"\nexit $?\n`,u}function w8e(r,e,t){let i=ks.relative(ks.dirname(e),r),n=t.prog&&t.prog.split(\"\\\\\").join(\"/\"),s=n&&`\"${n}$exe\"`,o;i=i.split(\"\\\\\").join(\"/\");let a=ks.isAbsolute(i)?`\"${i}\"`:`\"$basedir/${i}\"`,l=t.args||\"\",c=kO(t.nodePath),u=c.win32,g=c.posix;s?(o=`\"$basedir/${t.prog}$exe\"`,i=a):(s=a,l=\"\",i=\"\");let f=t.progArgs?`${t.progArgs.join(\" \")} `:\"\",h=`#!/usr/bin/env pwsh\n$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent\n\n$exe=\"\"\n${t.nodePath?`$env_node_path=$env:NODE_PATH\n$env:NODE_PATH=\"${u}\"\n`:\"\"}if ($PSVersionTable.PSVersion -lt \"6.0\" -or $IsWindows) {\n  # Fix case when both the Windows and Linux builds of Node\n  # are installed in the same directory\n  $exe=\".exe\"\n}`;return t.nodePath&&(h+=` else {\n  $env:NODE_PATH=\"${g}\"\n}`),o?h+=`\n$ret=0\nif (Test-Path ${o}) {\n  # Support pipeline input\n  if ($MyInvocation.ExpectingInput) {\n    $input | & ${o} ${l} ${i} ${f}$args\n  } else {\n    & ${o} ${l} ${i} ${f}$args\n  }\n  $ret=$LASTEXITCODE\n} else {\n  # Support pipeline input\n  if ($MyInvocation.ExpectingInput) {\n    $input | & ${s} ${l} ${i} ${f}$args\n  } else {\n    & ${s} ${l} ${i} ${f}$args\n  }\n  $ret=$LASTEXITCODE\n}\n${t.nodePath?`$env:NODE_PATH=$env_node_path\n`:\"\"}exit $ret\n`:h+=`\n# Support pipeline input\nif ($MyInvocation.ExpectingInput) {\n  $input | & ${s} ${l} ${i} ${f}$args\n} else {\n  & ${s} ${l} ${i} ${f}$args\n}\n${t.nodePath?`$env:NODE_PATH=$env_node_path\n`:\"\"}exit $LASTEXITCODE\n`,h}function B8e(r,e){return e.fs_.chmod(r,493)}function kO(r){if(!r)return{win32:\"\",posix:\"\"};let e=typeof r==\"string\"?r.split(ks.delimiter):Array.from(r),t={};for(let i=0;i<e.length;i++){let n=e[i].split(\"/\").join(\"\\\\\"),s=MAe()?e[i].split(\"\\\\\").join(\"/\").replace(/^([^:\\\\/]*):/,(o,a)=>`/mnt/${a.toLowerCase()}`):e[i];t.win32=t.win32?`${t.win32};${n}`:n,t.posix=t.posix?`${t.posix}:${s}`:s,t[i]={win32:n,posix:s}}return t}UAe.exports=DO});var YO=w((tQt,ale)=>{ale.exports=J(\"stream\")});var ule=w((rQt,cle)=>{\"use strict\";function Ale(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function Y8e(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ale(Object(t),!0).forEach(function(i){j8e(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ale(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function j8e(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function q8e(r,e){if(!(r instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function lle(r,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(r,i.key,i)}}function J8e(r,e,t){return e&&lle(r.prototype,e),t&&lle(r,t),r}var W8e=J(\"buffer\"),$Q=W8e.Buffer,z8e=J(\"util\"),jO=z8e.inspect,V8e=jO&&jO.custom||\"inspect\";function X8e(r,e,t){$Q.prototype.copy.call(r,e,t)}cle.exports=function(){function r(){q8e(this,r),this.head=null,this.tail=null,this.length=0}return J8e(r,[{key:\"push\",value:function(t){var i={data:t,next:null};this.length>0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:\"unshift\",value:function(t){var i={data:t,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:\"shift\",value:function(){if(this.length!==0){var t=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(t){if(this.length===0)return\"\";for(var i=this.head,n=\"\"+i.data;i=i.next;)n+=t+i.data;return n}},{key:\"concat\",value:function(t){if(this.length===0)return $Q.alloc(0);for(var i=$Q.allocUnsafe(t>>>0),n=this.head,s=0;n;)X8e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:\"consume\",value:function(t,i){var n;return t<this.head.data.length?(n=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):t===this.head.data.length?n=this.shift():n=i?this._getString(t):this._getBuffer(t),n}},{key:\"first\",value:function(){return this.head.data}},{key:\"_getString\",value:function(t){var i=this.head,n=1,s=i.data;for(t-=s.length;i=i.next;){var o=i.data,a=t>o.length?o.length:t;if(a===o.length?s+=o:s+=o.slice(0,t),t-=a,t===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:\"_getBuffer\",value:function(t){var i=$Q.allocUnsafe(t),n=this.head,s=1;for(n.data.copy(i),t-=n.data.length;n=n.next;){var o=n.data,a=t>o.length?o.length:t;if(o.copy(i,i.length-t,0,a),t-=a,t===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:V8e,value:function(t,i){return jO(this,Y8e({},i,{depth:0,customInspect:!1}))}}]),r}()});var JO=w((iQt,fle)=>{\"use strict\";function _8e(r,e){var t=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(qO,this,r)):process.nextTick(qO,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,function(s){!e&&s?t._writableState?t._writableState.errorEmitted?process.nextTick(eb,t):(t._writableState.errorEmitted=!0,process.nextTick(gle,t,s)):process.nextTick(gle,t,s):e?(process.nextTick(eb,t),e(s)):process.nextTick(eb,t)}),this)}function gle(r,e){qO(r,e),eb(r)}function eb(r){r._writableState&&!r._writableState.emitClose||r._readableState&&!r._readableState.emitClose||r.emit(\"close\")}function Z8e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function qO(r,e){r.emit(\"error\",e)}function $8e(r,e){var t=r._readableState,i=r._writableState;t&&t.autoDestroy||i&&i.autoDestroy?r.destroy(e):r.emit(\"error\",e)}fle.exports={destroy:_8e,undestroy:Z8e,errorOrDestroy:$8e}});var fl=w((nQt,dle)=>{\"use strict\";var ple={};function Fs(r,e,t){t||(t=Error);function i(s,o,a){return typeof e==\"string\"?e:e(s,o,a)}class n extends t{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=t.name,n.prototype.code=r,ple[r]=n}function hle(r,e){if(Array.isArray(r)){let t=r.length;return r=r.map(i=>String(i)),t>2?`one of ${e} ${r.slice(0,t-1).join(\", \")}, or `+r[t-1]:t===2?`one of ${e} ${r[0]} or ${r[1]}`:`of ${e} ${r[0]}`}else return`of ${e} ${String(r)}`}function eze(r,e,t){return r.substr(!t||t<0?0:+t,e.length)===e}function tze(r,e,t){return(t===void 0||t>r.length)&&(t=r.length),r.substring(t-e.length,t)===e}function rze(r,e,t){return typeof t!=\"number\"&&(t=0),t+e.length>r.length?!1:r.indexOf(e,t)!==-1}Fs(\"ERR_INVALID_OPT_VALUE\",function(r,e){return'The value \"'+e+'\" is invalid for option \"'+r+'\"'},TypeError);Fs(\"ERR_INVALID_ARG_TYPE\",function(r,e,t){let i;typeof e==\"string\"&&eze(e,\"not \")?(i=\"must not be\",e=e.replace(/^not /,\"\")):i=\"must be\";let n;if(tze(r,\" argument\"))n=`The ${r} ${i} ${hle(e,\"type\")}`;else{let s=rze(r,\".\")?\"property\":\"argument\";n=`The \"${r}\" ${s} ${i} ${hle(e,\"type\")}`}return n+=`. Received type ${typeof t}`,n},TypeError);Fs(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\");Fs(\"ERR_METHOD_NOT_IMPLEMENTED\",function(r){return\"The \"+r+\" method is not implemented\"});Fs(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\");Fs(\"ERR_STREAM_DESTROYED\",function(r){return\"Cannot call \"+r+\" after a stream was destroyed\"});Fs(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\");Fs(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\");Fs(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\");Fs(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError);Fs(\"ERR_UNKNOWN_ENCODING\",function(r){return\"Unknown encoding: \"+r},TypeError);Fs(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\");dle.exports.codes=ple});var WO=w((sQt,Cle)=>{\"use strict\";var ize=fl().codes.ERR_INVALID_OPT_VALUE;function nze(r,e,t){return r.highWaterMark!=null?r.highWaterMark:e?r[t]:null}function sze(r,e,t,i){var n=nze(e,i,t);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?t:\"highWaterMark\";throw new ize(s,n)}return Math.floor(n)}return r.objectMode?16:16*1024}Cle.exports={getHighWaterMark:sze}});var mle=w((oQt,zO)=>{typeof Object.create==\"function\"?zO.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:zO.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}});var hl=w((aQt,XO)=>{try{if(VO=J(\"util\"),typeof VO.inherits!=\"function\")throw\"\";XO.exports=VO.inherits}catch{XO.exports=mle()}var VO});var Ile=w((AQt,Ele)=>{Ele.exports=J(\"util\").deprecate});var $O=w((lQt,Sle)=>{\"use strict\";Sle.exports=Tr;function wle(r){var e=this;this.next=null,this.entry=null,this.finish=function(){Rze(e,r)}}var Xh;Tr.WritableState=nE;var oze={deprecate:Ile()},Ble=YO(),rb=J(\"buffer\").Buffer,aze=global.Uint8Array||function(){};function Aze(r){return rb.from(r)}function lze(r){return rb.isBuffer(r)||r instanceof aze}var ZO=JO(),cze=WO(),uze=cze.getHighWaterMark,pl=fl().codes,gze=pl.ERR_INVALID_ARG_TYPE,fze=pl.ERR_METHOD_NOT_IMPLEMENTED,hze=pl.ERR_MULTIPLE_CALLBACK,pze=pl.ERR_STREAM_CANNOT_PIPE,dze=pl.ERR_STREAM_DESTROYED,Cze=pl.ERR_STREAM_NULL_VALUES,mze=pl.ERR_STREAM_WRITE_AFTER_END,Eze=pl.ERR_UNKNOWN_ENCODING,_h=ZO.errorOrDestroy;hl()(Tr,Ble);function Ize(){}function nE(r,e,t){Xh=Xh||Lu(),r=r||{},typeof t!=\"boolean\"&&(t=e instanceof Xh),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.writableObjectMode),this.highWaterMark=uze(this,r,\"writableHighWaterMark\",t),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=r.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=r.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){vze(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new wle(this)}nE.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t};(function(){try{Object.defineProperty(nE.prototype,\"buffer\",{get:oze.deprecate(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch{}})();var tb;typeof Symbol==\"function\"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==\"function\"?(tb=Function.prototype[Symbol.hasInstance],Object.defineProperty(Tr,Symbol.hasInstance,{value:function(e){return tb.call(this,e)?!0:this!==Tr?!1:e&&e._writableState instanceof nE}})):tb=function(e){return e instanceof this};function Tr(r){Xh=Xh||Lu();var e=this instanceof Xh;if(!e&&!tb.call(Tr,this))return new Tr(r);this._writableState=new nE(r,this,e),this.writable=!0,r&&(typeof r.write==\"function\"&&(this._write=r.write),typeof r.writev==\"function\"&&(this._writev=r.writev),typeof r.destroy==\"function\"&&(this._destroy=r.destroy),typeof r.final==\"function\"&&(this._final=r.final)),Ble.call(this)}Tr.prototype.pipe=function(){_h(this,new pze)};function yze(r,e){var t=new mze;_h(r,t),process.nextTick(e,t)}function wze(r,e,t,i){var n;return t===null?n=new Cze:typeof t!=\"string\"&&!e.objectMode&&(n=new gze(\"chunk\",[\"string\",\"Buffer\"],t)),n?(_h(r,n),process.nextTick(i,n),!1):!0}Tr.prototype.write=function(r,e,t){var i=this._writableState,n=!1,s=!i.objectMode&&lze(r);return s&&!rb.isBuffer(r)&&(r=Aze(r)),typeof e==\"function\"&&(t=e,e=null),s?e=\"buffer\":e||(e=i.defaultEncoding),typeof t!=\"function\"&&(t=Ize),i.ending?yze(this,t):(s||wze(this,i,r,t))&&(i.pendingcb++,n=Qze(this,i,s,r,e,t)),n};Tr.prototype.cork=function(){this._writableState.corked++};Tr.prototype.uncork=function(){var r=this._writableState;r.corked&&(r.corked--,!r.writing&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&Qle(this,r))};Tr.prototype.setDefaultEncoding=function(e){if(typeof e==\"string\"&&(e=e.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new Eze(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Tr.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function Bze(r,e,t){return!r.objectMode&&r.decodeStrings!==!1&&typeof e==\"string\"&&(e=rb.from(e,t)),e}Object.defineProperty(Tr.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function Qze(r,e,t,i,n,s){if(!t){var o=Bze(e,i,n);i!==o&&(t=!0,n=\"buffer\",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length<e.highWaterMark;if(l||(e.needDrain=!0),e.writing||e.corked){var c=e.lastBufferedRequest;e.lastBufferedRequest={chunk:i,encoding:n,isBuf:t,callback:s,next:null},c?c.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else _O(r,e,!1,a,i,n,s);return l}function _O(r,e,t,i,n,s,o){e.writelen=i,e.writecb=o,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new dze(\"write\")):t?r._writev(n,e.onwrite):r._write(n,s,e.onwrite),e.sync=!1}function bze(r,e,t,i,n){--e.pendingcb,t?(process.nextTick(n,i),process.nextTick(iE,r,e),r._writableState.errorEmitted=!0,_h(r,i)):(n(i),r._writableState.errorEmitted=!0,_h(r,i),iE(r,e))}function Sze(r){r.writing=!1,r.writecb=null,r.length-=r.writelen,r.writelen=0}function vze(r,e){var t=r._writableState,i=t.sync,n=t.writecb;if(typeof n!=\"function\")throw new hze;if(Sze(t),e)bze(r,t,i,e,n);else{var s=ble(t)||r.destroyed;!s&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&Qle(r,t),i?process.nextTick(yle,r,t,s,n):yle(r,t,s,n)}}function yle(r,e,t,i){t||xze(r,e),e.pendingcb--,i(),iE(r,e)}function xze(r,e){e.length===0&&e.needDrain&&(e.needDrain=!1,r.emit(\"drain\"))}function Qle(r,e){e.bufferProcessing=!0;var t=e.bufferedRequest;if(r._writev&&t&&t.next){var i=e.bufferedRequestCount,n=new Array(i),s=e.corkedRequestsFree;s.entry=t;for(var o=0,a=!0;t;)n[o]=t,t.isBuf||(a=!1),t=t.next,o+=1;n.allBuffers=a,_O(r,e,!0,e.length,n,\"\",s.finish),e.pendingcb++,e.lastBufferedRequest=null,s.next?(e.corkedRequestsFree=s.next,s.next=null):e.corkedRequestsFree=new wle(e),e.bufferedRequestCount=0}else{for(;t;){var l=t.chunk,c=t.encoding,u=t.callback,g=e.objectMode?1:l.length;if(_O(r,e,!1,g,l,c,u),t=t.next,e.bufferedRequestCount--,e.writing)break}t===null&&(e.lastBufferedRequest=null)}e.bufferedRequest=t,e.bufferProcessing=!1}Tr.prototype._write=function(r,e,t){t(new fze(\"_write()\"))};Tr.prototype._writev=null;Tr.prototype.end=function(r,e,t){var i=this._writableState;return typeof r==\"function\"?(t=r,r=null,e=null):typeof e==\"function\"&&(t=e,e=null),r!=null&&this.write(r,e),i.corked&&(i.corked=1,this.uncork()),i.ending||kze(this,i,t),this};Object.defineProperty(Tr.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}});function ble(r){return r.ending&&r.length===0&&r.bufferedRequest===null&&!r.finished&&!r.writing}function Pze(r,e){r._final(function(t){e.pendingcb--,t&&_h(r,t),e.prefinished=!0,r.emit(\"prefinish\"),iE(r,e)})}function Dze(r,e){!e.prefinished&&!e.finalCalled&&(typeof r._final==\"function\"&&!e.destroyed?(e.pendingcb++,e.finalCalled=!0,process.nextTick(Pze,r,e)):(e.prefinished=!0,r.emit(\"prefinish\")))}function iE(r,e){var t=ble(e);if(t&&(Dze(r,e),e.pendingcb===0&&(e.finished=!0,r.emit(\"finish\"),e.autoDestroy))){var i=r._readableState;(!i||i.autoDestroy&&i.endEmitted)&&r.destroy()}return t}function kze(r,e,t){e.ending=!0,iE(r,e),t&&(e.finished?process.nextTick(t):r.once(\"finish\",t)),e.ended=!0,r.writable=!1}function Rze(r,e,t){var i=r.entry;for(r.entry=null;i;){var n=i.callback;e.pendingcb--,n(t),i=i.next}e.corkedRequestsFree.next=r}Object.defineProperty(Tr.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(e){!this._writableState||(this._writableState.destroyed=e)}});Tr.prototype.destroy=ZO.destroy;Tr.prototype._undestroy=ZO.undestroy;Tr.prototype._destroy=function(r,e){e(r)}});var Lu=w((cQt,xle)=>{\"use strict\";var Fze=Object.keys||function(r){var e=[];for(var t in r)e.push(t);return e};xle.exports=ta;var vle=rM(),tM=$O();hl()(ta,vle);for(eM=Fze(tM.prototype),ib=0;ib<eM.length;ib++)nb=eM[ib],ta.prototype[nb]||(ta.prototype[nb]=tM.prototype[nb]);var eM,nb,ib;function ta(r){if(!(this instanceof ta))return new ta(r);vle.call(this,r),tM.call(this,r),this.allowHalfOpen=!0,r&&(r.readable===!1&&(this.readable=!1),r.writable===!1&&(this.writable=!1),r.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once(\"end\",Nze)))}Object.defineProperty(ta.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(ta.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(ta.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}});function Nze(){this._writableState.ended||process.nextTick(Lze,this)}function Lze(r){r.end()}Object.defineProperty(ta.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(e){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=e,this._writableState.destroyed=e)}})});var kle=w((iM,Dle)=>{var sb=J(\"buffer\"),nA=sb.Buffer;function Ple(r,e){for(var t in r)e[t]=r[t]}nA.from&&nA.alloc&&nA.allocUnsafe&&nA.allocUnsafeSlow?Dle.exports=sb:(Ple(sb,iM),iM.Buffer=Zh);function Zh(r,e,t){return nA(r,e,t)}Ple(nA,Zh);Zh.from=function(r,e,t){if(typeof r==\"number\")throw new TypeError(\"Argument must not be a number\");return nA(r,e,t)};Zh.alloc=function(r,e,t){if(typeof r!=\"number\")throw new TypeError(\"Argument must be a number\");var i=nA(r);return e!==void 0?typeof t==\"string\"?i.fill(e,t):i.fill(e):i.fill(0),i};Zh.allocUnsafe=function(r){if(typeof r!=\"number\")throw new TypeError(\"Argument must be a number\");return nA(r)};Zh.allocUnsafeSlow=function(r){if(typeof r!=\"number\")throw new TypeError(\"Argument must be a number\");return sb.SlowBuffer(r)}});var oM=w(Fle=>{\"use strict\";var sM=kle().Buffer,Rle=sM.isEncoding||function(r){switch(r=\"\"+r,r&&r.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function Tze(r){if(!r)return\"utf8\";for(var e;;)switch(r){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return r;default:if(e)return;r=(\"\"+r).toLowerCase(),e=!0}}function Oze(r){var e=Tze(r);if(typeof e!=\"string\"&&(sM.isEncoding===Rle||!Rle(r)))throw new Error(\"Unknown encoding: \"+r);return e||r}Fle.StringDecoder=sE;function sE(r){this.encoding=Oze(r);var e;switch(this.encoding){case\"utf16le\":this.text=Yze,this.end=jze,e=4;break;case\"utf8\":this.fillLast=Uze,e=4;break;case\"base64\":this.text=qze,this.end=Jze,e=3;break;default:this.write=Wze,this.end=zze;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=sM.allocUnsafe(e)}sE.prototype.write=function(r){if(r.length===0)return\"\";var e,t;if(this.lastNeed){if(e=this.fillLast(r),e===void 0)return\"\";t=this.lastNeed,this.lastNeed=0}else t=0;return t<r.length?e?e+this.text(r,t):this.text(r,t):e||\"\"};sE.prototype.end=Gze;sE.prototype.text=Hze;sE.prototype.fillLast=function(r){if(this.lastNeed<=r.length)return r.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);r.copy(this.lastChar,this.lastTotal-this.lastNeed,0,r.length),this.lastNeed-=r.length};function nM(r){return r<=127?0:r>>5===6?2:r>>4===14?3:r>>3===30?4:r>>6===2?-1:-2}function Mze(r,e,t){var i=e.length-1;if(i<t)return 0;var n=nM(e[i]);return n>=0?(n>0&&(r.lastNeed=n-1),n):--i<t||n===-2?0:(n=nM(e[i]),n>=0?(n>0&&(r.lastNeed=n-2),n):--i<t||n===-2?0:(n=nM(e[i]),n>=0?(n>0&&(n===2?n=0:r.lastNeed=n-3),n):0))}function Kze(r,e,t){if((e[0]&192)!==128)return r.lastNeed=0,\"\\uFFFD\";if(r.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return r.lastNeed=1,\"\\uFFFD\";if(r.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return r.lastNeed=2,\"\\uFFFD\"}}function Uze(r){var e=this.lastTotal-this.lastNeed,t=Kze(this,r,e);if(t!==void 0)return t;if(this.lastNeed<=r.length)return r.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);r.copy(this.lastChar,e,0,r.length),this.lastNeed-=r.length}function Hze(r,e){var t=Mze(this,r,e);if(!this.lastNeed)return r.toString(\"utf8\",e);this.lastTotal=t;var i=r.length-(t-this.lastNeed);return r.copy(this.lastChar,0,i),r.toString(\"utf8\",e,i)}function Gze(r){var e=r&&r.length?this.write(r):\"\";return this.lastNeed?e+\"\\uFFFD\":e}function Yze(r,e){if((r.length-e)%2===0){var t=r.toString(\"utf16le\",e);if(t){var i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=r[r.length-1],r.toString(\"utf16le\",e,r.length-1)}function jze(r){var e=r&&r.length?this.write(r):\"\";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return e+this.lastChar.toString(\"utf16le\",0,t)}return e}function qze(r,e){var t=(r.length-e)%3;return t===0?r.toString(\"base64\",e):(this.lastNeed=3-t,this.lastTotal=3,t===1?this.lastChar[0]=r[r.length-1]:(this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1]),r.toString(\"base64\",e,r.length-t))}function Jze(r){var e=r&&r.length?this.write(r):\"\";return this.lastNeed?e+this.lastChar.toString(\"base64\",0,3-this.lastNeed):e}function Wze(r){return r.toString(this.encoding)}function zze(r){return r&&r.length?this.write(r):\"\"}});var ob=w((gQt,Tle)=>{\"use strict\";var Nle=fl().codes.ERR_STREAM_PREMATURE_CLOSE;function Vze(r){var e=!1;return function(){if(!e){e=!0;for(var t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];r.apply(this,i)}}}function Xze(){}function _ze(r){return r.setHeader&&typeof r.abort==\"function\"}function Lle(r,e,t){if(typeof e==\"function\")return Lle(r,null,e);e||(e={}),t=Vze(t||Xze);var i=e.readable||e.readable!==!1&&r.readable,n=e.writable||e.writable!==!1&&r.writable,s=function(){r.writable||a()},o=r._writableState&&r._writableState.finished,a=function(){n=!1,o=!0,i||t.call(r)},l=r._readableState&&r._readableState.endEmitted,c=function(){i=!1,l=!0,n||t.call(r)},u=function(p){t.call(r,p)},g=function(){var p;if(i&&!l)return(!r._readableState||!r._readableState.ended)&&(p=new Nle),t.call(r,p);if(n&&!o)return(!r._writableState||!r._writableState.ended)&&(p=new Nle),t.call(r,p)},f=function(){r.req.on(\"finish\",a)};return _ze(r)?(r.on(\"complete\",a),r.on(\"abort\",g),r.req?f():r.on(\"request\",f)):n&&!r._writableState&&(r.on(\"end\",s),r.on(\"close\",s)),r.on(\"end\",c),r.on(\"finish\",a),e.error!==!1&&r.on(\"error\",u),r.on(\"close\",g),function(){r.removeListener(\"complete\",a),r.removeListener(\"abort\",g),r.removeListener(\"request\",f),r.req&&r.req.removeListener(\"finish\",a),r.removeListener(\"end\",s),r.removeListener(\"close\",s),r.removeListener(\"finish\",a),r.removeListener(\"end\",c),r.removeListener(\"error\",u),r.removeListener(\"close\",g)}}Tle.exports=Lle});var Mle=w((fQt,Ole)=>{\"use strict\";var ab;function dl(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var Zze=ob(),Cl=Symbol(\"lastResolve\"),Tu=Symbol(\"lastReject\"),oE=Symbol(\"error\"),Ab=Symbol(\"ended\"),Ou=Symbol(\"lastPromise\"),aM=Symbol(\"handlePromise\"),Mu=Symbol(\"stream\");function ml(r,e){return{value:r,done:e}}function $ze(r){var e=r[Cl];if(e!==null){var t=r[Mu].read();t!==null&&(r[Ou]=null,r[Cl]=null,r[Tu]=null,e(ml(t,!1)))}}function e5e(r){process.nextTick($ze,r)}function t5e(r,e){return function(t,i){r.then(function(){if(e[Ab]){t(ml(void 0,!0));return}e[aM](t,i)},i)}}var r5e=Object.getPrototypeOf(function(){}),i5e=Object.setPrototypeOf((ab={get stream(){return this[Mu]},next:function(){var e=this,t=this[oE];if(t!==null)return Promise.reject(t);if(this[Ab])return Promise.resolve(ml(void 0,!0));if(this[Mu].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[oE]?a(e[oE]):o(ml(void 0,!0))})});var i=this[Ou],n;if(i)n=new Promise(t5e(i,this));else{var s=this[Mu].read();if(s!==null)return Promise.resolve(ml(s,!1));n=new Promise(this[aM])}return this[Ou]=n,n}},dl(ab,Symbol.asyncIterator,function(){return this}),dl(ab,\"return\",function(){var e=this;return new Promise(function(t,i){e[Mu].destroy(null,function(n){if(n){i(n);return}t(ml(void 0,!0))})})}),ab),r5e),n5e=function(e){var t,i=Object.create(i5e,(t={},dl(t,Mu,{value:e,writable:!0}),dl(t,Cl,{value:null,writable:!0}),dl(t,Tu,{value:null,writable:!0}),dl(t,oE,{value:null,writable:!0}),dl(t,Ab,{value:e._readableState.endEmitted,writable:!0}),dl(t,aM,{value:function(s,o){var a=i[Mu].read();a?(i[Ou]=null,i[Cl]=null,i[Tu]=null,s(ml(a,!1))):(i[Cl]=s,i[Tu]=o)},writable:!0}),t));return i[Ou]=null,Zze(e,function(n){if(n&&n.code!==\"ERR_STREAM_PREMATURE_CLOSE\"){var s=i[Tu];s!==null&&(i[Ou]=null,i[Cl]=null,i[Tu]=null,s(n)),i[oE]=n;return}var o=i[Cl];o!==null&&(i[Ou]=null,i[Cl]=null,i[Tu]=null,o(ml(void 0,!0))),i[Ab]=!0}),e.on(\"readable\",e5e.bind(null,i)),i};Ole.exports=n5e});var Gle=w((hQt,Hle)=>{\"use strict\";function Kle(r,e,t,i,n,s,o){try{var a=r[s](o),l=a.value}catch(c){t(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function s5e(r){return function(){var e=this,t=arguments;return new Promise(function(i,n){var s=r.apply(e,t);function o(l){Kle(s,i,n,o,a,\"next\",l)}function a(l){Kle(s,i,n,o,a,\"throw\",l)}o(void 0)})}}function Ule(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function o5e(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ule(Object(t),!0).forEach(function(i){a5e(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ule(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function a5e(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var A5e=fl().codes.ERR_INVALID_ARG_TYPE;function l5e(r,e,t){var i;if(e&&typeof e.next==\"function\")i=e;else if(e&&e[Symbol.asyncIterator])i=e[Symbol.asyncIterator]();else if(e&&e[Symbol.iterator])i=e[Symbol.iterator]();else throw new A5e(\"iterable\",[\"Iterable\"],e);var n=new r(o5e({objectMode:!0},t)),s=!1;n._read=function(){s||(s=!0,o())};function o(){return a.apply(this,arguments)}function a(){return a=s5e(function*(){try{var l=yield i.next(),c=l.value,u=l.done;u?n.push(null):n.push(yield c)?o():s=!1}catch(g){n.destroy(g)}}),a.apply(this,arguments)}return n}Hle.exports=l5e});var rM=w((dQt,Zle)=>{\"use strict\";Zle.exports=Ut;var $h;Ut.ReadableState=Jle;var pQt=J(\"events\").EventEmitter,qle=function(e,t){return e.listeners(t).length},AE=YO(),lb=J(\"buffer\").Buffer,c5e=global.Uint8Array||function(){};function u5e(r){return lb.from(r)}function g5e(r){return lb.isBuffer(r)||r instanceof c5e}var AM=J(\"util\"),Dt;AM&&AM.debuglog?Dt=AM.debuglog(\"stream\"):Dt=function(){};var f5e=ule(),pM=JO(),h5e=WO(),p5e=h5e.getHighWaterMark,cb=fl().codes,d5e=cb.ERR_INVALID_ARG_TYPE,C5e=cb.ERR_STREAM_PUSH_AFTER_EOF,m5e=cb.ERR_METHOD_NOT_IMPLEMENTED,E5e=cb.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,ep,lM,cM;hl()(Ut,AE);var aE=pM.errorOrDestroy,uM=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function I5e(r,e,t){if(typeof r.prependListener==\"function\")return r.prependListener(e,t);!r._events||!r._events[e]?r.on(e,t):Array.isArray(r._events[e])?r._events[e].unshift(t):r._events[e]=[t,r._events[e]]}function Jle(r,e,t){$h=$h||Lu(),r=r||{},typeof t!=\"boolean\"&&(t=e instanceof $h),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.readableObjectMode),this.highWaterMark=p5e(this,r,\"readableHighWaterMark\",t),this.buffer=new f5e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.destroyed=!1,this.defaultEncoding=r.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,r.encoding&&(ep||(ep=oM().StringDecoder),this.decoder=new ep(r.encoding),this.encoding=r.encoding)}function Ut(r){if($h=$h||Lu(),!(this instanceof Ut))return new Ut(r);var e=this instanceof $h;this._readableState=new Jle(r,this,e),this.readable=!0,r&&(typeof r.read==\"function\"&&(this._read=r.read),typeof r.destroy==\"function\"&&(this._destroy=r.destroy)),AE.call(this)}Object.defineProperty(Ut.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Ut.prototype.destroy=pM.destroy;Ut.prototype._undestroy=pM.undestroy;Ut.prototype._destroy=function(r,e){e(r)};Ut.prototype.push=function(r,e){var t=this._readableState,i;return t.objectMode?i=!0:typeof r==\"string\"&&(e=e||t.defaultEncoding,e!==t.encoding&&(r=lb.from(r,e),e=\"\"),i=!0),Wle(this,r,e,!1,i)};Ut.prototype.unshift=function(r){return Wle(this,r,null,!0,!1)};function Wle(r,e,t,i,n){Dt(\"readableAddChunk\",e);var s=r._readableState;if(e===null)s.reading=!1,B5e(r,s);else{var o;if(n||(o=y5e(s,e)),o)aE(r,o);else if(s.objectMode||e&&e.length>0)if(typeof e!=\"string\"&&!s.objectMode&&Object.getPrototypeOf(e)!==lb.prototype&&(e=u5e(e)),i)s.endEmitted?aE(r,new E5e):gM(r,s,e,!0);else if(s.ended)aE(r,new C5e);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!t?(e=s.decoder.write(e),s.objectMode||e.length!==0?gM(r,s,e,!1):hM(r,s)):gM(r,s,e,!1)}else i||(s.reading=!1,hM(r,s))}return!s.ended&&(s.length<s.highWaterMark||s.length===0)}function gM(r,e,t,i){e.flowing&&e.length===0&&!e.sync?(e.awaitDrain=0,r.emit(\"data\",t)):(e.length+=e.objectMode?1:t.length,i?e.buffer.unshift(t):e.buffer.push(t),e.needReadable&&ub(r)),hM(r,e)}function y5e(r,e){var t;return!g5e(e)&&typeof e!=\"string\"&&e!==void 0&&!r.objectMode&&(t=new d5e(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],e)),t}Ut.prototype.isPaused=function(){return this._readableState.flowing===!1};Ut.prototype.setEncoding=function(r){ep||(ep=oM().StringDecoder);var e=new ep(r);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var t=this._readableState.buffer.head,i=\"\";t!==null;)i+=e.write(t.data),t=t.next;return this._readableState.buffer.clear(),i!==\"\"&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};var Yle=1073741824;function w5e(r){return r>=Yle?r=Yle:(r--,r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,r|=r>>>16,r++),r}function jle(r,e){return r<=0||e.length===0&&e.ended?0:e.objectMode?1:r!==r?e.flowing&&e.length?e.buffer.head.data.length:e.length:(r>e.highWaterMark&&(e.highWaterMark=w5e(r)),r<=e.length?r:e.ended?e.length:(e.needReadable=!0,0))}Ut.prototype.read=function(r){Dt(\"read\",r),r=parseInt(r,10);var e=this._readableState,t=r;if(r!==0&&(e.emittedReadable=!1),r===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return Dt(\"read: emitReadable\",e.length,e.ended),e.length===0&&e.ended?fM(this):ub(this),null;if(r=jle(r,e),r===0&&e.ended)return e.length===0&&fM(this),null;var i=e.needReadable;Dt(\"need readable\",i),(e.length===0||e.length-r<e.highWaterMark)&&(i=!0,Dt(\"length less than watermark\",i)),e.ended||e.reading?(i=!1,Dt(\"reading or ended\",i)):i&&(Dt(\"do read\"),e.reading=!0,e.sync=!0,e.length===0&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(r=jle(t,e)));var n;return r>0?n=Xle(r,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,r=0):(e.length-=r,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),t!==r&&e.ended&&fM(this)),n!==null&&this.emit(\"data\",n),n};function B5e(r,e){if(Dt(\"onEofChunk\"),!e.ended){if(e.decoder){var t=e.decoder.end();t&&t.length&&(e.buffer.push(t),e.length+=e.objectMode?1:t.length)}e.ended=!0,e.sync?ub(r):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,zle(r)))}}function ub(r){var e=r._readableState;Dt(\"emitReadable\",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Dt(\"emitReadable\",e.flowing),e.emittedReadable=!0,process.nextTick(zle,r))}function zle(r){var e=r._readableState;Dt(\"emitReadable_\",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(r.emit(\"readable\"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,dM(r)}function hM(r,e){e.readingMore||(e.readingMore=!0,process.nextTick(Q5e,r,e))}function Q5e(r,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&e.length===0);){var t=e.length;if(Dt(\"maybeReadMore read 0\"),r.read(0),t===e.length)break}e.readingMore=!1}Ut.prototype._read=function(r){aE(this,new m5e(\"_read()\"))};Ut.prototype.pipe=function(r,e){var t=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=r;break;case 1:i.pipes=[i.pipes,r];break;default:i.pipes.push(r);break}i.pipesCount+=1,Dt(\"pipe count=%d opts=%j\",i.pipesCount,e);var n=(!e||e.end!==!1)&&r!==process.stdout&&r!==process.stderr,s=n?a:C;i.endEmitted?process.nextTick(s):t.once(\"end\",s),r.on(\"unpipe\",o);function o(y,B){Dt(\"onunpipe\"),y===t&&B&&B.hasUnpiped===!1&&(B.hasUnpiped=!0,u())}function a(){Dt(\"onend\"),r.end()}var l=b5e(t);r.on(\"drain\",l);var c=!1;function u(){Dt(\"cleanup\"),r.removeListener(\"close\",h),r.removeListener(\"finish\",p),r.removeListener(\"drain\",l),r.removeListener(\"error\",f),r.removeListener(\"unpipe\",o),t.removeListener(\"end\",a),t.removeListener(\"end\",C),t.removeListener(\"data\",g),c=!0,i.awaitDrain&&(!r._writableState||r._writableState.needDrain)&&l()}t.on(\"data\",g);function g(y){Dt(\"ondata\");var B=r.write(y);Dt(\"dest.write\",B),B===!1&&((i.pipesCount===1&&i.pipes===r||i.pipesCount>1&&_le(i.pipes,r)!==-1)&&!c&&(Dt(\"false write response, pause\",i.awaitDrain),i.awaitDrain++),t.pause())}function f(y){Dt(\"onerror\",y),C(),r.removeListener(\"error\",f),qle(r,\"error\")===0&&aE(r,y)}I5e(r,\"error\",f);function h(){r.removeListener(\"finish\",p),C()}r.once(\"close\",h);function p(){Dt(\"onfinish\"),r.removeListener(\"close\",h),C()}r.once(\"finish\",p);function C(){Dt(\"unpipe\"),t.unpipe(r)}return r.emit(\"pipe\",t),i.flowing||(Dt(\"pipe resume\"),t.resume()),r};function b5e(r){return function(){var t=r._readableState;Dt(\"pipeOnDrain\",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&qle(r,\"data\")&&(t.flowing=!0,dM(r))}}Ut.prototype.unpipe=function(r){var e=this._readableState,t={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return r&&r!==e.pipes?this:(r||(r=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,r&&r.emit(\"unpipe\",this,t),this);if(!r){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s<n;s++)i[s].emit(\"unpipe\",this,{hasUnpiped:!1});return this}var o=_le(e.pipes,r);return o===-1?this:(e.pipes.splice(o,1),e.pipesCount-=1,e.pipesCount===1&&(e.pipes=e.pipes[0]),r.emit(\"unpipe\",this,t),this)};Ut.prototype.on=function(r,e){var t=AE.prototype.on.call(this,r,e),i=this._readableState;return r===\"data\"?(i.readableListening=this.listenerCount(\"readable\")>0,i.flowing!==!1&&this.resume()):r===\"readable\"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Dt(\"on readable\",i.length,i.reading),i.length?ub(this):i.reading||process.nextTick(S5e,this)),t};Ut.prototype.addListener=Ut.prototype.on;Ut.prototype.removeListener=function(r,e){var t=AE.prototype.removeListener.call(this,r,e);return r===\"readable\"&&process.nextTick(Vle,this),t};Ut.prototype.removeAllListeners=function(r){var e=AE.prototype.removeAllListeners.apply(this,arguments);return(r===\"readable\"||r===void 0)&&process.nextTick(Vle,this),e};function Vle(r){var e=r._readableState;e.readableListening=r.listenerCount(\"readable\")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:r.listenerCount(\"data\")>0&&r.resume()}function S5e(r){Dt(\"readable nexttick read 0\"),r.read(0)}Ut.prototype.resume=function(){var r=this._readableState;return r.flowing||(Dt(\"resume\"),r.flowing=!r.readableListening,v5e(this,r)),r.paused=!1,this};function v5e(r,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(x5e,r,e))}function x5e(r,e){Dt(\"resume\",e.reading),e.reading||r.read(0),e.resumeScheduled=!1,r.emit(\"resume\"),dM(r),e.flowing&&!e.reading&&r.read(0)}Ut.prototype.pause=function(){return Dt(\"call pause flowing=%j\",this._readableState.flowing),this._readableState.flowing!==!1&&(Dt(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this};function dM(r){var e=r._readableState;for(Dt(\"flow\",e.flowing);e.flowing&&r.read()!==null;);}Ut.prototype.wrap=function(r){var e=this,t=this._readableState,i=!1;r.on(\"end\",function(){if(Dt(\"wrapped end\"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),r.on(\"data\",function(o){if(Dt(\"wrapped data\"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,r.pause())}});for(var n in r)this[n]===void 0&&typeof r[n]==\"function\"&&(this[n]=function(a){return function(){return r[a].apply(r,arguments)}}(n));for(var s=0;s<uM.length;s++)r.on(uM[s],this.emit.bind(this,uM[s]));return this._read=function(o){Dt(\"wrapped _read\",o),i&&(i=!1,r.resume())},this};typeof Symbol==\"function\"&&(Ut.prototype[Symbol.asyncIterator]=function(){return lM===void 0&&(lM=Mle()),lM(this)});Object.defineProperty(Ut.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(Ut.prototype,\"readableBuffer\",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(Ut.prototype,\"readableFlowing\",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}});Ut._fromList=Xle;Object.defineProperty(Ut.prototype,\"readableLength\",{enumerable:!1,get:function(){return this._readableState.length}});function Xle(r,e){if(e.length===0)return null;var t;return e.objectMode?t=e.buffer.shift():!r||r>=e.length?(e.decoder?t=e.buffer.join(\"\"):e.buffer.length===1?t=e.buffer.first():t=e.buffer.concat(e.length),e.buffer.clear()):t=e.buffer.consume(r,e.decoder),t}function fM(r){var e=r._readableState;Dt(\"endReadable\",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(P5e,e,r))}function P5e(r,e){if(Dt(\"endReadableNT\",r.endEmitted,r.length),!r.endEmitted&&r.length===0&&(r.endEmitted=!0,e.readable=!1,e.emit(\"end\"),r.autoDestroy)){var t=e._writableState;(!t||t.autoDestroy&&t.finished)&&e.destroy()}}typeof Symbol==\"function\"&&(Ut.from=function(r,e){return cM===void 0&&(cM=Gle()),cM(Ut,r,e)});function _le(r,e){for(var t=0,i=r.length;t<i;t++)if(r[t]===e)return t;return-1}});var CM=w((CQt,ece)=>{\"use strict\";ece.exports=sA;var gb=fl().codes,D5e=gb.ERR_METHOD_NOT_IMPLEMENTED,k5e=gb.ERR_MULTIPLE_CALLBACK,R5e=gb.ERR_TRANSFORM_ALREADY_TRANSFORMING,F5e=gb.ERR_TRANSFORM_WITH_LENGTH_0,fb=Lu();hl()(sA,fb);function N5e(r,e){var t=this._transformState;t.transforming=!1;var i=t.writecb;if(i===null)return this.emit(\"error\",new k5e);t.writechunk=null,t.writecb=null,e!=null&&this.push(e),i(r);var n=this._readableState;n.reading=!1,(n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}function sA(r){if(!(this instanceof sA))return new sA(r);fb.call(this,r),this._transformState={afterTransform:N5e.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,r&&(typeof r.transform==\"function\"&&(this._transform=r.transform),typeof r.flush==\"function\"&&(this._flush=r.flush)),this.on(\"prefinish\",L5e)}function L5e(){var r=this;typeof this._flush==\"function\"&&!this._readableState.destroyed?this._flush(function(e,t){$le(r,e,t)}):$le(this,null,null)}sA.prototype.push=function(r,e){return this._transformState.needTransform=!1,fb.prototype.push.call(this,r,e)};sA.prototype._transform=function(r,e,t){t(new D5e(\"_transform()\"))};sA.prototype._write=function(r,e,t){var i=this._transformState;if(i.writecb=t,i.writechunk=r,i.writeencoding=e,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}};sA.prototype._read=function(r){var e=this._transformState;e.writechunk!==null&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0};sA.prototype._destroy=function(r,e){fb.prototype._destroy.call(this,r,function(t){e(t)})};function $le(r,e,t){if(e)return r.emit(\"error\",e);if(t!=null&&r.push(t),r._writableState.length)throw new F5e;if(r._transformState.transforming)throw new R5e;return r.push(null)}});var ice=w((mQt,rce)=>{\"use strict\";rce.exports=lE;var tce=CM();hl()(lE,tce);function lE(r){if(!(this instanceof lE))return new lE(r);tce.call(this,r)}lE.prototype._transform=function(r,e,t){t(null,r)}});var Ace=w((EQt,ace)=>{\"use strict\";var mM;function T5e(r){var e=!1;return function(){e||(e=!0,r.apply(void 0,arguments))}}var oce=fl().codes,O5e=oce.ERR_MISSING_ARGS,M5e=oce.ERR_STREAM_DESTROYED;function nce(r){if(r)throw r}function K5e(r){return r.setHeader&&typeof r.abort==\"function\"}function U5e(r,e,t,i){i=T5e(i);var n=!1;r.on(\"close\",function(){n=!0}),mM===void 0&&(mM=ob()),mM(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,K5e(r))return r.abort();if(typeof r.destroy==\"function\")return r.destroy();i(o||new M5e(\"pipe\"))}}}function sce(r){r()}function H5e(r,e){return r.pipe(e)}function G5e(r){return!r.length||typeof r[r.length-1]!=\"function\"?nce:r.pop()}function Y5e(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];var i=G5e(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new O5e(\"streams\");var n,s=e.map(function(o,a){var l=a<e.length-1,c=a>0;return U5e(o,l,c,function(u){n||(n=u),u&&s.forEach(sce),!l&&(s.forEach(sce),i(n))})});return e.reduce(H5e)}ace.exports=Y5e});var tp=w((Ns,uE)=>{var cE=J(\"stream\");process.env.READABLE_STREAM===\"disable\"&&cE?(uE.exports=cE.Readable,Object.assign(uE.exports,cE),uE.exports.Stream=cE):(Ns=uE.exports=rM(),Ns.Stream=cE||Ns,Ns.Readable=Ns,Ns.Writable=$O(),Ns.Duplex=Lu(),Ns.Transform=CM(),Ns.PassThrough=ice(),Ns.finished=ob(),Ns.pipeline=Ace())});var uce=w((IQt,cce)=>{\"use strict\";var{Buffer:ho}=J(\"buffer\"),lce=Symbol.for(\"BufferList\");function fr(r){if(!(this instanceof fr))return new fr(r);fr._init.call(this,r)}fr._init=function(e){Object.defineProperty(this,lce,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};fr.prototype._new=function(e){return new fr(e)};fr.prototype._offset=function(e){if(e===0)return[0,0];let t=0;for(let i=0;i<this._bufs.length;i++){let n=t+this._bufs[i].length;if(e<n||i===this._bufs.length-1)return[i,e-t];t=n}};fr.prototype._reverseOffset=function(r){let e=r[0],t=r[1];for(let i=0;i<e;i++)t+=this._bufs[i].length;return t};fr.prototype.get=function(e){if(e>this.length||e<0)return;let t=this._offset(e);return this._bufs[t[0]][t[1]]};fr.prototype.slice=function(e,t){return typeof e==\"number\"&&e<0&&(e+=this.length),typeof t==\"number\"&&t<0&&(t+=this.length),this.copy(null,0,e,t)};fr.prototype.copy=function(e,t,i,n){if((typeof i!=\"number\"||i<0)&&(i=0),(typeof n!=\"number\"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||ho.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&t||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:ho.concat(this._bufs,this.length);for(let g=0;g<this._bufs.length;g++)this._bufs[g].copy(e,c),c+=this._bufs[g].length;return e}if(l<=this._bufs[o[0]].length-u)return s?this._bufs[o[0]].copy(e,t,u,u+l):this._bufs[o[0]].slice(u,u+l);s||(e=ho.allocUnsafe(a));for(let g=o[0];g<this._bufs.length;g++){let f=this._bufs[g].length-u;if(l>f)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};fr.prototype.shallowSlice=function(e,t){if(e=e||0,t=typeof t!=\"number\"?this.length:t,e<0&&(e+=this.length),t<0&&(t+=this.length),e===t)return this._new();let i=this._offset(e),n=this._offset(t),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};fr.prototype.toString=function(e,t,i){return this.slice(t,i).toString(e)};fr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};fr.prototype.duplicate=function(){let e=this._new();for(let t=0;t<this._bufs.length;t++)e.append(this._bufs[t]);return e};fr.prototype.append=function(e){if(e==null)return this;if(e.buffer)this._appendBuffer(ho.from(e.buffer,e.byteOffset,e.byteLength));else if(Array.isArray(e))for(let t=0;t<e.length;t++)this.append(e[t]);else if(this._isBufferList(e))for(let t=0;t<e._bufs.length;t++)this.append(e._bufs[t]);else typeof e==\"number\"&&(e=e.toString()),this._appendBuffer(ho.from(e));return this};fr.prototype._appendBuffer=function(e){this._bufs.push(e),this.length+=e.length};fr.prototype.indexOf=function(r,e,t){if(t===void 0&&typeof e==\"string\"&&(t=e,e=void 0),typeof r==\"function\"||Array.isArray(r))throw new TypeError('The \"value\" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof r==\"number\"?r=ho.from([r]):typeof r==\"string\"?r=ho.from(r,t):this._isBufferList(r)?r=r.slice():Array.isArray(r.buffer)?r=ho.from(r.buffer,r.byteOffset,r.byteLength):ho.isBuffer(r)||(r=ho.from(r)),e=Number(e||0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),r.length===0)return e>this.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n<this._bufs.length;n++){let o=this._bufs[n];for(;s<o.length;)if(o.length-s>=r.length){let l=o.indexOf(r,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-r.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,r))return l;s++}s=0}return-1};fr.prototype._match=function(r,e){if(this.length-r<e.length)return!1;for(let t=0;t<e.length;t++)if(this.get(r+t)!==e[t])return!1;return!0};(function(){let r={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let e in r)(function(t){r[t]===null?fr.prototype[t]=function(i,n){return this.slice(i,i+n)[t](0,n)}:fr.prototype[t]=function(i=0){return this.slice(i,i+r[t])[t](0)}})(e)})();fr.prototype._isBufferList=function(e){return e instanceof fr||fr.isBufferList(e)};fr.isBufferList=function(e){return e!=null&&e[lce]};cce.exports=fr});var gce=w((yQt,hb)=>{\"use strict\";var EM=tp().Duplex,j5e=hl(),gE=uce();function Yi(r){if(!(this instanceof Yi))return new Yi(r);if(typeof r==\"function\"){this._callback=r;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on(\"pipe\",function(i){i.on(\"error\",e)}),this.on(\"unpipe\",function(i){i.removeListener(\"error\",e)}),r=null}gE._init.call(this,r),EM.call(this)}j5e(Yi,EM);Object.assign(Yi.prototype,gE.prototype);Yi.prototype._new=function(e){return new Yi(e)};Yi.prototype._write=function(e,t,i){this._appendBuffer(e),typeof i==\"function\"&&i()};Yi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Yi.prototype.end=function(e){EM.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Yi.prototype._destroy=function(e,t){this._bufs.length=0,this.length=0,t(e)};Yi.prototype._isBufferList=function(e){return e instanceof Yi||e instanceof gE||Yi.isBufferList(e)};Yi.isBufferList=gE.isBufferList;hb.exports=Yi;hb.exports.BufferListStream=Yi;hb.exports.BufferList=gE});var wM=w(ip=>{var q5e=Buffer.alloc,J5e=\"0000000000000000000\",W5e=\"7777777777777777777\",fce=\"0\".charCodeAt(0),hce=Buffer.from(\"ustar\\0\",\"binary\"),z5e=Buffer.from(\"00\",\"binary\"),V5e=Buffer.from(\"ustar \",\"binary\"),X5e=Buffer.from(\" \\0\",\"binary\"),_5e=parseInt(\"7777\",8),fE=257,yM=263,Z5e=function(r,e,t){return typeof r!=\"number\"?t:(r=~~r,r>=e?e:r>=0||(r+=e,r>=0)?r:0)},$5e=function(r){switch(r){case 0:return\"file\";case 1:return\"link\";case 2:return\"symlink\";case 3:return\"character-device\";case 4:return\"block-device\";case 5:return\"directory\";case 6:return\"fifo\";case 7:return\"contiguous-file\";case 72:return\"pax-header\";case 55:return\"pax-global-header\";case 27:return\"gnu-long-link-path\";case 28:case 30:return\"gnu-long-path\"}return null},eVe=function(r){switch(r){case\"file\":return 0;case\"link\":return 1;case\"symlink\":return 2;case\"character-device\":return 3;case\"block-device\":return 4;case\"directory\":return 5;case\"fifo\":return 6;case\"contiguous-file\":return 7;case\"pax-header\":return 72}return 0},pce=function(r,e,t,i){for(;t<i;t++)if(r[t]===e)return t;return i},dce=function(r){for(var e=256,t=0;t<148;t++)e+=r[t];for(var i=156;i<512;i++)e+=r[i];return e},El=function(r,e){return r=r.toString(8),r.length>e?W5e.slice(0,e)+\" \":J5e.slice(0,e-r.length)+r+\" \"};function tVe(r){var e;if(r[0]===128)e=!0;else if(r[0]===255)e=!1;else return null;for(var t=[],i=r.length-1;i>0;i--){var n=r[i];e?t.push(n):t.push(255-n)}var s=0,o=t.length;for(i=0;i<o;i++)s+=t[i]*Math.pow(256,i);return e?s:-1*s}var Il=function(r,e,t){if(r=r.slice(e,e+t),e=0,r[e]&128)return tVe(r);for(;e<r.length&&r[e]===32;)e++;for(var i=Z5e(pce(r,32,e,r.length),r.length,r.length);e<i&&r[e]===0;)e++;return i===e?0:parseInt(r.slice(e,i).toString(),8)},rp=function(r,e,t,i){return r.slice(e,pce(r,0,e,e+t)).toString(i)},IM=function(r){var e=Buffer.byteLength(r),t=Math.floor(Math.log(e)/Math.log(10))+1;return e+t>=Math.pow(10,t)&&t++,e+t+r};ip.decodeLongPath=function(r,e){return rp(r,0,r.length,e)};ip.encodePax=function(r){var e=\"\";r.name&&(e+=IM(\" path=\"+r.name+`\n`)),r.linkname&&(e+=IM(\" linkpath=\"+r.linkname+`\n`));var t=r.pax;if(t)for(var i in t)e+=IM(\" \"+i+\"=\"+t[i]+`\n`);return Buffer.from(e)};ip.decodePax=function(r){for(var e={};r.length;){for(var t=0;t<r.length&&r[t]!==32;)t++;var i=parseInt(r.slice(0,t).toString(),10);if(!i)return e;var n=r.slice(t+1,i-1).toString(),s=n.indexOf(\"=\");if(s===-1)return e;e[n.slice(0,s)]=n.slice(s+1),r=r.slice(i)}return e};ip.encode=function(r){var e=q5e(512),t=r.name,i=\"\";if(r.typeflag===5&&t[t.length-1]!==\"/\"&&(t+=\"/\"),Buffer.byteLength(t)!==t.length)return null;for(;Buffer.byteLength(t)>100;){var n=t.indexOf(\"/\");if(n===-1)return null;i+=i?\"/\"+t.slice(0,n):t.slice(0,n),t=t.slice(n+1)}return Buffer.byteLength(t)>100||Buffer.byteLength(i)>155||r.linkname&&Buffer.byteLength(r.linkname)>100?null:(e.write(t),e.write(El(r.mode&_5e,6),100),e.write(El(r.uid,6),108),e.write(El(r.gid,6),116),e.write(El(r.size,11),124),e.write(El(r.mtime.getTime()/1e3|0,11),136),e[156]=fce+eVe(r.type),r.linkname&&e.write(r.linkname,157),hce.copy(e,fE),z5e.copy(e,yM),r.uname&&e.write(r.uname,265),r.gname&&e.write(r.gname,297),e.write(El(r.devmajor||0,6),329),e.write(El(r.devminor||0,6),337),i&&e.write(i,345),e.write(El(dce(e),6),148),e)};ip.decode=function(r,e,t){var i=r[156]===0?0:r[156]-fce,n=rp(r,0,100,e),s=Il(r,100,8),o=Il(r,108,8),a=Il(r,116,8),l=Il(r,124,12),c=Il(r,136,12),u=$5e(i),g=r[157]===0?null:rp(r,157,100,e),f=rp(r,265,32),h=rp(r,297,32),p=Il(r,329,8),C=Il(r,337,8),y=dce(r);if(y===8*32)return null;if(y!==Il(r,148,8))throw new Error(\"Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?\");if(hce.compare(r,fE,fE+6)===0)r[345]&&(n=rp(r,345,155,e)+\"/\"+n);else if(!(V5e.compare(r,fE,fE+6)===0&&X5e.compare(r,yM,yM+2)===0)){if(!t)throw new Error(\"Invalid tar header: unknown format.\")}return i===0&&n&&n[n.length-1]===\"/\"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:C}}});var Bce=w((BQt,wce)=>{var mce=J(\"util\"),rVe=gce(),hE=wM(),Ece=tp().Writable,Ice=tp().PassThrough,yce=function(){},Cce=function(r){return r&=511,r&&512-r},iVe=function(r,e){var t=new pb(r,e);return t.end(),t},nVe=function(r,e){return e.path&&(r.name=e.path),e.linkpath&&(r.linkname=e.linkpath),e.size&&(r.size=parseInt(e.size,10)),r.pax=e,r},pb=function(r,e){this._parent=r,this.offset=e,Ice.call(this,{autoDestroy:!1})};mce.inherits(pb,Ice);pb.prototype.destroy=function(r){this._parent.destroy(r)};var oA=function(r){if(!(this instanceof oA))return new oA(r);Ece.call(this,r),r=r||{},this._offset=0,this._buffer=rVe(),this._missing=0,this._partial=!1,this._onparse=yce,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,t=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=Cce(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(Cce(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=hE.decodePax(t.slice(0,f)),t.consume(f),s()},l=function(){var f=e._header.size;e._pax=hE.decodePax(t.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),t.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=hE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=hE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=hE.decode(t.slice(0,512),r.filenameEncoding,r.allowUnknownFormat)}catch(p){e.emit(\"error\",p)}if(t.consume(512),!h){e._parse(512,g),i();return}if(h.type===\"gnu-long-path\"){e._parse(h.size,c),i();return}if(h.type===\"gnu-long-link-path\"){e._parse(h.size,u),i();return}if(h.type===\"pax-global-header\"){e._parse(h.size,a),i();return}if(h.type===\"pax-header\"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=nVe(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type===\"directory\"){e._parse(512,g),e.emit(\"entry\",h,iVe(e,f),n);return}e._stream=new pb(e,f),e.emit(\"entry\",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};mce.inherits(oA,Ece);oA.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit(\"error\",r),this.emit(\"close\"),this._stream&&this._stream.emit(\"close\"))};oA.prototype._parse=function(r,e){this._destroyed||(this._offset+=r,this._missing=r,e===this._onheader&&(this._partial=!1),this._onparse=e)};oA.prototype._continue=function(){if(!this._destroyed){var r=this._cb;this._cb=yce,this._overflow?this._write(this._overflow,void 0,r):r()}};oA.prototype._write=function(r,e,t){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(r.length&&(this._partial=!0),r.length<s)return this._missing-=r.length,this._overflow=null,i?i.write(r,t):(n.append(r),t());this._cb=t,this._missing=0;var o=null;r.length>s&&(o=r.slice(s),r=r.slice(0,s)),i?i.end(r):n.append(r),this._overflow=o,this._onparse()}};oA.prototype._final=function(r){if(this._partial)return this.destroy(new Error(\"Unexpected end of data\"));r()};wce.exports=oA});var bce=w((QQt,Qce)=>{Qce.exports=J(\"fs\").constants||J(\"constants\")});var Dce=w((bQt,Pce)=>{var np=bce(),Sce=fk(),Cb=hl(),sVe=Buffer.alloc,vce=tp().Readable,sp=tp().Writable,oVe=J(\"string_decoder\").StringDecoder,db=wM(),aVe=parseInt(\"755\",8),AVe=parseInt(\"644\",8),xce=sVe(1024),QM=function(){},BM=function(r,e){e&=511,e&&r.push(xce.slice(0,512-e))};function lVe(r){switch(r&np.S_IFMT){case np.S_IFBLK:return\"block-device\";case np.S_IFCHR:return\"character-device\";case np.S_IFDIR:return\"directory\";case np.S_IFIFO:return\"fifo\";case np.S_IFLNK:return\"symlink\"}return\"file\"}var mb=function(r){sp.call(this),this.written=0,this._to=r,this._destroyed=!1};Cb(mb,sp);mb.prototype._write=function(r,e,t){if(this.written+=r.length,this._to.push(r))return t();this._to._drain=t};mb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit(\"close\"))};var Eb=function(){sp.call(this),this.linkname=\"\",this._decoder=new oVe(\"utf-8\"),this._destroyed=!1};Cb(Eb,sp);Eb.prototype._write=function(r,e,t){this.linkname+=this._decoder.write(r),t()};Eb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit(\"close\"))};var pE=function(){sp.call(this),this._destroyed=!1};Cb(pE,sp);pE.prototype._write=function(r,e,t){t(new Error(\"No body allowed for this entry\"))};pE.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit(\"close\"))};var ra=function(r){if(!(this instanceof ra))return new ra(r);vce.call(this,r),this._drain=QM,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};Cb(ra,vce);ra.prototype.entry=function(r,e,t){if(this._stream)throw new Error(\"already piping an entry\");if(!(this._finalized||this._destroyed)){typeof e==\"function\"&&(t=e,e=null),t||(t=QM);var i=this;if((!r.size||r.type===\"symlink\")&&(r.size=0),r.type||(r.type=lVe(r.mode)),r.mode||(r.mode=r.type===\"directory\"?aVe:AVe),r.uid||(r.uid=0),r.gid||(r.gid=0),r.mtime||(r.mtime=new Date),typeof e==\"string\"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){r.size=e.length,this._encode(r);var n=this.push(e);return BM(i,r.size),n?process.nextTick(t):this._drain=t,new pE}if(r.type===\"symlink\"&&!r.linkname){var s=new Eb;return Sce(s,function(a){if(a)return i.destroy(),t(a);r.linkname=s.linkname,i._encode(r),t()}),s}if(this._encode(r),r.type!==\"file\"&&r.type!==\"contiguous-file\")return process.nextTick(t),new pE;var o=new mb(this);return this._stream=o,Sce(o,function(a){if(i._stream=null,a)return i.destroy(),t(a);if(o.written!==r.size)return i.destroy(),t(new Error(\"size mismatch\"));BM(i,r.size),i._finalizing&&i.finalize(),t()}),o}};ra.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(xce),this.push(null))};ra.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit(\"error\",r),this.emit(\"close\"),this._stream&&this._stream.destroy&&this._stream.destroy())};ra.prototype._encode=function(r){if(!r.pax){var e=db.encode(r);if(e){this.push(e);return}}this._encodePax(r)};ra.prototype._encodePax=function(r){var e=db.encodePax({name:r.name,linkname:r.linkname,pax:r.pax}),t={name:\"PaxHeader\",mode:r.mode,uid:r.uid,gid:r.gid,size:e.length,mtime:r.mtime,type:\"pax-header\",linkname:r.linkname&&\"PaxHeader\",uname:r.uname,gname:r.gname,devmajor:r.devmajor,devminor:r.devminor};this.push(db.encode(t)),this.push(e),BM(this,e.length),t.size=r.size,t.type=r.type,this.push(db.encode(t))};ra.prototype._read=function(r){var e=this._drain;this._drain=QM,e()};Pce.exports=ra});var kce=w(bM=>{bM.extract=Bce();bM.pack=Dce()});var Yce=w((WQt,Gce)=>{\"use strict\";var Uu=class{constructor(e,t,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]==\"string\"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=t||{},this.__providers=Uce(i.filter(n=>n!=null&&typeof n==\"object\")),this.__isFiggyPudding=!0}get(e){return kM(this,e,!0)}get[Symbol.toStringTag](){return\"FiggyPudding\"}forEach(e,t=this){for(let[i,n]of this.entries())e.call(t,n,i,this)}toJSON(){let e={};return this.forEach((t,i)=>{e[i]=t}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let t=e||this.__opts.other;if(t){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(t):QVe(n);for(let[o,a]of s)t(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,t]of this.entries())yield[e,t]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Uu(this.__specs,this.__opts,Uce(this.__providers).concat(e)),Hce)}};try{let r=J(\"util\");Uu.prototype[r.inspect.custom]=function(e,t){return this[Symbol.toStringTag]+\" \"+r.inspect(this.toJSON(),t)}}catch{}function wVe(r){throw Object.assign(new Error(`invalid config key requested: ${r}`),{code:\"EBADKEY\"})}function kM(r,e,t){let i=r.__specs[e];if(t&&!i&&(!r.__opts.other||!r.__opts.other(e)))wVe(e);else{i||(i={});let n;for(let s of r.__providers){if(n=Kce(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=Kce(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default==\"function\"?i.default(r):i.default:n}}function Kce(r,e){let t;return e.__isFiggyPudding?t=kM(e,r,!1):typeof e.get==\"function\"?t=e.get(r):t=e[r],t}var Hce={has(r,e){return e in r.__specs&&kM(r,e,!1)!==void 0},ownKeys(r){return Object.keys(r.__specs)},get(r,e){return typeof e==\"symbol\"||e.slice(0,2)===\"__\"||e in Uu.prototype?r[e]:r.get(e)},set(r,e,t){if(typeof e==\"symbol\"||e.slice(0,2)===\"__\")return r[e]=t,!0;throw new Error(\"figgyPudding options cannot be modified. Use .concat() instead.\")},deleteProperty(){throw new Error(\"figgyPudding options cannot be deleted. Use .concat() and shadow them instead.\")}};Gce.exports=BVe;function BVe(r,e){function t(...i){return new Proxy(new Uu(r,e,i),Hce)}return t}function Uce(r){let e=[];return r.forEach(t=>e.unshift(t)),e}function QVe(r){return Object.keys(r).map(e=>[e,r[e]])}});var Jce=w((zQt,sa)=>{\"use strict\";var CE=J(\"crypto\"),bVe=Yce(),SVe=J(\"stream\").Transform,jce=[\"sha256\",\"sha384\",\"sha512\"],vVe=/^[a-z0-9+/]+(?:=?=?)$/i,xVe=/^([^-]+)-([^?]+)([?\\S*]*)$/,PVe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\\?[\\x21-\\x7E]*)*$/,DVe=/^[\\x21-\\x7E]+$/,on=bVe({algorithms:{default:[\"sha512\"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>MVe},Promise:{default:()=>Promise},sep:{default:\" \"},single:{default:!1},size:{},strict:{default:!1}}),yl=class{get isHash(){return!0}constructor(e,t){t=on(t);let i=!!t.strict;this.source=e.trim();let n=this.source.match(i?PVe:xVe);if(!n||i&&!jce.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split(\"?\"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,\"base64\").toString(\"hex\")}toJSON(){return this.toString()}toString(e){if(e=on(e),e.strict&&!(jce.some(i=>i===this.algorithm)&&this.digest.match(vVe)&&(this.options||[]).every(i=>i.match(DVe))))return\"\";let t=this.options&&this.options.length?`?${this.options.join(\"?\")}`:\"\";return`${this.algorithm}-${this.digest}${t}`}},Hu=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=on(e);let t=e.sep||\" \";return e.strict&&(t=t.replace(/\\S+/g,\" \")),Object.keys(this).map(i=>this[i].map(n=>yl.prototype.toString.call(n,e)).filter(n=>n.length).join(t)).filter(i=>i.length).join(t)}concat(e,t){t=on(t);let i=typeof e==\"string\"?e:dE(e,t);return na(`${this.toString(t)} ${i}`,t)}hexDigest(){return na(this,{single:!0}).hexDigest()}match(e,t){t=on(t);let i=na(e,t),n=i.pickAlgorithm(t);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=on(e);let t=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>t(n,s)||n)}};sa.exports.parse=na;function na(r,e){if(e=on(e),typeof r==\"string\")return RM(r,e);if(r.algorithm&&r.digest){let t=new Hu;return t[r.algorithm]=[r],RM(dE(t,e),e)}else return RM(dE(r,e),e)}function RM(r,e){return e.single?new yl(r,e):r.trim().split(/\\s+/).reduce((t,i)=>{let n=new yl(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;t[s]||(t[s]=[]),t[s].push(n)}return t},new Hu)}sa.exports.stringify=dE;function dE(r,e){return e=on(e),r.algorithm&&r.digest?yl.prototype.toString.call(r,e):typeof r==\"string\"?dE(na(r,e),e):Hu.prototype.toString.call(r,e)}sa.exports.fromHex=kVe;function kVe(r,e,t){t=on(t);let i=t.options&&t.options.length?`?${t.options.join(\"?\")}`:\"\";return na(`${e}-${Buffer.from(r,\"hex\").toString(\"base64\")}${i}`,t)}sa.exports.fromData=RVe;function RVe(r,e){e=on(e);let t=e.algorithms,i=e.options&&e.options.length?`?${e.options.join(\"?\")}`:\"\";return t.reduce((n,s)=>{let o=CE.createHash(s).update(r).digest(\"base64\"),a=new yl(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new Hu)}sa.exports.fromStream=FVe;function FVe(r,e){e=on(e);let t=e.Promise||Promise,i=FM(e);return new t((n,s)=>{r.pipe(i),r.on(\"error\",s),i.on(\"error\",s);let o;i.on(\"integrity\",a=>{o=a}),i.on(\"end\",()=>n(o)),i.on(\"data\",()=>{})})}sa.exports.checkData=NVe;function NVe(r,e,t){if(t=on(t),e=na(e,t),!Object.keys(e).length){if(t.error)throw Object.assign(new Error(\"No valid integrity hashes to check against\"),{code:\"EINTEGRITY\"});return!1}let i=e.pickAlgorithm(t),n=CE.createHash(i).update(r).digest(\"base64\"),s=na({algorithm:i,digest:n}),o=s.match(e,t);if(o||!t.error)return o;if(typeof t.size==\"number\"&&r.length!==t.size){let a=new Error(`data size mismatch when checking ${e}.\n  Wanted: ${t.size}\n  Found: ${r.length}`);throw a.code=\"EBADSIZE\",a.found=r.length,a.expected=t.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${r.length} bytes)`);throw a.code=\"EINTEGRITY\",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}sa.exports.checkStream=LVe;function LVe(r,e,t){t=on(t);let i=t.Promise||Promise,n=FM(t.concat({integrity:e}));return new i((s,o)=>{r.pipe(n),r.on(\"error\",o),n.on(\"error\",o);let a;n.on(\"verified\",l=>{a=l}),n.on(\"end\",()=>s(a)),n.on(\"data\",()=>{})})}sa.exports.integrityStream=FM;function FM(r){r=on(r);let e=r.integrity&&na(r.integrity,r),t=e&&Object.keys(e).length,i=t&&e.pickAlgorithm(r),n=t&&e[i],s=Array.from(new Set(r.algorithms.concat(i?[i]:[]))),o=s.map(CE.createHash),a=0,l=new SVe({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on(\"end\",()=>{let c=r.options&&r.options.length?`?${r.options.join(\"?\")}`:\"\",u=na(o.map((f,h)=>`${s[h]}-${f.digest(\"base64\")}${c}`).join(\" \"),r),g=t&&u.match(e,r);if(typeof r.size==\"number\"&&a!==r.size){let f=new Error(`stream size mismatch when checking ${e}.\n  Wanted: ${r.size}\n  Found: ${a}`);f.code=\"EBADSIZE\",f.found=a,f.expected=r.size,f.sri=e,l.emit(\"error\",f)}else if(r.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code=\"EINTEGRITY\",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit(\"error\",f)}else l.emit(\"size\",a),l.emit(\"integrity\",u),g&&l.emit(\"verified\",g)});return l}sa.exports.create=TVe;function TVe(r){r=on(r);let e=r.algorithms,t=r.options.length?`?${r.options.join(\"?\")}`:\"\",i=e.map(CE.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest(\"base64\"),c=new yl(`${a}-${l}${t}`,r);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new Hu)}}}var OVe=new Set(CE.getHashes()),qce=[\"md5\",\"whirlpool\",\"sha1\",\"sha224\",\"sha256\",\"sha384\",\"sha512\",\"sha3\",\"sha3-256\",\"sha3-384\",\"sha3-512\",\"sha3_256\",\"sha3_384\",\"sha3_512\"].filter(r=>OVe.has(r));function MVe(r,e){return qce.indexOf(r.toLowerCase())>=qce.indexOf(e.toLowerCase())?r:e}});var VC={};ut(VC,{BuildType:()=>C0,Cache:()=>Rt,Configuration:()=>ye,DEFAULT_LOCK_FILENAME:()=>jD,DEFAULT_RC_FILENAME:()=>YD,FormatType:()=>vi,InstallMode:()=>Xn,LightReport:()=>_o,LinkType:()=>lf,Manifest:()=>ot,MessageName:()=>Ct,MultiFetcher:()=>If,PackageExtensionStatus:()=>Nx,PackageExtensionType:()=>Fx,Project:()=>je,ProjectLookup:()=>zD,Report:()=>Si,ReportError:()=>at,SettingsType:()=>qD,StreamReport:()=>Ge,TAG_REGEXP:()=>wf,TelemetryManager:()=>hh,ThrowReport:()=>ti,VirtualFetcher:()=>Bf,Workspace:()=>fh,WorkspaceFetcher:()=>bf,WorkspaceResolver:()=>jr,YarnVersion:()=>Lr,execUtils:()=>Cr,folderUtils:()=>ww,formatUtils:()=>ee,hashUtils:()=>li,httpUtils:()=>Vt,miscUtils:()=>Ie,nodeUtils:()=>Cs,parseMessageName:()=>QI,scriptUtils:()=>Jt,semverUtils:()=>vt,stringifyMessageName:()=>QA,structUtils:()=>P,tgzUtils:()=>Ci,treeUtils:()=>Vn});var Cr={};ut(Cr,{EndStrategy:()=>ZD,ExecError:()=>Dw,PipeError:()=>sC,execvp:()=>KD,pipevp:()=>Yo});var Lp={};ut(Lp,{AliasFS:()=>yo,CwdFS:()=>jt,DEFAULT_COMPRESSION_LEVEL:()=>Ol,FakeFS:()=>ha,Filename:()=>xt,JailFS:()=>wo,LazyFS:()=>dg,LinkStrategy:()=>tS,NoFS:()=>Rp,NodeFS:()=>$t,PortablePath:()=>Oe,PosixFS:()=>Cg,ProxiedFS:()=>pi,VirtualFS:()=>Br,ZipFS:()=>Wr,ZipOpenFS:()=>Tn,constants:()=>xr,extendFs:()=>XE,normalizeLineEndings:()=>Tl,npath:()=>K,opendir:()=>YE,patchFs:()=>lS,ppath:()=>x,statUtils:()=>Sp,toFilename:()=>Ur,xfs:()=>M});var xr={};ut(xr,{SAFE_TIME:()=>v1,S_IFDIR:()=>Fl,S_IFLNK:()=>Ll,S_IFMT:()=>Hs,S_IFREG:()=>Nl});var Hs=61440,Fl=16384,Nl=32768,Ll=40960,v1=456789e3;var Sp={};ut(Sp,{BigIntStatsEntry:()=>fg,DEFAULT_MODE:()=>Qp,DirEntry:()=>zb,StatEntry:()=>fa,areStatsEqual:()=>Xb,clearStats:()=>LE,convertToBigIntStats:()=>TE,makeDefaultStats:()=>bp,makeEmptyStats:()=>que});var Vb=Pe(J(\"util\"));var Qp=33188,zb=class{constructor(){this.name=\"\";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},fa=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Qp;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},fg=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Qp);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}};function bp(){return new fa}function que(){return LE(bp())}function LE(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(r,e)){let t=r[e];typeof t==\"number\"?r[e]=0:typeof t==\"bigint\"?r[e]=BigInt(0):Vb.types.isDate(t)&&(r[e]=new Date(0))}return r}function TE(r){let e=new fg;for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)){let i=r[t];typeof i==\"number\"?e[t]=BigInt(i):Vb.types.isDate(i)&&(e[t]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function Xb(r,e){if(r.atimeMs!==e.atimeMs||r.birthtimeMs!==e.birthtimeMs||r.blksize!==e.blksize||r.blocks!==e.blocks||r.ctimeMs!==e.ctimeMs||r.dev!==e.dev||r.gid!==e.gid||r.ino!==e.ino||r.isBlockDevice()!==e.isBlockDevice()||r.isCharacterDevice()!==e.isCharacterDevice()||r.isDirectory()!==e.isDirectory()||r.isFIFO()!==e.isFIFO()||r.isFile()!==e.isFile()||r.isSocket()!==e.isSocket()||r.isSymbolicLink()!==e.isSymbolicLink()||r.mode!==e.mode||r.mtimeMs!==e.mtimeMs||r.nlink!==e.nlink||r.rdev!==e.rdev||r.size!==e.size||r.uid!==e.uid)return!1;let t=r,i=e;return!(t.atimeNs!==i.atimeNs||t.mtimeNs!==i.mtimeNs||t.ctimeNs!==i.ctimeNs||t.birthtimeNs!==i.birthtimeNs)}var ME=Pe(J(\"fs\"));var vp=Pe(J(\"path\"));var Oe={root:\"/\",dot:\".\",parent:\"..\"},xt={nodeModules:\"node_modules\",manifest:\"package.json\",lockfile:\"yarn.lock\",virtual:\"__virtual__\",pnpJs:\".pnp.js\",pnpCjs:\".pnp.cjs\",rc:\".yarnrc.yml\"},K=Object.create(vp.default),x=Object.create(vp.default.posix);K.cwd=()=>process.cwd();x.cwd=()=>_b(process.cwd());x.resolve=(...r)=>r.length>0&&x.isAbsolute(r[0])?vp.default.posix.resolve(...r):vp.default.posix.resolve(x.cwd(),...r);var x1=function(r,e,t){return e=r.normalize(e),t=r.normalize(t),e===t?\".\":(e.endsWith(r.sep)||(e=e+r.sep),t.startsWith(e)?t.slice(e.length):null)};K.fromPortablePath=P1;K.toPortablePath=_b;K.contains=(r,e)=>x1(K,r,e);x.contains=(r,e)=>x1(x,r,e);var Jue=/^([a-zA-Z]:.*)$/,Wue=/^\\/\\/(\\.\\/)?(.*)$/,zue=/^\\/([a-zA-Z]:.*)$/,Vue=/^\\/unc\\/(\\.dot\\/)?(.*)$/;function P1(r){if(process.platform!==\"win32\")return r;let e,t;if(e=r.match(zue))r=e[1];else if(t=r.match(Vue))r=`\\\\\\\\${t[1]?\".\\\\\":\"\"}${t[2]}`;else return r;return r.replace(/\\//g,\"\\\\\")}function _b(r){if(process.platform!==\"win32\")return r;r=r.replace(/\\\\/g,\"/\");let e,t;return(e=r.match(Jue))?r=`/${e[1]}`:(t=r.match(Wue))&&(r=`/unc/${t[1]?\".dot/\":\"\"}${t[2]}`),r}function OE(r,e){return r===K?P1(e):_b(e)}function Ur(r){if(K.parse(r).dir!==\"\"||x.parse(r).dir!==\"\")throw new Error(`Invalid filename: \"${r}\"`);return r}var KE=new Date(456789e3*1e3),tS=(t=>(t.Allow=\"allow\",t.ReadOnly=\"readOnly\",t))(tS||{});async function D1(r,e,t,i,n){let s=r.pathUtils.normalize(e),o=t.pathUtils.normalize(i),a=[],l=[],{atime:c,mtime:u}=n.stableTime?{atime:KE,mtime:KE}:await t.lstatPromise(o);await r.mkdirpPromise(r.pathUtils.dirname(e),{utimes:[c,u]});let g=typeof r.lutimesPromise==\"function\"?r.lutimesPromise.bind(r):r.utimesPromise.bind(r);await $b(a,l,g,r,s,t,o,{...n,didParentExist:!0});for(let f of a)await f();await Promise.all(l.map(f=>f()))}async function $b(r,e,t,i,n,s,o,a){var h,p;let l=a.didParentExist?await Xue(i,n):null,c=await s.lstatPromise(o),{atime:u,mtime:g}=a.stableTime?{atime:KE,mtime:KE}:c,f;switch(!0){case c.isDirectory():f=await _ue(r,e,t,i,n,l,s,o,c,a);break;case c.isFile():f=await $ue(r,e,t,i,n,l,s,o,c,a);break;case c.isSymbolicLink():f=await ege(r,e,t,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(f||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==g.getTime()||((p=l==null?void 0:l.atime)==null?void 0:p.getTime())!==u.getTime())&&(e.push(()=>t(n,u,g)),f=!0),(l===null||(l.mode&511)!==(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),f=!0),f}async function Xue(r,e){try{return await r.lstatPromise(e)}catch{return null}}async function _ue(r,e,t,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(r.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(h){if(h.code!==\"EEXIST\")throw h}}),u=!0);let g=await o.readdirPromise(a),f=c.didParentExist&&!s?{...c,didParentExist:!1}:c;if(c.stableSort)for(let h of g.sort())await $b(r,e,t,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),f)&&(u=!0);else(await Promise.all(g.map(async p=>{await $b(r,e,t,i,i.pathUtils.join(n,p),o,o.pathUtils.join(a,p),f)}))).some(p=>p)&&(u=!0);return u}var Zb=new WeakMap;function eS(r,e,t,i,n){return async()=>{await r.linkPromise(t,e),n===\"readOnly\"&&(i.mode&=-147,await r.chmodPromise(e,i.mode))}}function Zue(r,e,t,i,n){let s=Zb.get(r);return typeof s>\"u\"?async()=>{try{await r.copyFilePromise(t,e,ME.default.constants.COPYFILE_FICLONE_FORCE),Zb.set(r,!0)}catch(o){if(o.code===\"ENOSYS\"||o.code===\"ENOTSUP\")Zb.set(r,!1),await eS(r,e,t,i,n)();else throw o}}:s?async()=>r.copyFilePromise(t,e,ME.default.constants.COPYFILE_FICLONE_FORCE):eS(r,e,t,i,n)}async function $ue(r,e,t,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?Zue(i,n,a,l,u):async()=>i.copyFilePromise(a,n,ME.default.constants.COPYFILE_FICLONE):u!==null?eS(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return r.push(async()=>g()),!0}async function ege(r,e,t,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;return r.push(async()=>{await i.symlinkPromise(OE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function is(r,e){return Object.assign(new Error(`${r}: ${e}`),{code:r})}function HE(r){return is(\"EBUSY\",r)}function xp(r,e){return is(\"ENOSYS\",`${r}, ${e}`)}function mA(r){return is(\"EINVAL\",`invalid argument, ${r}`)}function Hr(r){return is(\"EBADF\",`bad file descriptor, ${r}`)}function Gs(r){return is(\"ENOENT\",`no such file or directory, ${r}`)}function Io(r){return is(\"ENOTDIR\",`not a directory, ${r}`)}function Pp(r){return is(\"EISDIR\",`illegal operation on a directory, ${r}`)}function GE(r){return is(\"EEXIST\",`file already exists, ${r}`)}function ln(r){return is(\"EROFS\",`read-only filesystem, ${r}`)}function k1(r){return is(\"ENOTEMPTY\",`directory not empty, ${r}`)}function R1(r){return is(\"EOPNOTSUPP\",`operation not supported, ${r}`)}function F1(){return is(\"ERR_DIR_CLOSED\",\"Directory handle was closed\")}var UE=class extends Error{constructor(t,i){super(t);this.name=\"Libzip Error\",this.code=i}};var iS=class{constructor(e,t,i={}){this.path=e;this.nextDirent=t;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw F1()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let t=this.readSync();return typeof e<\"u\"?e(null,t):Promise.resolve(t)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<\"u\"?e(null):Promise.resolve()}closeSync(){var e,t;this.throwIfClosed(),(t=(e=this.opts).onClose)==null||t.call(e),this.closed=!0}};function YE(r,e,t,i){let n=()=>{let s=t.shift();return typeof s>\"u\"?null:Object.assign(r.statSync(r.pathUtils.join(e,s)),{name:s})};return new iS(e,n,i)}var N1=J(\"os\");var ha=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:t=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(t)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error(\"Not supported\")}else yield n}}async removePromise(e,{recursive:t=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code===\"ENOENT\")return;throw s}if(n.isDirectory()){if(t){let s=await this.readdirPromise(e);await Promise.all(s.map(o=>this.removePromise(this.pathUtils.resolve(e,o))))}for(let s=0;s<=i;s++)try{await this.rmdirPromise(e);break}catch(o){if(o.code!==\"EBUSY\"&&o.code!==\"ENOTEMPTY\")throw o;s<i&&await new Promise(a=>setTimeout(a,s*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:t=!0}={}){let i;try{i=this.lstatSync(e)}catch(n){if(n.code===\"ENOENT\")return;throw n}if(i.isDirectory()){if(t)for(let n of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,n));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{await this.mkdirPromise(a)}catch(l){if(l.code===\"EEXIST\")continue;throw l}if(s!=null||(s=a),t!=null&&await this.chmodPromise(a,t),i!=null)await this.utimesPromise(a,i[0],i[1]);else{let l=await this.statPromise(this.pathUtils.dirname(a));await this.utimesPromise(a,l.atime,l.mtime)}}}return s}mkdirpSync(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{this.mkdirSync(a)}catch(l){if(l.code===\"EEXIST\")continue;throw l}if(s!=null||(s=a),t!=null&&this.chmodSync(a,t),i!=null)this.utimesSync(a,i[0],i[1]);else{let l=this.statSync(this.pathUtils.dirname(a));this.utimesSync(a,l.atime,l.mtime)}}}return s}async copyPromise(e,t,{baseFs:i=this,overwrite:n=!0,stableSort:s=!1,stableTime:o=!1,linkStrategy:a=null}={}){return await D1(this,e,i,t,{overwrite:n,stableSort:s,stableTime:o,linkStrategy:a})}copySync(e,t,{baseFs:i=this,overwrite:n=!0}={}){let s=i.lstatSync(t),o=this.existsSync(e);if(s.isDirectory()){this.mkdirpSync(e);let l=i.readdirSync(t);for(let c of l)this.copySync(this.pathUtils.join(e,c),i.pathUtils.join(t,c),{baseFs:i,overwrite:n})}else if(s.isFile()){if(!o||n){o&&this.removeSync(e);let l=i.readFileSync(t);this.writeFileSync(e,l)}}else if(s.isSymbolicLink()){if(!o||n){o&&this.removeSync(e);let l=i.readlinkSync(t);this.symlinkSync(OE(this.pathUtils,l),e)}}else throw new Error(`Unsupported file type (file: ${t}, mode: 0o${s.mode.toString(8).padStart(6,\"0\")})`);let a=s.mode&511;this.chmodSync(e,a)}async changeFilePromise(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferPromise(e,t,i):this.changeFileTextPromise(e,t,i)}async changeFileBufferPromise(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=await this.readFilePromise(e)}catch{}Buffer.compare(n,t)!==0&&await this.writeFilePromise(e,t,{mode:i})}async changeFileTextPromise(e,t,{automaticNewlines:i,mode:n}={}){let s=\"\";try{s=await this.readFilePromise(e,\"utf8\")}catch{}let o=i?Tl(s,t):t;s!==o&&await this.writeFilePromise(e,o,{mode:n})}changeFileSync(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferSync(e,t,i):this.changeFileTextSync(e,t,i)}changeFileBufferSync(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=this.readFileSync(e)}catch{}Buffer.compare(n,t)!==0&&this.writeFileSync(e,t,{mode:i})}changeFileTextSync(e,t,{automaticNewlines:i=!1,mode:n}={}){let s=\"\";try{s=this.readFileSync(e,\"utf8\")}catch{}let o=i?Tl(s,t):t;s!==o&&this.writeFileSync(e,o,{mode:n})}async movePromise(e,t){try{await this.renamePromise(e,t)}catch(i){if(i.code===\"EXDEV\")await this.copyPromise(t,e),await this.removePromise(e);else throw i}}moveSync(e,t){try{this.renameSync(e,t)}catch(i){if(i.code===\"EXDEV\")this.copySync(t,e),this.removeSync(e);else throw i}}async lockPromise(e,t){let i=`${e}.flock`,n=1e3/60,s=Date.now(),o=null,a=async()=>{let l;try{[l]=await this.readJsonPromise(i)}catch{return Date.now()-s<500}try{return process.kill(l,0),!0}catch{return!1}};for(;o===null;)try{o=await this.openPromise(i,\"wx\")}catch(l){if(l.code===\"EEXIST\"){if(!await a())try{await this.unlinkPromise(i);continue}catch{}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await t()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch{}}}async readJsonPromise(e){let t=await this.readFilePromise(e,\"utf8\");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let t=this.readFileSync(e,\"utf8\");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,t){return await this.writeFilePromise(e,`${JSON.stringify(t,null,2)}\n`)}writeJsonSync(e,t){return this.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`)}async preserveTimePromise(e,t){let i=await this.lstatPromise(e),n=await t();typeof n<\"u\"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,t){let i=this.lstatSync(e),n=t();typeof n<\"u\"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},EA=class extends ha{constructor(){super(x)}};function tge(r){let e=r.match(/\\r?\\n/g);if(e===null)return N1.EOL;let t=e.filter(n=>n===`\\r\n`).length,i=e.length-t;return t>i?`\\r\n`:`\n`}function Tl(r,e){return e.replace(/\\r?\\n/g,tge(r))}var pg=J(\"fs\"),sS=J(\"stream\"),M1=J(\"util\"),oS=Pe(J(\"zlib\"));var L1=Pe(J(\"fs\"));var $t=class extends EA{constructor(t=L1.default){super();this.realFs=t,typeof this.realFs.lutimes<\"u\"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Oe.root}resolve(t){return x.resolve(t)}async openPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.open(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}openSync(t,i,n){return this.realFs.openSync(K.fromPortablePath(t),i,n)}async opendirPromise(t,i){return await new Promise((n,s)=>{typeof i<\"u\"?this.realFs.opendir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.opendir(K.fromPortablePath(t),this.makeCallback(n,s))}).then(n=>Object.defineProperty(n,\"path\",{value:t,configurable:!0,writable:!0}))}opendirSync(t,i){let n=typeof i<\"u\"?this.realFs.opendirSync(K.fromPortablePath(t),i):this.realFs.opendirSync(K.fromPortablePath(t));return Object.defineProperty(n,\"path\",{value:t,configurable:!0,writable:!0})}async readPromise(t,i,n=0,s=0,o=-1){return await new Promise((a,l)=>{this.realFs.read(t,i,n,s,o,(c,u)=>{c?l(c):a(u)})})}readSync(t,i,n,s,o){return this.realFs.readSync(t,i,n,s,o)}async writePromise(t,i,n,s,o){return await new Promise((a,l)=>typeof i==\"string\"?this.realFs.write(t,i,n,this.makeCallback(a,l)):this.realFs.write(t,i,n,s,o,this.makeCallback(a,l)))}writeSync(t,i,n,s,o){return typeof i==\"string\"?this.realFs.writeSync(t,i,n):this.realFs.writeSync(t,i,n,s,o)}async closePromise(t){await new Promise((i,n)=>{this.realFs.close(t,this.makeCallback(i,n))})}closeSync(t){this.realFs.closeSync(t)}createReadStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createReadStream(n,i)}createWriteStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createWriteStream(n,i)}async realpathPromise(t){return await new Promise((i,n)=>{this.realFs.realpath(K.fromPortablePath(t),{},this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}realpathSync(t){return K.toPortablePath(this.realFs.realpathSync(K.fromPortablePath(t),{}))}async existsPromise(t){return await new Promise(i=>{this.realFs.exists(K.fromPortablePath(t),i)})}accessSync(t,i){return this.realFs.accessSync(K.fromPortablePath(t),i)}async accessPromise(t,i){return await new Promise((n,s)=>{this.realFs.access(K.fromPortablePath(t),i,this.makeCallback(n,s))})}existsSync(t){return this.realFs.existsSync(K.fromPortablePath(t))}async statPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.stat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.stat(K.fromPortablePath(t),this.makeCallback(n,s))})}statSync(t,i){return i?this.realFs.statSync(K.fromPortablePath(t),i):this.realFs.statSync(K.fromPortablePath(t))}async fstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.fstat(t,i,this.makeCallback(n,s)):this.realFs.fstat(t,this.makeCallback(n,s))})}fstatSync(t,i){return i?this.realFs.fstatSync(t,i):this.realFs.fstatSync(t)}async lstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.lstat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.lstat(K.fromPortablePath(t),this.makeCallback(n,s))})}lstatSync(t,i){return i?this.realFs.lstatSync(K.fromPortablePath(t),i):this.realFs.lstatSync(K.fromPortablePath(t))}async fchmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.fchmod(t,i,this.makeCallback(n,s))})}fchmodSync(t,i){return this.realFs.fchmodSync(t,i)}async chmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.chmod(K.fromPortablePath(t),i,this.makeCallback(n,s))})}chmodSync(t,i){return this.realFs.chmodSync(K.fromPortablePath(t),i)}async fchownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.fchown(t,i,n,this.makeCallback(s,o))})}fchownSync(t,i,n){return this.realFs.fchownSync(t,i,n)}async chownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.chown(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}chownSync(t,i,n){return this.realFs.chownSync(K.fromPortablePath(t),i,n)}async renamePromise(t,i){return await new Promise((n,s)=>{this.realFs.rename(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}renameSync(t,i){return this.realFs.renameSync(K.fromPortablePath(t),K.fromPortablePath(i))}async copyFilePromise(t,i,n=0){return await new Promise((s,o)=>{this.realFs.copyFile(K.fromPortablePath(t),K.fromPortablePath(i),n,this.makeCallback(s,o))})}copyFileSync(t,i,n=0){return this.realFs.copyFileSync(K.fromPortablePath(t),K.fromPortablePath(i),n)}async appendFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t==\"string\"?K.fromPortablePath(t):t;n?this.realFs.appendFile(a,i,n,this.makeCallback(s,o)):this.realFs.appendFile(a,i,this.makeCallback(s,o))})}appendFileSync(t,i,n){let s=typeof t==\"string\"?K.fromPortablePath(t):t;n?this.realFs.appendFileSync(s,i,n):this.realFs.appendFileSync(s,i)}async writeFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t==\"string\"?K.fromPortablePath(t):t;n?this.realFs.writeFile(a,i,n,this.makeCallback(s,o)):this.realFs.writeFile(a,i,this.makeCallback(s,o))})}writeFileSync(t,i,n){let s=typeof t==\"string\"?K.fromPortablePath(t):t;n?this.realFs.writeFileSync(s,i,n):this.realFs.writeFileSync(s,i)}async unlinkPromise(t){return await new Promise((i,n)=>{this.realFs.unlink(K.fromPortablePath(t),this.makeCallback(i,n))})}unlinkSync(t){return this.realFs.unlinkSync(K.fromPortablePath(t))}async utimesPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.utimes(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}utimesSync(t,i,n){this.realFs.utimesSync(K.fromPortablePath(t),i,n)}async lutimesPromiseImpl(t,i,n){let s=this.realFs.lutimes;if(typeof s>\"u\")throw xp(\"unavailable Node binding\",`lutimes '${t}'`);return await new Promise((o,a)=>{s.call(this.realFs,K.fromPortablePath(t),i,n,this.makeCallback(o,a))})}lutimesSyncImpl(t,i,n){let s=this.realFs.lutimesSync;if(typeof s>\"u\")throw xp(\"unavailable Node binding\",`lutimes '${t}'`);s.call(this.realFs,K.fromPortablePath(t),i,n)}async mkdirPromise(t,i){return await new Promise((n,s)=>{this.realFs.mkdir(K.fromPortablePath(t),i,this.makeCallback(n,s))})}mkdirSync(t,i){return this.realFs.mkdirSync(K.fromPortablePath(t),i)}async rmdirPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.rmdir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.rmdir(K.fromPortablePath(t),this.makeCallback(n,s))})}rmdirSync(t,i){return this.realFs.rmdirSync(K.fromPortablePath(t),i)}async linkPromise(t,i){return await new Promise((n,s)=>{this.realFs.link(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}linkSync(t,i){return this.realFs.linkSync(K.fromPortablePath(t),K.fromPortablePath(i))}async symlinkPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.symlink(K.fromPortablePath(t.replace(/\\/+$/,\"\")),K.fromPortablePath(i),n,this.makeCallback(s,o))})}symlinkSync(t,i,n){return this.realFs.symlinkSync(K.fromPortablePath(t.replace(/\\/+$/,\"\")),K.fromPortablePath(i),n)}async readFilePromise(t,i){return await new Promise((n,s)=>{let o=typeof t==\"string\"?K.fromPortablePath(t):t;this.realFs.readFile(o,i,this.makeCallback(n,s))})}readFileSync(t,i){let n=typeof t==\"string\"?K.fromPortablePath(t):t;return this.realFs.readFileSync(n,i)}async readdirPromise(t,i){return await new Promise((n,s)=>{i!=null&&i.withFileTypes?this.realFs.readdir(K.fromPortablePath(t),{withFileTypes:!0},this.makeCallback(n,s)):this.realFs.readdir(K.fromPortablePath(t),this.makeCallback(o=>n(o),s))})}readdirSync(t,i){return i!=null&&i.withFileTypes?this.realFs.readdirSync(K.fromPortablePath(t),{withFileTypes:!0}):this.realFs.readdirSync(K.fromPortablePath(t))}async readlinkPromise(t){return await new Promise((i,n)=>{this.realFs.readlink(K.fromPortablePath(t),this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}readlinkSync(t){return K.toPortablePath(this.realFs.readlinkSync(K.fromPortablePath(t)))}async truncatePromise(t,i){return await new Promise((n,s)=>{this.realFs.truncate(K.fromPortablePath(t),i,this.makeCallback(n,s))})}truncateSync(t,i){return this.realFs.truncateSync(K.fromPortablePath(t),i)}async ftruncatePromise(t,i){return await new Promise((n,s)=>{this.realFs.ftruncate(t,i,this.makeCallback(n,s))})}ftruncateSync(t,i){return this.realFs.ftruncateSync(t,i)}watch(t,i,n){return this.realFs.watch(K.fromPortablePath(t),i,n)}watchFile(t,i,n){return this.realFs.watchFile(K.fromPortablePath(t),i,n)}unwatchFile(t,i){return this.realFs.unwatchFile(K.fromPortablePath(t),i)}makeCallback(t,i){return(n,s)=>{n?i(n):t(s)}}};var O1=J(\"events\");function T1(r,e){if(r!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${r}'`)}var hg=class extends O1.EventEmitter{constructor(t,i,{bigint:n=!1}={}){super();this.status=\"ready\";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=t,this.path=i,this.bigint=n,this.lastStats=this.stat()}static create(t,i,n){let s=new hg(t,i,n);return s.start(),s}start(){T1(this.status,\"ready\"),this.status=\"running\",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(\"change\",this.lastStats,this.lastStats)},3)}stop(){T1(this.status,\"running\"),this.status=\"stopped\",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(\"stop\")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let i=this.bigint?new fg:new fa;return LE(i)}}makeInterval(t){let i=setInterval(()=>{let n=this.stat(),s=this.lastStats;Xb(n,s)||(this.lastStats=n,this.emit(\"change\",n,s))},t.interval);return t.persistent?i:i.unref()}registerChangeListener(t,i){this.addListener(\"change\",t),this.changeListeners.set(t,this.makeInterval(i))}unregisterChangeListener(t){this.removeListener(\"change\",t);let i=this.changeListeners.get(t);typeof i<\"u\"&&clearInterval(i),this.changeListeners.delete(t)}unregisterAllChangeListeners(){for(let t of this.changeListeners.keys())this.unregisterChangeListener(t)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let t of this.changeListeners.values())t.ref();return this}unref(){for(let t of this.changeListeners.values())t.unref();return this}};var jE=new WeakMap;function qE(r,e,t,i){let n,s,o,a;switch(typeof t){case\"function\":n=!1,s=!0,o=5007,a=t;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=t),a=i;break}let l=jE.get(r);typeof l>\"u\"&&jE.set(r,l=new Map);let c=l.get(e);return typeof c>\"u\"&&(c=hg.create(r,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function Dp(r,e,t){let i=jE.get(r);if(typeof i>\"u\")return;let n=i.get(e);typeof n>\"u\"||(typeof t>\"u\"?n.unregisterAllChangeListeners():n.unregisterChangeListener(t),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function kp(r){let e=jE.get(r);if(!(typeof e>\"u\"))for(let t of e.keys())Dp(r,t)}var Ol=\"mixed\";function rge(r){if(typeof r==\"string\"&&String(+r)===r)return+r;if(Number.isFinite(r))return r<0?Date.now()/1e3:r;if(M1.types.isDate(r))return r.getTime()/1e3;throw new Error(\"Invalid time\")}function nS(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Wr=class extends EA{constructor(t,i){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=i.libzip;let n=i;if(this.level=typeof n.level<\"u\"?n.level:Ol,t!=null||(t=nS()),typeof t==\"string\"){let{baseFs:a=new $t}=n;this.baseFs=a,this.path=t}else this.path=null,this.baseFs=null;if(i.stats)this.stats=i.stats;else if(typeof t==\"string\")try{this.stats=this.baseFs.statSync(t)}catch(a){if(a.code===\"ENOENT\"&&n.create)this.stats=bp();else throw a}else this.stats=bp();let s=this.libzip.malloc(4);try{let a=0;if(typeof t==\"string\"&&n.create&&(a|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),i.readOnly&&(a|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof t==\"string\")this.zip=this.libzip.open(K.fromPortablePath(t),a,s);else{let l=this.allocateUnattachedSource(t);try{this.zip=this.libzip.openFromSource(l,a,s),this.lzSource=l}catch(c){throw this.libzip.source.free(l),c}}if(this.zip===0){let l=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(l,this.libzip.getValue(s,\"i32\")),this.makeLibzipError(l)}}finally{this.libzip.free(s)}this.listings.set(Oe.root,new Set);let o=this.libzip.getNumEntries(this.zip,0);for(let a=0;a<o;++a){let l=this.libzip.getName(this.zip,a,0);if(x.isAbsolute(l))continue;let c=x.resolve(Oe.root,l);this.registerEntry(c,a),l.endsWith(\"/\")&&this.registerListing(c)}if(this.symlinkCount=this.libzip.ext.countSymlinks(this.zip),this.symlinkCount===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.ready=!0}makeLibzipError(t){let i=this.libzip.struct.errorCodeZip(t),n=this.libzip.error.strerror(t),s=new UE(n,this.libzip.errors[i]);if(i===this.libzip.errors.ZIP_ER_CHANGED)throw new Error(`Assertion failed: Unexpected libzip error: ${s.message}`);return s}getExtractHint(t){for(let i of this.entries.keys()){let n=this.pathUtils.extname(i);if(t.relevantExtensions.has(n))return!0}return!1}getAllFiles(){return Array.from(this.entries.keys())}getRealPath(){if(!this.path)throw new Error(\"ZipFS don't have real paths when loaded from a buffer\");return this.path}getBufferAndClose(){if(this.prepareClose(),!this.lzSource)throw new Error(\"ZipFS was not created from a Buffer\");if(this.entries.size===0)return this.discardAndClose(),nS();try{if(this.libzip.source.keep(this.lzSource),this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.libzip.source.open(this.lzSource)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_END)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let t=this.libzip.source.tell(this.lzSource);if(t===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_SET)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let i=this.libzip.malloc(t);if(!i)throw new Error(\"Couldn't allocate enough memory\");try{let n=this.libzip.source.read(this.lzSource,i,t);if(n===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(n<t)throw new Error(\"Incomplete read\");if(n>t)throw new Error(\"Overread\");let s=this.libzip.HEAPU8.subarray(i,i+t);return Buffer.from(s)}finally{this.libzip.free(i)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw HE(\"archive closed, close\");kp(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error(\"ZipFS cannot be saved and must be discarded when loaded from a buffer\");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let t=this.baseFs.existsSync(this.path)||this.stats.mode===Qp?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,nS(),{mode:t});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof t<\"u\"&&this.baseFs.chmodSync(this.path,t)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(t){return x.resolve(Oe.root,t)}async openPromise(t,i,n){return this.openSync(t,i,n)}openSync(t,i,n){let s=this.nextFd++;return this.fds.set(s,{cursor:0,p:t}),s}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(t,i){return this.opendirSync(t,i)}opendirSync(t,i={}){let n=this.resolveFilename(`opendir '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Gs(`opendir '${t}'`);let s=this.listings.get(n);if(!s)throw Io(`opendir '${t}'`);let o=[...s],a=this.openSync(n,\"r\");return YE(this,n,o,{onClose:()=>{this.closeSync(a)}})}async readPromise(t,i,n,s,o){return this.readSync(t,i,n,s,o)}readSync(t,i,n=0,s=i.byteLength,o=-1){let a=this.fds.get(t);if(typeof a>\"u\")throw Hr(\"read\");let l=o===-1||o===null?a.cursor:o,c=this.readFileSync(a.p);c.copy(i,n,l,l+s);let u=Math.max(0,Math.min(c.length-l,s));return(o===-1||o===null)&&(a.cursor+=u),u}async writePromise(t,i,n,s,o){return typeof i==\"string\"?this.writeSync(t,i,o):this.writeSync(t,i,n,s,o)}writeSync(t,i,n,s,o){throw typeof this.fds.get(t)>\"u\"?Hr(\"read\"):new Error(\"Unimplemented\")}async closePromise(t){return this.closeSync(t)}closeSync(t){if(typeof this.fds.get(t)>\"u\")throw Hr(\"read\");this.fds.delete(t)}createReadStream(t,{encoding:i}={}){if(t===null)throw new Error(\"Unimplemented\");let n=this.openSync(t,\"r\"),s=Object.assign(new sS.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(a,l)=>{clearImmediate(o),this.closeSync(n),l(a)}}),{close(){s.destroy()},bytesRead:0,path:t}),o=setImmediate(async()=>{try{let a=await this.readFilePromise(t,i);s.bytesRead=a.length,s.end(a)}catch(a){s.destroy(a)}});return s}createWriteStream(t,{encoding:i}={}){if(this.readOnly)throw ln(`open '${t}'`);if(t===null)throw new Error(\"Unimplemented\");let n=[],s=this.openSync(t,\"w\"),o=Object.assign(new sS.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(a,l)=>{try{a?l(a):(this.writeFileSync(t,Buffer.concat(n),i),l(null))}catch(c){l(c)}finally{this.closeSync(s)}}}),{bytesWritten:0,path:t,close(){o.destroy()}});return o.on(\"data\",a=>{let l=Buffer.from(a);o.bytesWritten+=l.length,n.push(l)}),o}async realpathPromise(t){return this.realpathSync(t)}realpathSync(t){let i=this.resolveFilename(`lstat '${t}'`,t);if(!this.entries.has(i)&&!this.listings.has(i))throw Gs(`lstat '${t}'`);return i}async existsPromise(t){return this.existsSync(t)}existsSync(t){if(!this.ready)throw HE(`archive closed, existsSync '${t}'`);if(this.symlinkCount===0){let n=x.resolve(Oe.root,t);return this.entries.has(n)||this.listings.has(n)}let i;try{i=this.resolveFilename(`stat '${t}'`,t,void 0,!1)}catch{return!1}return i===void 0?!1:this.entries.has(i)||this.listings.has(i)}async accessPromise(t,i){return this.accessSync(t,i)}accessSync(t,i=pg.constants.F_OK){let n=this.resolveFilename(`access '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Gs(`access '${t}'`);if(this.readOnly&&i&pg.constants.W_OK)throw ln(`access '${t}'`)}async statPromise(t,i={bigint:!1}){return i.bigint?this.statSync(t,{bigint:!0}):this.statSync(t)}statSync(t,i={bigint:!1,throwIfNoEntry:!0}){let n=this.resolveFilename(`stat '${t}'`,t,void 0,i.throwIfNoEntry);if(n!==void 0){if(!this.entries.has(n)&&!this.listings.has(n)){if(i.throwIfNoEntry===!1)return;throw Gs(`stat '${t}'`)}if(t[t.length-1]===\"/\"&&!this.listings.has(n))throw Io(`stat '${t}'`);return this.statImpl(`stat '${t}'`,n,i)}}async fstatPromise(t,i){return this.fstatSync(t,i)}fstatSync(t,i){let n=this.fds.get(t);if(typeof n>\"u\")throw Hr(\"fstatSync\");let{p:s}=n,o=this.resolveFilename(`stat '${s}'`,s);if(!this.entries.has(o)&&!this.listings.has(o))throw Gs(`stat '${s}'`);if(s[s.length-1]===\"/\"&&!this.listings.has(o))throw Io(`stat '${s}'`);return this.statImpl(`fstat '${s}'`,o,i)}async lstatPromise(t,i={bigint:!1}){return i.bigint?this.lstatSync(t,{bigint:!0}):this.lstatSync(t)}lstatSync(t,i={bigint:!1,throwIfNoEntry:!0}){let n=this.resolveFilename(`lstat '${t}'`,t,!1,i.throwIfNoEntry);if(n!==void 0){if(!this.entries.has(n)&&!this.listings.has(n)){if(i.throwIfNoEntry===!1)return;throw Gs(`lstat '${t}'`)}if(t[t.length-1]===\"/\"&&!this.listings.has(n))throw Io(`lstat '${t}'`);return this.statImpl(`lstat '${t}'`,n,i)}}statImpl(t,i,n={}){let s=this.entries.get(i);if(typeof s<\"u\"){let o=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,s,0,0,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let l=this.stats.uid,c=this.stats.gid,u=this.libzip.struct.statSize(o)>>>0,g=512,f=Math.ceil(u/g),h=(this.libzip.struct.statMtime(o)>>>0)*1e3,p=h,C=h,y=h,B=new Date(p),v=new Date(C),D=new Date(y),L=new Date(h),H=this.listings.has(i)?16384:this.isSymbolicLink(s)?40960:32768,j=H===16384?493:420,$=H|this.getUnixMode(s,j)&511,V=this.libzip.struct.statCrc(o),W=Object.assign(new fa,{uid:l,gid:c,size:u,blksize:g,blocks:f,atime:B,birthtime:v,ctime:D,mtime:L,atimeMs:p,birthtimeMs:C,ctimeMs:y,mtimeMs:h,mode:$,crc:V});return n.bigint===!0?TE(W):W}if(this.listings.has(i)){let o=this.stats.uid,a=this.stats.gid,l=0,c=512,u=0,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=this.stats.mtimeMs,C=new Date(g),y=new Date(f),B=new Date(h),v=new Date(p),D=16877,L=0,H=Object.assign(new fa,{uid:o,gid:a,size:l,blksize:c,blocks:u,atime:C,birthtime:y,ctime:B,mtime:v,atimeMs:g,birthtimeMs:f,ctimeMs:h,mtimeMs:p,mode:D,crc:L});return n.bigint===!0?TE(H):H}throw new Error(\"Unreachable\")}getUnixMode(t,i){if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,\"i8\")>>>0!==this.libzip.ZIP_OPSYS_UNIX?i:this.libzip.getValue(this.libzip.uint32S,\"i32\")>>>16}registerListing(t){let i=this.listings.get(t);if(i)return i;this.registerListing(x.dirname(t)).add(x.basename(t));let s=new Set;return this.listings.set(t,s),s}registerEntry(t,i){this.registerListing(x.dirname(t)).add(x.basename(t)),this.entries.set(t,i)}unregisterListing(t){this.listings.delete(t);let i=this.listings.get(x.dirname(t));i==null||i.delete(x.basename(t))}unregisterEntry(t){this.unregisterListing(t);let i=this.entries.get(t);this.entries.delete(t),!(typeof i>\"u\")&&(this.fileSources.delete(i),this.isSymbolicLink(i)&&this.symlinkCount--)}deleteEntry(t,i){if(this.unregisterEntry(t),this.libzip.delete(this.zip,i)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(t,i,n=!0,s=!0){if(!this.ready)throw HE(`archive closed, ${t}`);let o=x.resolve(Oe.root,i);if(o===\"/\")return Oe.root;let a=this.entries.get(o);if(n&&a!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(a)){let l=this.getFileSource(a).toString();return this.resolveFilename(t,x.resolve(x.dirname(o),l),!0,s)}else return o;for(;;){let l=this.resolveFilename(t,x.dirname(o),!0,s);if(l===void 0)return l;let c=this.listings.has(l),u=this.entries.has(l);if(!c&&!u){if(s===!1)return;throw Gs(t)}if(!c)throw Io(t);if(o=x.resolve(l,x.basename(o)),!n||this.symlinkCount===0)break;let g=this.libzip.name.locate(this.zip,o.slice(1));if(g===-1)break;if(this.isSymbolicLink(g)){let f=this.getFileSource(g).toString();o=x.resolve(x.dirname(o),f)}else break}return o}allocateBuffer(t){Buffer.isBuffer(t)||(t=Buffer.from(t));let i=this.libzip.malloc(t.byteLength);if(!i)throw new Error(\"Couldn't allocate enough memory\");return new Uint8Array(this.libzip.HEAPU8.buffer,i,t.byteLength).set(t),{buffer:i,byteLength:t.byteLength}}allocateUnattachedSource(t){let i=this.libzip.struct.errorS(),{buffer:n,byteLength:s}=this.allocateBuffer(t),o=this.libzip.source.fromUnattachedBuffer(n,s,0,!0,i);if(o===0)throw this.libzip.free(i),this.makeLibzipError(i);return o}allocateSource(t){let{buffer:i,byteLength:n}=this.allocateBuffer(t),s=this.libzip.source.fromBuffer(this.zip,i,n,0,!0);if(s===0)throw this.libzip.free(i),this.makeLibzipError(this.libzip.getError(this.zip));return s}setFileSource(t,i){let n=Buffer.isBuffer(i)?i:Buffer.from(i),s=x.relative(Oe.root,t),o=this.allocateSource(i);try{let a=this.libzip.file.add(this.zip,s,o,this.libzip.ZIP_FL_OVERWRITE);if(a===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!==\"mixed\"){let l=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,a,0,l,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(a,n),a}catch(a){throw this.libzip.source.free(o),a}}isSymbolicLink(t){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,\"i8\")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,\"i32\")>>>16&61440)===40960}getFileSource(t,i={asyncDecompress:!1}){let n=this.fileSources.get(t);if(typeof n<\"u\")return n;let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,t,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.libzip.struct.statCompSize(s),l=this.libzip.struct.statCompMethod(s),c=this.libzip.malloc(a);try{let u=this.libzip.fopenIndex(this.zip,t,0,this.libzip.ZIP_FL_COMPRESSED);if(u===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let g=this.libzip.fread(u,c,a,0);if(g===-1)throw this.makeLibzipError(this.libzip.file.getError(u));if(g<a)throw new Error(\"Incomplete read\");if(g>a)throw new Error(\"Overread\");let f=this.libzip.HEAPU8.subarray(c,c+a),h=Buffer.from(f);if(l===0)return this.fileSources.set(t,h),h;if(i.asyncDecompress)return new Promise((p,C)=>{oS.default.inflateRaw(h,(y,B)=>{y?C(y):(this.fileSources.set(t,B),p(B))})});{let p=oS.default.inflateRawSync(h);return this.fileSources.set(t,p),p}}finally{this.libzip.fclose(u)}}finally{this.libzip.free(c)}}async fchmodPromise(t,i){return this.chmodPromise(this.fdToPath(t,\"fchmod\"),i)}fchmodSync(t,i){return this.chmodSync(this.fdToPath(t,\"fchmodSync\"),i)}async chmodPromise(t,i){return this.chmodSync(t,i)}chmodSync(t,i){if(this.readOnly)throw ln(`chmod '${t}'`);i&=493;let n=this.resolveFilename(`chmod '${t}'`,t,!1),s=this.entries.get(n);if(typeof s>\"u\")throw new Error(`Assertion failed: The entry should have been registered (${n})`);let a=this.getUnixMode(s,32768)&-512|i;if(this.libzip.file.setExternalAttributes(this.zip,s,0,0,this.libzip.ZIP_OPSYS_UNIX,a<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(t,i,n){return this.chownPromise(this.fdToPath(t,\"fchown\"),i,n)}fchownSync(t,i,n){return this.chownSync(this.fdToPath(t,\"fchownSync\"),i,n)}async chownPromise(t,i,n){return this.chownSync(t,i,n)}chownSync(t,i,n){throw new Error(\"Unimplemented\")}async renamePromise(t,i){return this.renameSync(t,i)}renameSync(t,i){throw new Error(\"Unimplemented\")}async copyFilePromise(t,i,n){let{indexSource:s,indexDest:o,resolvedDestP:a}=this.prepareCopyFile(t,i,n),l=await this.getFileSource(s,{asyncDecompress:!0}),c=this.setFileSource(a,l);c!==o&&this.registerEntry(a,c)}copyFileSync(t,i,n=0){let{indexSource:s,indexDest:o,resolvedDestP:a}=this.prepareCopyFile(t,i,n),l=this.getFileSource(s),c=this.setFileSource(a,l);c!==o&&this.registerEntry(a,c)}prepareCopyFile(t,i,n=0){if(this.readOnly)throw ln(`copyfile '${t} -> '${i}'`);if((n&pg.constants.COPYFILE_FICLONE_FORCE)!==0)throw xp(\"unsupported clone operation\",`copyfile '${t}' -> ${i}'`);let s=this.resolveFilename(`copyfile '${t} -> ${i}'`,t),o=this.entries.get(s);if(typeof o>\"u\")throw mA(`copyfile '${t}' -> '${i}'`);let a=this.resolveFilename(`copyfile '${t}' -> ${i}'`,i),l=this.entries.get(a);if((n&(pg.constants.COPYFILE_EXCL|pg.constants.COPYFILE_FICLONE_FORCE))!==0&&typeof l<\"u\")throw GE(`copyfile '${t}' -> '${i}'`);return{indexSource:o,resolvedDestP:a,indexDest:l}}async appendFilePromise(t,i,n){if(this.readOnly)throw ln(`open '${t}'`);return typeof n>\"u\"?n={flag:\"a\"}:typeof n==\"string\"?n={flag:\"a\",encoding:n}:typeof n.flag>\"u\"&&(n={flag:\"a\",...n}),this.writeFilePromise(t,i,n)}appendFileSync(t,i,n={}){if(this.readOnly)throw ln(`open '${t}'`);return typeof n>\"u\"?n={flag:\"a\"}:typeof n==\"string\"?n={flag:\"a\",encoding:n}:typeof n.flag>\"u\"&&(n={flag:\"a\",...n}),this.writeFileSync(t,i,n)}fdToPath(t,i){var s;let n=(s=this.fds.get(t))==null?void 0:s.p;if(typeof n>\"u\")throw Hr(i);return n}async writeFilePromise(t,i,n){let{encoding:s,mode:o,index:a,resolvedP:l}=this.prepareWriteFile(t,n);a!==void 0&&typeof n==\"object\"&&n.flag&&n.flag.includes(\"a\")&&(i=Buffer.concat([await this.getFileSource(a,{asyncDecompress:!0}),Buffer.from(i)])),s!==null&&(i=i.toString(s));let c=this.setFileSource(l,i);c!==a&&this.registerEntry(l,c),o!==null&&await this.chmodPromise(l,o)}writeFileSync(t,i,n){let{encoding:s,mode:o,index:a,resolvedP:l}=this.prepareWriteFile(t,n);a!==void 0&&typeof n==\"object\"&&n.flag&&n.flag.includes(\"a\")&&(i=Buffer.concat([this.getFileSource(a),Buffer.from(i)])),s!==null&&(i=i.toString(s));let c=this.setFileSource(l,i);c!==a&&this.registerEntry(l,c),o!==null&&this.chmodSync(l,o)}prepareWriteFile(t,i){if(typeof t==\"number\"&&(t=this.fdToPath(t,\"read\")),this.readOnly)throw ln(`open '${t}'`);let n=this.resolveFilename(`open '${t}'`,t);if(this.listings.has(n))throw Pp(`open '${t}'`);let s=null,o=null;typeof i==\"string\"?s=i:typeof i==\"object\"&&({encoding:s=null,mode:o=null}=i);let a=this.entries.get(n);return{encoding:s,mode:o,resolvedP:n,index:a}}async unlinkPromise(t){return this.unlinkSync(t)}unlinkSync(t){if(this.readOnly)throw ln(`unlink '${t}'`);let i=this.resolveFilename(`unlink '${t}'`,t);if(this.listings.has(i))throw Pp(`unlink '${t}'`);let n=this.entries.get(i);if(typeof n>\"u\")throw mA(`unlink '${t}'`);this.deleteEntry(i,n)}async utimesPromise(t,i,n){return this.utimesSync(t,i,n)}utimesSync(t,i,n){if(this.readOnly)throw ln(`utimes '${t}'`);let s=this.resolveFilename(`utimes '${t}'`,t);this.utimesImpl(s,n)}async lutimesPromise(t,i,n){return this.lutimesSync(t,i,n)}lutimesSync(t,i,n){if(this.readOnly)throw ln(`lutimes '${t}'`);let s=this.resolveFilename(`utimes '${t}'`,t,!1);this.utimesImpl(s,n)}utimesImpl(t,i){this.listings.has(t)&&(this.entries.has(t)||this.hydrateDirectory(t));let n=this.entries.get(t);if(n===void 0)throw new Error(\"Unreachable\");if(this.libzip.file.setMtime(this.zip,n,0,rge(i),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(t,i){return this.mkdirSync(t,i)}mkdirSync(t,{mode:i=493,recursive:n=!1}={}){if(n)return this.mkdirpSync(t,{chmod:i});if(this.readOnly)throw ln(`mkdir '${t}'`);let s=this.resolveFilename(`mkdir '${t}'`,t);if(this.entries.has(s)||this.listings.has(s))throw GE(`mkdir '${t}'`);this.hydrateDirectory(s),this.chmodSync(s,i)}async rmdirPromise(t,i){return this.rmdirSync(t,i)}rmdirSync(t,{recursive:i=!1}={}){if(this.readOnly)throw ln(`rmdir '${t}'`);if(i){this.removeSync(t);return}let n=this.resolveFilename(`rmdir '${t}'`,t),s=this.listings.get(n);if(!s)throw Io(`rmdir '${t}'`);if(s.size>0)throw k1(`rmdir '${t}'`);let o=this.entries.get(n);if(typeof o>\"u\")throw mA(`rmdir '${t}'`);this.deleteEntry(t,o)}hydrateDirectory(t){let i=this.libzip.dir.add(this.zip,x.relative(Oe.root,t));if(i===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(t),this.registerEntry(t,i),i}async linkPromise(t,i){return this.linkSync(t,i)}linkSync(t,i){throw R1(`link '${t}' -> '${i}'`)}async symlinkPromise(t,i){return this.symlinkSync(t,i)}symlinkSync(t,i){if(this.readOnly)throw ln(`symlink '${t}' -> '${i}'`);let n=this.resolveFilename(`symlink '${t}' -> '${i}'`,i);if(this.listings.has(n))throw Pp(`symlink '${t}' -> '${i}'`);if(this.entries.has(n))throw GE(`symlink '${t}' -> '${i}'`);let s=this.setFileSource(n,t);if(this.registerEntry(n,s),this.libzip.file.setExternalAttributes(this.zip,s,0,0,this.libzip.ZIP_OPSYS_UNIX,41471<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(t,i){typeof i==\"object\"&&(i=i?i.encoding:void 0);let n=await this.readFileBuffer(t,{asyncDecompress:!0});return i?n.toString(i):n}readFileSync(t,i){typeof i==\"object\"&&(i=i?i.encoding:void 0);let n=this.readFileBuffer(t);return i?n.toString(i):n}readFileBuffer(t,i={asyncDecompress:!1}){typeof t==\"number\"&&(t=this.fdToPath(t,\"read\"));let n=this.resolveFilename(`open '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Gs(`open '${t}'`);if(t[t.length-1]===\"/\"&&!this.listings.has(n))throw Io(`open '${t}'`);if(this.listings.has(n))throw Pp(\"read\");let s=this.entries.get(n);if(s===void 0)throw new Error(\"Unreachable\");return this.getFileSource(s,i)}async readdirPromise(t,i){return this.readdirSync(t,i)}readdirSync(t,i){let n=this.resolveFilename(`scandir '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Gs(`scandir '${t}'`);let s=this.listings.get(n);if(!s)throw Io(`scandir '${t}'`);let o=[...s];return i!=null&&i.withFileTypes?o.map(a=>Object.assign(this.statImpl(\"lstat\",x.join(t,a)),{name:a})):o}async readlinkPromise(t){let i=this.prepareReadlink(t);return(await this.getFileSource(i,{asyncDecompress:!0})).toString()}readlinkSync(t){let i=this.prepareReadlink(t);return this.getFileSource(i).toString()}prepareReadlink(t){let i=this.resolveFilename(`readlink '${t}'`,t,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw Gs(`readlink '${t}'`);if(t[t.length-1]===\"/\"&&!this.listings.has(i))throw Io(`open '${t}'`);if(this.listings.has(i))throw mA(`readlink '${t}'`);let n=this.entries.get(i);if(n===void 0)throw new Error(\"Unreachable\");if(!this.isSymbolicLink(n))throw mA(`readlink '${t}'`);return n}async truncatePromise(t,i=0){let n=this.resolveFilename(`open '${t}'`,t),s=this.entries.get(n);if(typeof s>\"u\")throw mA(`open '${t}'`);let o=await this.getFileSource(s,{asyncDecompress:!0}),a=Buffer.alloc(i,0);return o.copy(a),await this.writeFilePromise(t,a)}truncateSync(t,i=0){let n=this.resolveFilename(`open '${t}'`,t),s=this.entries.get(n);if(typeof s>\"u\")throw mA(`open '${t}'`);let o=this.getFileSource(s),a=Buffer.alloc(i,0);return o.copy(a),this.writeFileSync(t,a)}async ftruncatePromise(t,i){return this.truncatePromise(this.fdToPath(t,\"ftruncate\"),i)}ftruncateSync(t,i){return this.truncateSync(this.fdToPath(t,\"ftruncateSync\"),i)}watch(t,i,n){let s;switch(typeof i){case\"function\":case\"string\":case\"undefined\":s=!0;break;default:({persistent:s=!0}=i);break}if(!s)return{on:()=>{},close:()=>{}};let o=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(o)}}}watchFile(t,i,n){let s=x.resolve(Oe.root,t);return qE(this,s,i,n)}unwatchFile(t,i){let n=x.resolve(Oe.root,t);return Dp(this,n,i)}};var pi=class extends ha{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,t,i){return this.baseFs.openPromise(this.mapToBase(e),t,i)}openSync(e,t,i){return this.baseFs.openSync(this.mapToBase(e),t,i)}async opendirPromise(e,t){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),t),{path:e})}opendirSync(e,t){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),t),{path:e})}async readPromise(e,t,i,n,s){return await this.baseFs.readPromise(e,t,i,n,s)}readSync(e,t,i,n,s){return this.baseFs.readSync(e,t,i,n,s)}async writePromise(e,t,i,n,s){return typeof t==\"string\"?await this.baseFs.writePromise(e,t,i):await this.baseFs.writePromise(e,t,i,n,s)}writeSync(e,t,i,n,s){return typeof t==\"string\"?this.baseFs.writeSync(e,t,i):this.baseFs.writeSync(e,t,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,t){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,t)}createWriteStream(e,t){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,t)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,t){return this.baseFs.accessSync(this.mapToBase(e),t)}async accessPromise(e,t){return this.baseFs.accessPromise(this.mapToBase(e),t)}async statPromise(e,t){return this.baseFs.statPromise(this.mapToBase(e),t)}statSync(e,t){return this.baseFs.statSync(this.mapToBase(e),t)}async fstatPromise(e,t){return this.baseFs.fstatPromise(e,t)}fstatSync(e,t){return this.baseFs.fstatSync(e,t)}lstatPromise(e,t){return this.baseFs.lstatPromise(this.mapToBase(e),t)}lstatSync(e,t){return this.baseFs.lstatSync(this.mapToBase(e),t)}async fchmodPromise(e,t){return this.baseFs.fchmodPromise(e,t)}fchmodSync(e,t){return this.baseFs.fchmodSync(e,t)}async chmodPromise(e,t){return this.baseFs.chmodPromise(this.mapToBase(e),t)}chmodSync(e,t){return this.baseFs.chmodSync(this.mapToBase(e),t)}async fchownPromise(e,t,i){return this.baseFs.fchownPromise(e,t,i)}fchownSync(e,t,i){return this.baseFs.fchownSync(e,t,i)}async chownPromise(e,t,i){return this.baseFs.chownPromise(this.mapToBase(e),t,i)}chownSync(e,t,i){return this.baseFs.chownSync(this.mapToBase(e),t,i)}async renamePromise(e,t){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(t))}renameSync(e,t){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(t))}async copyFilePromise(e,t,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(t),i)}copyFileSync(e,t,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(t),i)}async appendFilePromise(e,t,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),t,i)}appendFileSync(e,t,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),t,i)}async writeFilePromise(e,t,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),t,i)}writeFileSync(e,t,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),t,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,t,i){return this.baseFs.utimesPromise(this.mapToBase(e),t,i)}utimesSync(e,t,i){return this.baseFs.utimesSync(this.mapToBase(e),t,i)}async mkdirPromise(e,t){return this.baseFs.mkdirPromise(this.mapToBase(e),t)}mkdirSync(e,t){return this.baseFs.mkdirSync(this.mapToBase(e),t)}async rmdirPromise(e,t){return this.baseFs.rmdirPromise(this.mapToBase(e),t)}rmdirSync(e,t){return this.baseFs.rmdirSync(this.mapToBase(e),t)}async linkPromise(e,t){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(t))}linkSync(e,t){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(t))}async symlinkPromise(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,t){return t===\"utf8\"?this.baseFs.readFilePromise(this.fsMapToBase(e),t):this.baseFs.readFilePromise(this.fsMapToBase(e),t)}readFileSync(e,t){return t===\"utf8\"?this.baseFs.readFileSync(this.fsMapToBase(e),t):this.baseFs.readFileSync(this.fsMapToBase(e),t)}async readdirPromise(e,t){return this.baseFs.readdirPromise(this.mapToBase(e),t)}readdirSync(e,t){return this.baseFs.readdirSync(this.mapToBase(e),t)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,t){return this.baseFs.truncatePromise(this.mapToBase(e),t)}truncateSync(e,t){return this.baseFs.truncateSync(this.mapToBase(e),t)}async ftruncatePromise(e,t){return this.baseFs.ftruncatePromise(e,t)}ftruncateSync(e,t){return this.baseFs.ftruncateSync(e,t)}watch(e,t,i){return this.baseFs.watch(this.mapToBase(e),t,i)}watchFile(e,t,i){return this.baseFs.watchFile(this.mapToBase(e),t,i)}unwatchFile(e,t){return this.baseFs.unwatchFile(this.mapToBase(e),t)}fsMapToBase(e){return typeof e==\"number\"?e:this.mapToBase(e)}};var yo=class extends pi{constructor(t,{baseFs:i,pathUtils:n}){super(n);this.target=t,this.baseFs=i}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(t){return t}mapToBase(t){return t}};var jt=class extends pi{constructor(t,{baseFs:i=new $t}={}){super(x);this.target=this.pathUtils.normalize(t),this.baseFs=i}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(t){return this.pathUtils.isAbsolute(t)?x.normalize(t):this.baseFs.resolve(x.join(this.target,t))}mapFromBase(t){return t}mapToBase(t){return this.pathUtils.isAbsolute(t)?t:this.pathUtils.join(this.target,t)}};var K1=Oe.root,wo=class extends pi{constructor(t,{baseFs:i=new $t}={}){super(x);this.target=this.pathUtils.resolve(Oe.root,t),this.baseFs=i}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Oe.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(t){let i=this.pathUtils.normalize(t);if(this.pathUtils.isAbsolute(t))return this.pathUtils.resolve(this.target,this.pathUtils.relative(K1,t));if(i.match(/^\\.\\.\\/?/))throw new Error(`Resolving this path (${t}) would escape the jail`);return this.pathUtils.resolve(this.target,t)}mapFromBase(t){return this.pathUtils.resolve(K1,this.pathUtils.relative(this.target,t))}};var dg=class extends pi{constructor(t,i){super(i);this.instance=null;this.factory=t}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(t){this.instance=t}mapFromBase(t){return t}mapToBase(t){return t}};var _e=()=>Object.assign(new Error(\"ENOSYS: unsupported filesystem access\"),{code:\"ENOSYS\"}),aS=class extends ha{constructor(){super(x)}getExtractHint(){throw _e()}getRealPath(){throw _e()}resolve(){throw _e()}async openPromise(){throw _e()}openSync(){throw _e()}async opendirPromise(){throw _e()}opendirSync(){throw _e()}async readPromise(){throw _e()}readSync(){throw _e()}async writePromise(){throw _e()}writeSync(){throw _e()}async closePromise(){throw _e()}closeSync(){throw _e()}createWriteStream(){throw _e()}createReadStream(){throw _e()}async realpathPromise(){throw _e()}realpathSync(){throw _e()}async readdirPromise(){throw _e()}readdirSync(){throw _e()}async existsPromise(e){throw _e()}existsSync(e){throw _e()}async accessPromise(){throw _e()}accessSync(){throw _e()}async statPromise(){throw _e()}statSync(){throw _e()}async fstatPromise(e){throw _e()}fstatSync(e){throw _e()}async lstatPromise(e){throw _e()}lstatSync(e){throw _e()}async fchmodPromise(){throw _e()}fchmodSync(){throw _e()}async chmodPromise(){throw _e()}chmodSync(){throw _e()}async fchownPromise(){throw _e()}fchownSync(){throw _e()}async chownPromise(){throw _e()}chownSync(){throw _e()}async mkdirPromise(){throw _e()}mkdirSync(){throw _e()}async rmdirPromise(){throw _e()}rmdirSync(){throw _e()}async linkPromise(){throw _e()}linkSync(){throw _e()}async symlinkPromise(){throw _e()}symlinkSync(){throw _e()}async renamePromise(){throw _e()}renameSync(){throw _e()}async copyFilePromise(){throw _e()}copyFileSync(){throw _e()}async appendFilePromise(){throw _e()}appendFileSync(){throw _e()}async writeFilePromise(){throw _e()}writeFileSync(){throw _e()}async unlinkPromise(){throw _e()}unlinkSync(){throw _e()}async utimesPromise(){throw _e()}utimesSync(){throw _e()}async readFilePromise(){throw _e()}readFileSync(){throw _e()}async readlinkPromise(){throw _e()}readlinkSync(){throw _e()}async truncatePromise(){throw _e()}truncateSync(){throw _e()}async ftruncatePromise(e,t){throw _e()}ftruncateSync(e,t){throw _e()}watch(){throw _e()}watchFile(){throw _e()}unwatchFile(){throw _e()}},Rp=aS;Rp.instance=new aS;var Cg=class extends pi{constructor(t){super(K);this.baseFs=t}mapFromBase(t){return K.fromPortablePath(t)}mapToBase(t){return K.toPortablePath(t)}};var ige=/^[0-9]+$/,AS=/^(\\/(?:[^/]+\\/)*?(?:\\$\\$virtual|__virtual__))((?:\\/((?:[^/]+-)?[a-f0-9]+)(?:\\/([^/]+))?)?((?:\\/.*)?))$/,nge=/^([^/]+-)?[a-f0-9]+$/,Br=class extends pi{constructor({baseFs:t=new $t}={}){super(x);this.baseFs=t}static makeVirtualPath(t,i,n){if(x.basename(t)!==\"__virtual__\")throw new Error('Assertion failed: Virtual folders must be named \"__virtual__\"');if(!x.basename(i).match(nge))throw new Error(\"Assertion failed: Virtual components must be ended by an hexadecimal hash\");let o=x.relative(x.dirname(t),n).split(\"/\"),a=0;for(;a<o.length&&o[a]===\"..\";)a+=1;let l=o.slice(a);return x.join(t,i,String(a),...l)}static resolveVirtual(t){let i=t.match(AS);if(!i||!i[3]&&i[5])return t;let n=x.dirname(i[1]);if(!i[3]||!i[4])return n;if(!ige.test(i[4]))return t;let o=Number(i[4]),a=\"../\".repeat(o),l=i[5]||\".\";return Br.resolveVirtual(x.join(n,a,l))}getExtractHint(t){return this.baseFs.getExtractHint(t)}getRealPath(){return this.baseFs.getRealPath()}realpathSync(t){let i=t.match(AS);if(!i)return this.baseFs.realpathSync(t);if(!i[5])return t;let n=this.baseFs.realpathSync(this.mapToBase(t));return Br.makeVirtualPath(i[1],i[3],n)}async realpathPromise(t){let i=t.match(AS);if(!i)return await this.baseFs.realpathPromise(t);if(!i[5])return t;let n=await this.baseFs.realpathPromise(this.mapToBase(t));return Br.makeVirtualPath(i[1],i[3],n)}mapToBase(t){if(t===\"\")return t;if(this.pathUtils.isAbsolute(t))return Br.resolveVirtual(t);let i=Br.resolveVirtual(this.baseFs.resolve(Oe.dot)),n=Br.resolveVirtual(this.baseFs.resolve(t));return x.relative(i,n)||Oe.dot}mapFromBase(t){return t}};var Fp=J(\"fs\");var cn=4278190080,qi=704643072,U1=(r,e)=>{let t=r.indexOf(e);if(t<=0)return null;let i=t;for(;t>=0&&(i=t+e.length,r[i]!==x.sep);){if(r[t-1]===x.sep)return null;t=r.indexOf(e,i)}return r.length>i&&r[i]!==x.sep?null:r.slice(0,i)},Tn=class extends EA{constructor({libzip:t,baseFs:i=new $t,filter:n=null,maxOpenFiles:s=1/0,readOnlyArchives:o=!1,useCache:a=!0,maxAge:l=5e3,fileExtensions:c=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof t!=\"function\"?()=>t:t,this.baseFs=i,this.zipInstances=a?new Map:null,this.filter=n,this.maxOpenFiles=s,this.readOnlyArchives=o,this.maxAge=l,this.fileExtensions=c}static async openPromise(t,i){let n=new Tn(i);try{return await t(n)}finally{n.saveAndClose()}}get libzip(){return typeof this.libzipInstance>\"u\"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(t){return this.baseFs.getExtractHint(t)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(kp(this),this.zipInstances)for(let[t,{zipFs:i}]of this.zipInstances.entries())i.saveAndClose(),this.zipInstances.delete(t)}discardAndClose(){if(kp(this),this.zipInstances)for(let[t,{zipFs:i}]of this.zipInstances.entries())i.discardAndClose(),this.zipInstances.delete(t)}resolve(t){return this.baseFs.resolve(t)}remapFd(t,i){let n=this.nextFd++|qi;return this.fdMap.set(n,[t,i]),n}async openPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.openPromise(t,i,n),async(s,{subPath:o})=>this.remapFd(s,await s.openPromise(o,i,n)))}openSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.openSync(t,i,n),(s,{subPath:o})=>this.remapFd(s,s.openSync(o,i,n)))}async opendirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.opendirPromise(t,i),async(n,{subPath:s})=>await n.opendirPromise(s,i),{requireSubpath:!1})}opendirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.opendirSync(t,i),(n,{subPath:s})=>n.opendirSync(s,i),{requireSubpath:!1})}async readPromise(t,i,n,s,o){if((t&cn)!==qi)return await this.baseFs.readPromise(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>\"u\")throw Hr(\"read\");let[l,c]=a;return await l.readPromise(c,i,n,s,o)}readSync(t,i,n,s,o){if((t&cn)!==qi)return this.baseFs.readSync(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>\"u\")throw Hr(\"readSync\");let[l,c]=a;return l.readSync(c,i,n,s,o)}async writePromise(t,i,n,s,o){if((t&cn)!==qi)return typeof i==\"string\"?await this.baseFs.writePromise(t,i,n):await this.baseFs.writePromise(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>\"u\")throw Hr(\"write\");let[l,c]=a;return typeof i==\"string\"?await l.writePromise(c,i,n):await l.writePromise(c,i,n,s,o)}writeSync(t,i,n,s,o){if((t&cn)!==qi)return typeof i==\"string\"?this.baseFs.writeSync(t,i,n):this.baseFs.writeSync(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>\"u\")throw Hr(\"writeSync\");let[l,c]=a;return typeof i==\"string\"?l.writeSync(c,i,n):l.writeSync(c,i,n,s,o)}async closePromise(t){if((t&cn)!==qi)return await this.baseFs.closePromise(t);let i=this.fdMap.get(t);if(typeof i>\"u\")throw Hr(\"close\");this.fdMap.delete(t);let[n,s]=i;return await n.closePromise(s)}closeSync(t){if((t&cn)!==qi)return this.baseFs.closeSync(t);let i=this.fdMap.get(t);if(typeof i>\"u\")throw Hr(\"closeSync\");this.fdMap.delete(t);let[n,s]=i;return n.closeSync(s)}createReadStream(t,i){return t===null?this.baseFs.createReadStream(t,i):this.makeCallSync(t,()=>this.baseFs.createReadStream(t,i),(n,{archivePath:s,subPath:o})=>{let a=n.createReadStream(o,i);return a.path=K.fromPortablePath(this.pathUtils.join(s,o)),a})}createWriteStream(t,i){return t===null?this.baseFs.createWriteStream(t,i):this.makeCallSync(t,()=>this.baseFs.createWriteStream(t,i),(n,{subPath:s})=>n.createWriteStream(s,i))}async realpathPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.realpathPromise(t),async(i,{archivePath:n,subPath:s})=>{let o=this.realPaths.get(n);return typeof o>\"u\"&&(o=await this.baseFs.realpathPromise(n),this.realPaths.set(n,o)),this.pathUtils.join(o,this.pathUtils.relative(Oe.root,await i.realpathPromise(s)))})}realpathSync(t){return this.makeCallSync(t,()=>this.baseFs.realpathSync(t),(i,{archivePath:n,subPath:s})=>{let o=this.realPaths.get(n);return typeof o>\"u\"&&(o=this.baseFs.realpathSync(n),this.realPaths.set(n,o)),this.pathUtils.join(o,this.pathUtils.relative(Oe.root,i.realpathSync(s)))})}async existsPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.existsPromise(t),async(i,{subPath:n})=>await i.existsPromise(n))}existsSync(t){return this.makeCallSync(t,()=>this.baseFs.existsSync(t),(i,{subPath:n})=>i.existsSync(n))}async accessPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.accessPromise(t,i),async(n,{subPath:s})=>await n.accessPromise(s,i))}accessSync(t,i){return this.makeCallSync(t,()=>this.baseFs.accessSync(t,i),(n,{subPath:s})=>n.accessSync(s,i))}async statPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.statPromise(t,i),async(n,{subPath:s})=>await n.statPromise(s,i))}statSync(t,i){return this.makeCallSync(t,()=>this.baseFs.statSync(t,i),(n,{subPath:s})=>n.statSync(s,i))}async fstatPromise(t,i){if((t&cn)!==qi)return this.baseFs.fstatPromise(t,i);let n=this.fdMap.get(t);if(typeof n>\"u\")throw Hr(\"fstat\");let[s,o]=n;return s.fstatPromise(o,i)}fstatSync(t,i){if((t&cn)!==qi)return this.baseFs.fstatSync(t,i);let n=this.fdMap.get(t);if(typeof n>\"u\")throw Hr(\"fstatSync\");let[s,o]=n;return s.fstatSync(o,i)}async lstatPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.lstatPromise(t,i),async(n,{subPath:s})=>await n.lstatPromise(s,i))}lstatSync(t,i){return this.makeCallSync(t,()=>this.baseFs.lstatSync(t,i),(n,{subPath:s})=>n.lstatSync(s,i))}async fchmodPromise(t,i){if((t&cn)!==qi)return this.baseFs.fchmodPromise(t,i);let n=this.fdMap.get(t);if(typeof n>\"u\")throw Hr(\"fchmod\");let[s,o]=n;return s.fchmodPromise(o,i)}fchmodSync(t,i){if((t&cn)!==qi)return this.baseFs.fchmodSync(t,i);let n=this.fdMap.get(t);if(typeof n>\"u\")throw Hr(\"fchmodSync\");let[s,o]=n;return s.fchmodSync(o,i)}async chmodPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.chmodPromise(t,i),async(n,{subPath:s})=>await n.chmodPromise(s,i))}chmodSync(t,i){return this.makeCallSync(t,()=>this.baseFs.chmodSync(t,i),(n,{subPath:s})=>n.chmodSync(s,i))}async fchownPromise(t,i,n){if((t&cn)!==qi)return this.baseFs.fchownPromise(t,i,n);let s=this.fdMap.get(t);if(typeof s>\"u\")throw Hr(\"fchown\");let[o,a]=s;return o.fchownPromise(a,i,n)}fchownSync(t,i,n){if((t&cn)!==qi)return this.baseFs.fchownSync(t,i,n);let s=this.fdMap.get(t);if(typeof s>\"u\")throw Hr(\"fchownSync\");let[o,a]=s;return o.fchownSync(a,i,n)}async chownPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.chownPromise(t,i,n),async(s,{subPath:o})=>await s.chownPromise(o,i,n))}chownSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.chownSync(t,i,n),(s,{subPath:o})=>s.chownSync(o,i,n))}async renamePromise(t,i){return await this.makeCallPromise(t,async()=>await this.makeCallPromise(i,async()=>await this.baseFs.renamePromise(t,i),async()=>{throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"})}),async(n,{subPath:s})=>await this.makeCallPromise(i,async()=>{throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"})},async(o,{subPath:a})=>{if(n!==o)throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"});return await n.renamePromise(s,a)}))}renameSync(t,i){return this.makeCallSync(t,()=>this.makeCallSync(i,()=>this.baseFs.renameSync(t,i),()=>{throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"})}),(n,{subPath:s})=>this.makeCallSync(i,()=>{throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"})},(o,{subPath:a})=>{if(n!==o)throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"});return n.renameSync(s,a)}))}async copyFilePromise(t,i,n=0){let s=async(o,a,l,c)=>{if((n&Fp.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${a}' -> ${c}'`),{code:\"EXDEV\"});if(n&Fp.constants.COPYFILE_EXCL&&await this.existsPromise(a))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${a}' -> '${c}'`),{code:\"EEXIST\"});let u;try{u=await o.readFilePromise(a)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${a}' -> '${c}'`),{code:\"EINVAL\"})}await l.writeFilePromise(c,u)};return await this.makeCallPromise(t,async()=>await this.makeCallPromise(i,async()=>await this.baseFs.copyFilePromise(t,i,n),async(o,{subPath:a})=>await s(this.baseFs,t,o,a)),async(o,{subPath:a})=>await this.makeCallPromise(i,async()=>await s(o,a,this.baseFs,i),async(l,{subPath:c})=>o!==l?await s(o,a,l,c):await o.copyFilePromise(a,c,n)))}copyFileSync(t,i,n=0){let s=(o,a,l,c)=>{if((n&Fp.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${a}' -> ${c}'`),{code:\"EXDEV\"});if(n&Fp.constants.COPYFILE_EXCL&&this.existsSync(a))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${a}' -> '${c}'`),{code:\"EEXIST\"});let u;try{u=o.readFileSync(a)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${a}' -> '${c}'`),{code:\"EINVAL\"})}l.writeFileSync(c,u)};return this.makeCallSync(t,()=>this.makeCallSync(i,()=>this.baseFs.copyFileSync(t,i,n),(o,{subPath:a})=>s(this.baseFs,t,o,a)),(o,{subPath:a})=>this.makeCallSync(i,()=>s(o,a,this.baseFs,i),(l,{subPath:c})=>o!==l?s(o,a,l,c):o.copyFileSync(a,c,n)))}async appendFilePromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.appendFilePromise(t,i,n),async(s,{subPath:o})=>await s.appendFilePromise(o,i,n))}appendFileSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.appendFileSync(t,i,n),(s,{subPath:o})=>s.appendFileSync(o,i,n))}async writeFilePromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.writeFilePromise(t,i,n),async(s,{subPath:o})=>await s.writeFilePromise(o,i,n))}writeFileSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.writeFileSync(t,i,n),(s,{subPath:o})=>s.writeFileSync(o,i,n))}async unlinkPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.unlinkPromise(t),async(i,{subPath:n})=>await i.unlinkPromise(n))}unlinkSync(t){return this.makeCallSync(t,()=>this.baseFs.unlinkSync(t),(i,{subPath:n})=>i.unlinkSync(n))}async utimesPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.utimesPromise(t,i,n),async(s,{subPath:o})=>await s.utimesPromise(o,i,n))}utimesSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.utimesSync(t,i,n),(s,{subPath:o})=>s.utimesSync(o,i,n))}async mkdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.mkdirPromise(t,i),async(n,{subPath:s})=>await n.mkdirPromise(s,i))}mkdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.mkdirSync(t,i),(n,{subPath:s})=>n.mkdirSync(s,i))}async rmdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.rmdirPromise(t,i),async(n,{subPath:s})=>await n.rmdirPromise(s,i))}rmdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.rmdirSync(t,i),(n,{subPath:s})=>n.rmdirSync(s,i))}async linkPromise(t,i){return await this.makeCallPromise(i,async()=>await this.baseFs.linkPromise(t,i),async(n,{subPath:s})=>await n.linkPromise(t,s))}linkSync(t,i){return this.makeCallSync(i,()=>this.baseFs.linkSync(t,i),(n,{subPath:s})=>n.linkSync(t,s))}async symlinkPromise(t,i,n){return await this.makeCallPromise(i,async()=>await this.baseFs.symlinkPromise(t,i,n),async(s,{subPath:o})=>await s.symlinkPromise(t,o))}symlinkSync(t,i,n){return this.makeCallSync(i,()=>this.baseFs.symlinkSync(t,i,n),(s,{subPath:o})=>s.symlinkSync(t,o))}async readFilePromise(t,i){return this.makeCallPromise(t,async()=>{switch(i){case\"utf8\":return await this.baseFs.readFilePromise(t,i);default:return await this.baseFs.readFilePromise(t,i)}},async(n,{subPath:s})=>await n.readFilePromise(s,i))}readFileSync(t,i){return this.makeCallSync(t,()=>{switch(i){case\"utf8\":return this.baseFs.readFileSync(t,i);default:return this.baseFs.readFileSync(t,i)}},(n,{subPath:s})=>n.readFileSync(s,i))}async readdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.readdirPromise(t,i),async(n,{subPath:s})=>await n.readdirPromise(s,i),{requireSubpath:!1})}readdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.readdirSync(t,i),(n,{subPath:s})=>n.readdirSync(s,i),{requireSubpath:!1})}async readlinkPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.readlinkPromise(t),async(i,{subPath:n})=>await i.readlinkPromise(n))}readlinkSync(t){return this.makeCallSync(t,()=>this.baseFs.readlinkSync(t),(i,{subPath:n})=>i.readlinkSync(n))}async truncatePromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.truncatePromise(t,i),async(n,{subPath:s})=>await n.truncatePromise(s,i))}truncateSync(t,i){return this.makeCallSync(t,()=>this.baseFs.truncateSync(t,i),(n,{subPath:s})=>n.truncateSync(s,i))}async ftruncatePromise(t,i){if((t&cn)!==qi)return this.baseFs.ftruncatePromise(t,i);let n=this.fdMap.get(t);if(typeof n>\"u\")throw Hr(\"ftruncate\");let[s,o]=n;return s.ftruncatePromise(o,i)}ftruncateSync(t,i){if((t&cn)!==qi)return this.baseFs.ftruncateSync(t,i);let n=this.fdMap.get(t);if(typeof n>\"u\")throw Hr(\"ftruncateSync\");let[s,o]=n;return s.ftruncateSync(o,i)}watch(t,i,n){return this.makeCallSync(t,()=>this.baseFs.watch(t,i,n),(s,{subPath:o})=>s.watch(o,i,n))}watchFile(t,i,n){return this.makeCallSync(t,()=>this.baseFs.watchFile(t,i,n),()=>qE(this,t,i,n))}unwatchFile(t,i){return this.makeCallSync(t,()=>this.baseFs.unwatchFile(t,i),()=>Dp(this,t,i))}async makeCallPromise(t,i,n,{requireSubpath:s=!0}={}){if(typeof t!=\"string\")return await i();let o=this.resolve(t),a=this.findZip(o);return a?s&&a.subPath===\"/\"?await i():await this.getZipPromise(a.archivePath,async l=>await n(l,a)):await i()}makeCallSync(t,i,n,{requireSubpath:s=!0}={}){if(typeof t!=\"string\")return i();let o=this.resolve(t),a=this.findZip(o);return!a||s&&a.subPath===\"/\"?i():this.getZipSync(a.archivePath,l=>n(l,a))}findZip(t){if(this.filter&&!this.filter.test(t))return null;let i=\"\";for(;;){let n=t.substring(i.length),s;if(!this.fileExtensions)s=U1(n,\".zip\");else for(let o of this.fileExtensions)if(s=U1(n,o),s)break;if(!s)return null;if(i=this.pathUtils.join(i,s),this.isZip.has(i)===!1){if(this.notZip.has(i))continue;try{if(!this.baseFs.lstatSync(i).isFile()){this.notZip.add(i);continue}}catch{return null}this.isZip.add(i)}return{archivePath:i,subPath:this.pathUtils.join(Oe.root,t.substring(i.length))}}}limitOpenFiles(t){if(this.zipInstances===null)return;let i=Date.now(),n=i+this.maxAge,s=t===null?0:this.zipInstances.size-t;for(let[o,{zipFs:a,expiresAt:l,refCount:c}]of this.zipInstances.entries())if(!(c!==0||a.hasOpenFileHandles())){if(i>=l){a.saveAndClose(),this.zipInstances.delete(o),s-=1;continue}else if(t===null||s<=0){n=l;break}a.saveAndClose(),this.zipInstances.delete(o),s-=1}this.limitOpenFilesTimeout===null&&(t===null&&this.zipInstances.size>0||t!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},n-i).unref())}async getZipPromise(t,i){let n=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(t)});if(this.zipInstances){let s=this.zipInstances.get(t);if(!s){let o=await n();s=this.zipInstances.get(t),s||(s={zipFs:new Wr(t,o),expiresAt:0,refCount:0})}this.zipInstances.delete(t),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(t,s),s.expiresAt=Date.now()+this.maxAge,s.refCount+=1;try{return await i(s.zipFs)}finally{s.refCount-=1}}else{let s=new Wr(t,await n());try{return await i(s)}finally{s.saveAndClose()}}}getZipSync(t,i){let n=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(t)});if(this.zipInstances){let s=this.zipInstances.get(t);return s||(s={zipFs:new Wr(t,n()),expiresAt:0,refCount:0}),this.zipInstances.delete(t),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(t,s),s.expiresAt=Date.now()+this.maxAge,i(s.zipFs)}else{let s=new Wr(t,n());try{return i(s)}finally{s.saveAndClose()}}}};var Eg=J(\"util\");var WE=J(\"url\"),H1=J(\"util\");var JE=class extends pi{constructor(t){super(K);this.baseFs=t}mapFromBase(t){return t}mapToBase(t){if(typeof t==\"string\")return t;if(t instanceof WE.URL)return(0,WE.fileURLToPath)(t);if(Buffer.isBuffer(t)){let i=t.toString();if(Buffer.byteLength(i)!==t.byteLength)throw new Error(\"Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942\");return i}throw new Error(`Unsupported path type: ${(0,H1.inspect)(t)}`)}};var G1=J(\"readline\"),Ri=Symbol(\"kBaseFs\"),pa=Symbol(\"kFd\"),IA=Symbol(\"kClosePromise\"),zE=Symbol(\"kCloseResolve\"),VE=Symbol(\"kCloseReject\"),mg=Symbol(\"kRefs\"),Ys=Symbol(\"kRef\"),js=Symbol(\"kUnref\"),sge,oge,age,Age,Np=class{constructor(e,t){this[sge]=1;this[oge]=void 0;this[age]=void 0;this[Age]=void 0;this[Ri]=t,this[pa]=e}get fd(){return this[pa]}async appendFile(e,t){var i;try{this[Ys](this.appendFile);let n=(i=typeof t==\"string\"?t:t==null?void 0:t.encoding)!=null?i:void 0;return await this[Ri].appendFilePromise(this.fd,e,n?{encoding:n}:void 0)}finally{this[js]()}}async chown(e,t){try{return this[Ys](this.chown),await this[Ri].fchownPromise(this.fd,e,t)}finally{this[js]()}}async chmod(e){try{return this[Ys](this.chmod),await this[Ri].fchmodPromise(this.fd,e)}finally{this[js]()}}createReadStream(e){return this[Ri].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Ri].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error(\"Method not implemented.\")}sync(){throw new Error(\"Method not implemented.\")}async read(e,t,i,n){var s,o,a;try{this[Ys](this.read);let l;return Buffer.isBuffer(e)?l=e:(e!=null||(e={}),l=(s=e.buffer)!=null?s:Buffer.alloc(16384),t=e.offset||0,i=(o=e.length)!=null?o:l.byteLength,n=(a=e.position)!=null?a:null),t!=null||(t=0),i!=null||(i=0),i===0?{bytesRead:i,buffer:l}:{bytesRead:await this[Ri].readPromise(this.fd,l,t,i,n),buffer:l}}finally{this[js]()}}async readFile(e){var t;try{this[Ys](this.readFile);let i=(t=typeof e==\"string\"?e:e==null?void 0:e.encoding)!=null?t:void 0;return await this[Ri].readFilePromise(this.fd,i)}finally{this[js]()}}readLines(e){return(0,G1.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[Ys](this.stat),await this[Ri].fstatPromise(this.fd,e)}finally{this[js]()}}async truncate(e){try{return this[Ys](this.truncate),await this[Ri].ftruncatePromise(this.fd,e)}finally{this[js]()}}utimes(e,t){throw new Error(\"Method not implemented.\")}async writeFile(e,t){var i;try{this[Ys](this.writeFile);let n=(i=typeof t==\"string\"?t:t==null?void 0:t.encoding)!=null?i:void 0;await this[Ri].writeFilePromise(this.fd,e,n)}finally{this[js]()}}async write(...e){try{if(this[Ys](this.write),ArrayBuffer.isView(e[0])){let[t,i,n,s]=e;return{bytesWritten:await this[Ri].writePromise(this.fd,t,i!=null?i:void 0,n!=null?n:void 0,s!=null?s:void 0),buffer:t}}else{let[t,i,n]=e;return{bytesWritten:await this[Ri].writePromise(this.fd,t,i,n),buffer:t}}}finally{this[js]()}}async writev(e,t){try{this[Ys](this.writev);let i=0;if(typeof t<\"u\")for(let n of e){let s=await this.write(n,void 0,void 0,t);i+=s.bytesWritten,t+=s.bytesWritten}else for(let n of e)i+=(await this.write(n)).bytesWritten;return{buffers:e,bytesWritten:i}}finally{this[js]()}}readv(e,t){throw new Error(\"Method not implemented.\")}close(){if(this[pa]===-1)return Promise.resolve();if(this[IA])return this[IA];if(this[mg]--,this[mg]===0){let e=this[pa];this[pa]=-1,this[IA]=this[Ri].closePromise(e).finally(()=>{this[IA]=void 0})}else this[IA]=new Promise((e,t)=>{this[zE]=e,this[VE]=t}).finally(()=>{this[IA]=void 0,this[VE]=void 0,this[zE]=void 0});return this[IA]}[(Ri,pa,sge=mg,oge=IA,age=zE,Age=VE,Ys)](e){if(this[pa]===-1){let t=new Error(\"file closed\");throw t.code=\"EBADF\",t.syscall=e.name,t}this[mg]++}[js](){if(this[mg]--,this[mg]===0){let e=this[pa];this[pa]=-1,this[Ri].closePromise(e).then(this[zE],this[VE])}}};var lge=new Set([\"accessSync\",\"appendFileSync\",\"createReadStream\",\"createWriteStream\",\"chmodSync\",\"fchmodSync\",\"chownSync\",\"fchownSync\",\"closeSync\",\"copyFileSync\",\"linkSync\",\"lstatSync\",\"fstatSync\",\"lutimesSync\",\"mkdirSync\",\"openSync\",\"opendirSync\",\"readlinkSync\",\"readFileSync\",\"readdirSync\",\"readlinkSync\",\"realpathSync\",\"renameSync\",\"rmdirSync\",\"statSync\",\"symlinkSync\",\"truncateSync\",\"ftruncateSync\",\"unlinkSync\",\"unwatchFile\",\"utimesSync\",\"watch\",\"watchFile\",\"writeFileSync\",\"writeSync\"]),Y1=new Set([\"accessPromise\",\"appendFilePromise\",\"fchmodPromise\",\"chmodPromise\",\"fchownPromise\",\"chownPromise\",\"closePromise\",\"copyFilePromise\",\"linkPromise\",\"fstatPromise\",\"lstatPromise\",\"lutimesPromise\",\"mkdirPromise\",\"openPromise\",\"opendirPromise\",\"readdirPromise\",\"realpathPromise\",\"readFilePromise\",\"readdirPromise\",\"readlinkPromise\",\"renamePromise\",\"rmdirPromise\",\"statPromise\",\"symlinkPromise\",\"truncatePromise\",\"ftruncatePromise\",\"unlinkPromise\",\"utimesPromise\",\"writeFilePromise\",\"writeSync\"]);function lS(r,e){e=new JE(e);let t=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Eg.promisify.custom])<\"u\"&&(s[Eg.promisify.custom]=o[Eg.promisify.custom])};{t(r,\"exists\",(i,...n)=>{let o=typeof n[n.length-1]==\"function\"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),t(r,\"read\",(...i)=>{let[n,s,o,a,l,c]=i;if(i.length<=3){let u={};i.length<3?c=i[1]:(u=i[1],c=i[2]),{buffer:s=Buffer.alloc(16384),offset:o=0,length:a=s.byteLength,position:l}=u}if(o==null&&(o=0),a|=0,a===0){process.nextTick(()=>{c(null,0,s)});return}l==null&&(l=-1),process.nextTick(()=>{e.readPromise(n,s,o,a,l).then(u=>{c(null,u,s)},u=>{c(u,0,s)})})});for(let i of Y1){let n=i.replace(/Promise$/,\"\");if(typeof r[n]>\"u\")continue;let s=e[i];if(typeof s>\"u\")continue;t(r,n,(...a)=>{let c=typeof a[a.length-1]==\"function\"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}r.realpath.native=r.realpath}{t(r,\"existsSync\",i=>{try{return e.existsSync(i)}catch{return!1}}),t(r,\"readSync\",(...i)=>{let[n,s,o,a,l]=i;return i.length<=3&&({offset:o=0,length:a=s.byteLength,position:l}=i[2]||{}),o==null&&(o=0),a|=0,a===0?0:(l==null&&(l=-1),e.readSync(n,s,o,a,l))});for(let i of lge){let n=i;if(typeof r[n]>\"u\")continue;let s=e[i];typeof s>\"u\"||t(r,n,s.bind(e))}r.realpathSync.native=r.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=r.promises}finally{process.emitWarning=i}if(typeof n<\"u\"){for(let s of Y1){let o=s.replace(/Promise$/,\"\");if(typeof n[o]>\"u\")continue;let a=e[s];typeof a>\"u\"||s!==\"open\"&&t(n,o,(l,...c)=>l instanceof Np?l[o].apply(l,c):a.call(e,l,...c))}t(n,\"open\",async(...s)=>{let o=await e.openPromise(...s);return new Np(o,e)})}}r.read[Eg.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n}),r.write[Eg.promisify.custom]=async(i,n,...s)=>({bytesWritten:await e.writePromise(i,n,...s),buffer:n})}function XE(r,e){let t=Object.create(r);return lS(t,e),t}var J1=Pe(J(\"os\"));function j1(r){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,\"0\");return`${r}${e}`}var qs=new Set,cS=null;function q1(){if(cS)return cS;let r=K.toPortablePath(J1.default.tmpdir()),e=M.realpathSync(r);return process.once(\"exit\",()=>{M.rmtempSync()}),cS={tmpdir:r,realTmpdir:e}}var M=Object.assign(new $t,{detachTemp(r){qs.delete(r)},mktempSync(r){let{tmpdir:e,realTmpdir:t}=q1();for(;;){let i=j1(\"xfs-\");try{this.mkdirSync(x.join(e,i))}catch(s){if(s.code===\"EEXIST\")continue;throw s}let n=x.join(t,i);if(qs.add(n),typeof r>\"u\")return n;try{return r(n)}finally{if(qs.has(n)){qs.delete(n);try{this.removeSync(n)}catch{}}}}},async mktempPromise(r){let{tmpdir:e,realTmpdir:t}=q1();for(;;){let i=j1(\"xfs-\");try{await this.mkdirPromise(x.join(e,i))}catch(s){if(s.code===\"EEXIST\")continue;throw s}let n=x.join(t,i);if(qs.add(n),typeof r>\"u\")return n;try{return await r(n)}finally{if(qs.has(n)){qs.delete(n);try{await this.removePromise(n)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(qs.values()).map(async r=>{try{await M.removePromise(r,{maxRetries:0}),qs.delete(r)}catch{}}))},rmtempSync(){for(let r of qs)try{M.removeSync(r),qs.delete(r)}catch{}}});var _D=Pe(IS());var Yp={};ut(Yp,{parseResolution:()=>rI,parseShell:()=>$E,parseSyml:()=>Ii,stringifyArgument:()=>QS,stringifyArgumentSegment:()=>bS,stringifyArithmeticExpression:()=>tI,stringifyCommand:()=>BS,stringifyCommandChain:()=>Bg,stringifyCommandChainThen:()=>wS,stringifyCommandLine:()=>eI,stringifyCommandLineThen:()=>yS,stringifyEnvSegment:()=>ZE,stringifyRedirectArgument:()=>Tp,stringifyResolution:()=>iI,stringifyShell:()=>wg,stringifyShellLine:()=>wg,stringifySyml:()=>Ca,stringifyValueArgument:()=>Kl});var TK=Pe(LK());function $E(r,e={isGlobPattern:()=>!1}){try{return(0,TK.parse)(r,e)}catch(t){throw t.location&&(t.message=t.message.replace(/(\\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function wg(r,{endSemicolon:e=!1}={}){return r.map(({command:t,type:i},n)=>`${eI(t)}${i===\";\"?n!==r.length-1||e?\";\":\"\":\" &\"}`).join(\" \")}function eI(r){return`${Bg(r.chain)}${r.then?` ${yS(r.then)}`:\"\"}`}function yS(r){return`${r.type} ${eI(r.line)}`}function Bg(r){return`${BS(r)}${r.then?` ${wS(r.then)}`:\"\"}`}function wS(r){return`${r.type} ${Bg(r.chain)}`}function BS(r){switch(r.type){case\"command\":return`${r.envs.length>0?`${r.envs.map(e=>ZE(e)).join(\" \")} `:\"\"}${r.args.map(e=>QS(e)).join(\" \")}`;case\"subshell\":return`(${wg(r.subshell)})${r.args.length>0?` ${r.args.map(e=>Tp(e)).join(\" \")}`:\"\"}`;case\"group\":return`{ ${wg(r.group,{endSemicolon:!0})} }${r.args.length>0?` ${r.args.map(e=>Tp(e)).join(\" \")}`:\"\"}`;case\"envs\":return r.envs.map(e=>ZE(e)).join(\" \");default:throw new Error(`Unsupported command type:  \"${r.type}\"`)}}function ZE(r){return`${r.name}=${r.args[0]?Kl(r.args[0]):\"\"}`}function QS(r){switch(r.type){case\"redirection\":return Tp(r);case\"argument\":return Kl(r);default:throw new Error(`Unsupported argument type: \"${r.type}\"`)}}function Tp(r){return`${r.subtype} ${r.args.map(e=>Kl(e)).join(\" \")}`}function Kl(r){return r.segments.map(e=>bS(e)).join(\"\")}function bS(r){let e=(i,n)=>n?`\"${i}\"`:i,t=i=>i===\"\"?'\"\"':i.match(/[(){}<>$|&; \\t\"']/)?`$'${i.replace(/\\\\/g,\"\\\\\\\\\").replace(/'/g,\"\\\\'\").replace(/\\f/g,\"\\\\f\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/\\t/g,\"\\\\t\").replace(/\\v/g,\"\\\\v\").replace(/\\0/g,\"\\\\0\")}'`:i;switch(r.type){case\"text\":return t(r.text);case\"glob\":return r.pattern;case\"shell\":return e(`\\${${wg(r.shell)}}`,r.quoted);case\"variable\":return e(typeof r.defaultValue>\"u\"?typeof r.alternativeValue>\"u\"?`\\${${r.name}}`:r.alternativeValue.length===0?`\\${${r.name}:+}`:`\\${${r.name}:+${r.alternativeValue.map(i=>Kl(i)).join(\" \")}}`:r.defaultValue.length===0?`\\${${r.name}:-}`:`\\${${r.name}:-${r.defaultValue.map(i=>Kl(i)).join(\" \")}}`,r.quoted);case\"arithmetic\":return`$(( ${tI(r.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: \"${r.type}\"`)}}function tI(r){let e=n=>{switch(n){case\"addition\":return\"+\";case\"subtraction\":return\"-\";case\"multiplication\":return\"*\";case\"division\":return\"/\";default:throw new Error(`Can't extract operator from arithmetic expression of type \"${n}\"`)}},t=(n,s)=>s?`( ${n} )`:n,i=n=>t(tI(n),![\"number\",\"variable\"].includes(n.type));switch(r.type){case\"number\":return String(r.value);case\"variable\":return r.name;default:return`${i(r.left)} ${e(r.type)} ${i(r.right)}`}}var KK=Pe(MK());function rI(r){let e=r.match(/^\\*{1,2}\\/(.*)/);if(e)throw new Error(`The override for '${r}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,KK.parse)(r)}catch(t){throw t.location&&(t.message=t.message.replace(/(\\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function iI(r){let e=\"\";return r.from&&(e+=r.from.fullName,r.from.description&&(e+=`@${r.from.description}`),e+=\"/\"),e+=r.descriptor.fullName,r.descriptor.description&&(e+=`@${r.descriptor.description}`),e}var pI=Pe(P2()),N2=Pe(k2()),mpe=/^(?![-?:,\\][{}#&*!|>'\"%@` \\t\\r\\n]).([ \\t]*(?![,\\][{}:# \\t\\r\\n]).)*$/,R2=[\"__metadata\",\"version\",\"resolution\",\"dependencies\",\"peerDependencies\",\"dependenciesMeta\",\"peerDependenciesMeta\",\"binaries\"],hI=class{constructor(e){this.data=e}};function F2(r){return r.match(mpe)?r:JSON.stringify(r)}function L2(r){return typeof r>\"u\"?!0:typeof r==\"object\"&&r!==null?Object.keys(r).every(e=>L2(r[e])):!1}function MS(r,e,t){if(r===null)return`null\n`;if(typeof r==\"number\"||typeof r==\"boolean\")return`${r.toString()}\n`;if(typeof r==\"string\")return`${F2(r)}\n`;if(Array.isArray(r)){if(r.length===0)return`[]\n`;let i=\"  \".repeat(e);return`\n${r.map(s=>`${i}- ${MS(s,e+1,!1)}`).join(\"\")}`}if(typeof r==\"object\"&&r){let i,n;r instanceof hI?(i=r.data,n=!1):(i=r,n=!0);let s=\"  \".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=R2.indexOf(l),g=R2.indexOf(c);return u===-1&&g===-1?l<c?-1:l>c?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!L2(i[l])).map((l,c)=>{let u=i[l],g=F2(l),f=MS(u,e+1,!0),h=c>0||t?s:\"\",p=g.length>1024?`? ${g}\n${h}:`:`${g}:`,C=f.startsWith(`\n`)?f:` ${f}`;return`${h}${p}${C}`}).join(e===0?`\n`:\"\")||`\n`;return t?`\n${a}`:`${a}`}throw new Error(`Unsupported value type (${r})`)}function Ca(r){try{let e=MS(r,0,!1);return e!==`\n`?e:\"\"}catch(e){throw e.location&&(e.message=e.message.replace(/(\\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}Ca.PreserveOrdering=hI;function Epe(r){return r.endsWith(`\n`)||(r+=`\n`),(0,N2.parse)(r)}var Ipe=/^(#.*(\\r?\\n))*?#\\s+yarn\\s+lockfile\\s+v1\\r?\\n/i;function ype(r){if(Ipe.test(r))return Epe(r);let e=(0,pI.safeLoad)(r,{schema:pI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!=\"object\")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error(\"Expected an indexed object, got an array instead. Does your file follow Yaml's rules?\");return e}function Ii(r){return ype(r)}var H8=Pe(O2()),Sw=Pe(Vl());var $p={};ut($p,{Builtins:()=>$S,Cli:()=>Kn,Command:()=>ve,Option:()=>z,UsageError:()=>be,formatMarkdownish:()=>Ni});var US=\"\u0001\",yi=\"\\0\";var HS=/^(-h|--help)(?:=([0-9]+))?$/,dI=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,H2=/^-[a-zA-Z]{2,}$/,GS=/^([^=]+)=([\\s\\S]*)$/,YS=process.env.DEBUG_CLI===\"1\";var be=class extends Error{constructor(e){super(e),this.clipanion={type:\"usage\"},this.name=\"UsageError\"}},kg=class extends Error{constructor(e,t){if(super(),this.input=e,this.candidates=t,this.clipanion={type:\"none\"},this.name=\"UnknownSyntaxError\",this.candidates.length===0)this.message=\"Command not found, but we're not sure what's the alternative.\";else if(this.candidates.every(i=>i.reason!==null&&i.reason===t[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i}\n\n${this.candidates.map(({usage:n})=>`$ ${n}`).join(`\n`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean:\n\n$ ${i}\n${jS(e)}`}else this.message=`Command not found; did you mean one of:\n\n${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(`\n`)}\n\n${jS(e)}`}},CI=class extends Error{constructor(e,t){super(),this.input=e,this.usages=t,this.clipanion={type:\"none\"},this.name=\"AmbiguousSyntaxError\",this.message=`Cannot find which to pick amongst the following alternatives:\n\n${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(`\n`)}\n\n${jS(e)}`}},jS=r=>`While running ${r.filter(e=>e!==yi).map(e=>{let t=JSON.stringify(e);return e.match(/\\s/)||e.length===0||t!==`\"${e}\"`?t:e}).join(\" \")}`;var jp=Symbol(\"clipanion/isOption\");function Ji(r){return{...r,[jp]:!0}}function bo(r,e){return typeof r>\"u\"?[r,e]:typeof r==\"object\"&&r!==null&&!Array.isArray(r)?[void 0,r]:[r,e]}function mI(r,e=!1){let t=r.replace(/^\\.: /,\"\");return e&&(t=t[0].toLowerCase()+t.slice(1)),t}function qp(r,e){return e.length===1?new be(`${r}: ${mI(e[0],!0)}`):new be(`${r}:\n${e.map(t=>`\n- ${mI(t)}`).join(\"\")}`)}function Jp(r,e,t){if(typeof t>\"u\")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!t(e,{errors:i,coercions:n,coercion:s}))throw qp(`Invalid value for ${r}`,i);for(let[,a]of n)a();return e}var ve=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let t=this.constructor.schema;if(Array.isArray(t)){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(ns(),gn)),a=o(n(s()),t),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw qp(\"Invalid option schema\",l);for(let[,g]of c)g()}else if(t!=null)throw new Error(\"Invalid command schema\");let i=await this.execute();return typeof i<\"u\"?i:0}};ve.isOption=jp;ve.Default=[];var WS=Array(80).fill(\"\\u2501\");for(let r=0;r<=24;++r)WS[WS.length-r]=`\\x1B[38;5;${232+r}m\\u2501`;var zS={header:r=>`\\x1B[1m\\u2501\\u2501\\u2501 ${r}${r.length<80-5?` ${WS.slice(r.length+5).join(\"\")}`:\":\"}\\x1B[0m`,bold:r=>`\\x1B[1m${r}\\x1B[22m`,error:r=>`\\x1B[31m\\x1B[1m${r}\\x1B[22m\\x1B[39m`,code:r=>`\\x1B[36m${r}\\x1B[39m`},_2={header:r=>r,bold:r=>r,error:r=>r,code:r=>r};function nde(r){let e=r.split(`\n`),t=e.filter(n=>n.match(/\\S/)),i=t.length>0?t.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(`\n`)}function Ni(r,{format:e,paragraphs:t}){return r=r.replace(/\\r\\n?/g,`\n`),r=nde(r),r=r.replace(/^\\n+|\\n+$/g,\"\"),r=r.replace(/^(\\s*)-([^\\n]*?)\\n+/gm,`$1-$2\n\n`),r=r.replace(/\\n(\\n)?\\n*/g,\"$1\"),t&&(r=r.split(/\\n/).map(i=>{let n=i.match(/^\\s*[*-][\\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(`\n`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,\"g\")).map((o,a)=>\" \".repeat(s)+(a===0?\"- \":\"  \")+o).join(`\n`)}).join(`\n\n`)),r=r.replace(/(`+)((?:.|[\\n])*?)\\1/g,(i,n,s)=>e.code(n+s+n)),r=r.replace(/(\\*\\*)((?:.|[\\n])*?)\\1/g,(i,n,s)=>e.bold(n+s+n)),r?`${r}\n`:\"\"}var ZS=Pe(J(\"tty\"),1);function fn(r){YS&&console.log(r)}var Z2={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:-1};function $2(){return{nodes:[zi(),zi(),zi()]}}function sde(r){let e=$2(),t=[],i=e.nodes.length;for(let n of r){t.push(i);for(let s=0;s<n.nodes.length;++s)rH(s)||e.nodes.push(hde(n.nodes[s],i));i+=n.nodes.length-2}for(let n of t)Rg(e,0,n);return e}function Js(r,e){return r.nodes.push(e),r.nodes.length-1}function ode(r){let e=new Set,t=i=>{if(e.has(i))return;e.add(i);let n=r.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)t(a);for(let[,{to:o}]of n.dynamics)t(o);for(let{to:o}of n.shortcuts)t(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=r.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};t(0)}function ade(r,{prefix:e=\"\"}={}){if(YS){fn(`${e}Nodes are:`);for(let t=0;t<r.nodes.length;++t)fn(`${e}  ${t}: ${JSON.stringify(r.nodes[t])}`)}}function eH(r,e,t=!1){fn(`Running a vm on ${JSON.stringify(e)}`);let i=[{node:0,state:{candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,options:[],path:[],positionals:[],remainder:null,selectedIndex:null}}];ade(r,{prefix:\"  \"});let n=[US,...e];for(let s=0;s<n.length;++s){let o=n[s];fn(`  Processing ${JSON.stringify(o)}`);let a=[];for(let{node:l,state:c}of i){fn(`    Current node is ${l}`);let u=r.nodes[l];if(l===2){a.push({node:l,state:c});continue}console.assert(u.shortcuts.length===0,\"Shortcuts should have been eliminated by now\");let g=Object.prototype.hasOwnProperty.call(u.statics,o);if(!t||s<n.length-1||g)if(g){let f=u.statics[o];for(let{to:h,reducer:p}of f)a.push({node:h,state:typeof p<\"u\"?II(XS,p,c,o):c}),fn(`      Static transition to ${h} found`)}else fn(\"      No static transition found\");else{let f=!1;for(let h of Object.keys(u.statics))if(!!h.startsWith(o)){if(o===h)for(let{to:p,reducer:C}of u.statics[h])a.push({node:p,state:typeof C<\"u\"?II(XS,C,c,o):c}),fn(`      Static transition to ${p} found`);else for(let{to:p}of u.statics[h])a.push({node:p,state:{...c,remainder:h.slice(o.length)}}),fn(`      Static transition to ${p} found (partial match)`);f=!0}f||fn(\"      No partial static transition found\")}if(o!==yi)for(let[f,{to:h,reducer:p}]of u.dynamics)II(wI,f,c,o)&&(a.push({node:h,state:typeof p<\"u\"?II(XS,p,c,o):c}),fn(`      Dynamic transition to ${h} found (via ${f})`))}if(a.length===0&&o===yi&&e.length===1)return[{node:0,state:Z2}];if(a.length===0)throw new kg(e,i.filter(({node:l})=>l!==2).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===2))throw new kg(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=ude(a)}if(i.length>0){fn(\"  Results:\");for(let s of i)fn(`    - ${s.node} -> ${JSON.stringify(s.state)}`)}else fn(\"  No results\");return i}function Ade(r,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(r.statics,yi)){for(let{to:t}of r.statics[yi])if(t===1)return!0}return!1}function lde(r,e,t){let i=t&&e.length>0?[\"\"]:[],n=eH(r,e,t),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let C=r.nodes[p],y=Object.keys(C.statics);for(let B of Object.keys(C.statics)){let v=y[0];for(let{to:D,reducer:L}of C.statics[v])L===\"pushPath\"&&(u||l.push(v),g.push(D))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=r.nodes[l],g=Ade(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==yi||!f.startsWith(\"-\")&&h.some(({reducer:p})=>p===\"pushPath\"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===2)continue;let p=pde(f,c);if(p!==null)for(let C of p)a([...i,C],l)}}return[...s].sort()}function cde(r,e){let t=eH(r,[...e,yi]);return gde(e,t.map(({state:i})=>i))}function ude(r){let e=0;for(let{state:t}of r)t.path.length>e&&(e=t.path.length);return r.filter(({state:t})=>t.path.length===e)}function gde(r,e){let t=e.filter(g=>g.selectedIndex!==null);if(t.length===0)throw new Error;let i=t.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new kg(r,t.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=fde(c);if(u.length>1)throw new CI(r,u.map(g=>g.candidateUsage));return u[0]}function fde(r){let e=[],t=[];for(let i of r)i.selectedIndex===-1?t.push(i):e.push(i);return t.length>0&&e.push({...Z2,path:tH(...t.map(i=>i.path)),options:t.reduce((i,n)=>i.concat(n.options),[])}),e}function tH(r,e,...t){return e===void 0?Array.from(r):tH(r.filter((i,n)=>i===e[n]),...t)}function zi(){return{dynamics:[],shortcuts:[],statics:{}}}function rH(r){return r===1||r===2}function VS(r,e=0){return{to:rH(r.to)?r.to:r.to>2?r.to+e-2:r.to+e,reducer:r.reducer}}function hde(r,e=0){let t=zi();for(let[i,n]of r.dynamics)t.dynamics.push([i,VS(n,e)]);for(let i of r.shortcuts)t.shortcuts.push(VS(i,e));for(let[i,n]of Object.entries(r.statics))t.statics[i]=n.map(s=>VS(s,e));return t}function wi(r,e,t,i,n){r.nodes[e].dynamics.push([t,{to:i,reducer:n}])}function Rg(r,e,t,i){r.nodes[e].shortcuts.push({to:t,reducer:i})}function ma(r,e,t,i,n){(Object.prototype.hasOwnProperty.call(r.nodes[e].statics,t)?r.nodes[e].statics[t]:r.nodes[e].statics[t]=[]).push({to:i,reducer:n})}function II(r,e,t,i){if(Array.isArray(e)){let[n,...s]=e;return r[n](t,i,...s)}else return r[e](t,i)}function pde(r,e){let t=Array.isArray(r)?wI[r[0]]:wI[r];if(typeof t.suggest>\"u\")return null;let i=Array.isArray(r)?r.slice(1):[];return t.suggest(e,...i)}var wI={always:()=>!0,isOptionLike:(r,e)=>!r.ignoreOptions&&e!==\"-\"&&e.startsWith(\"-\"),isNotOptionLike:(r,e)=>r.ignoreOptions||e===\"-\"||!e.startsWith(\"-\"),isOption:(r,e,t,i)=>!r.ignoreOptions&&e===t,isBatchOption:(r,e,t)=>!r.ignoreOptions&&H2.test(e)&&[...e.slice(1)].every(i=>t.includes(`-${i}`)),isBoundOption:(r,e,t,i)=>{let n=e.match(GS);return!r.ignoreOptions&&!!n&&dI.test(n[1])&&t.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(r,e,t)=>!r.ignoreOptions&&e===`--no-${t.slice(2)}`,isHelp:(r,e)=>!r.ignoreOptions&&HS.test(e),isUnsupportedOption:(r,e,t)=>!r.ignoreOptions&&e.startsWith(\"-\")&&dI.test(e)&&!t.includes(e),isInvalidOption:(r,e)=>!r.ignoreOptions&&e.startsWith(\"-\")&&!dI.test(e)};wI.isOption.suggest=(r,e,t=!0)=>t?null:[e];var XS={setCandidateState:(r,e,t)=>({...r,...t}),setSelectedIndex:(r,e,t)=>({...r,selectedIndex:t}),pushBatch:(r,e)=>({...r,options:r.options.concat([...e.slice(1)].map(t=>({name:`-${t}`,value:!0})))}),pushBound:(r,e)=>{let[,t,i]=e.match(GS);return{...r,options:r.options.concat({name:t,value:i})}},pushPath:(r,e)=>({...r,path:r.path.concat(e)}),pushPositional:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:!1})}),pushExtra:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:Mn})}),pushTrue:(r,e,t=e)=>({...r,options:r.options.concat({name:e,value:!0})}),pushFalse:(r,e,t=e)=>({...r,options:r.options.concat({name:t,value:!1})}),pushUndefined:(r,e)=>({...r,options:r.options.concat({name:e,value:void 0})}),pushStringValue:(r,e)=>{var t;let i={...r,options:[...r.options]},n=r.options[r.options.length-1];return n.value=((t=n.value)!==null&&t!==void 0?t:[]).concat([e]),i},setStringValue:(r,e)=>{let t={...r,options:[...r.options]},i=r.options[r.options.length-1];return i.value=e,t},inhibateOptions:r=>({...r,ignoreOptions:!0}),useHelp:(r,e,t)=>{let[,,i]=e.match(HS);return typeof i<\"u\"?{...r,options:[{name:\"-c\",value:String(t)},{name:\"-i\",value:i}]}:{...r,options:[{name:\"-c\",value:String(t)}]}},setError:(r,e,t)=>e===yi?{...r,errorMessage:`${t}.`}:{...r,errorMessage:`${t} (\"${e}\").`},setOptionArityError:(r,e)=>{let t=r.options[r.options.length-1];return{...r,errorMessage:`Not enough arguments to option ${t.name}.`}}},Mn=Symbol(),_S=class{constructor(e,t){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=t}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:t=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:t,extra:i,proxy:n})}addPositional({name:e=\"arg\",required:t=!0}={}){if(!t&&this.arity.extra===Mn)throw new Error(\"Optional parameters cannot be declared when using .rest() or .proxy()\");if(!t&&this.arity.trailing.length>0)throw new Error(\"Optional parameters cannot be declared after the required trailing positional arguments\");!t&&this.arity.extra!==Mn?this.arity.extra.push(e):this.arity.extra!==Mn&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e=\"arg\",required:t=0}={}){if(this.arity.extra===Mn)throw new Error(\"Infinite lists cannot be declared multiple times in the same command\");if(this.arity.trailing.length>0)throw new Error(\"Infinite lists cannot be declared after the required trailing positional arguments\");for(let i=0;i<t;++i)this.addPositional({name:e});this.arity.extra=Mn}addProxy({required:e=0}={}){this.addRest({required:e}),this.arity.proxy=!0}addOption({names:e,description:t,arity:i=0,hidden:n=!1,required:s=!1,allowBinding:o=!0}){if(!o&&i>1)throw new Error(\"The arity cannot be higher than 1 when the option only supports the --arg=value syntax\");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:t,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:t=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h<a;++h)g.push(` #${h}`);let f=`${o.join(\",\")}${g.join(\"\")}`;!t&&c?n.push({definition:f,description:c,required:u}):i.push(u?`<${f}>`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Mn?i.push(\"...\"):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(\" \"),options:n}}compile(){if(typeof this.context>\"u\")throw new Error(\"Assertion failed: No context attached\");let e=$2(),t=0,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);t=Js(e,zi()),ma(e,0,US,t,[\"setCandidateState\",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?\"always\":\"isNotOptionLike\",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=t;if(a.length>0){let f=Js(e,zi());Rg(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f<a.length;++f){let h=Js(e,zi());ma(e,l,a[f],h,\"pushPath\"),l=h}if(this.arity.leading.length>0||!this.arity.proxy){let f=Js(e,zi());wi(e,l,\"isHelp\",f,[\"useHelp\",this.cliIndex]),ma(e,f,yi,1,[\"setSelectedIndex\",-1]),this.registerOptions(e,l)}this.arity.leading.length>0&&ma(e,l,yi,2,[\"setError\",\"Not enough positional arguments\"]);let c=l;for(let f=0;f<this.arity.leading.length;++f){let h=Js(e,zi());this.arity.proxy||this.registerOptions(e,h),(this.arity.trailing.length>0||f+1!==this.arity.leading.length)&&ma(e,h,yi,2,[\"setError\",\"Not enough positional arguments\"]),wi(e,c,\"isNotOptionLike\",h,\"pushPositional\"),c=h}let u=c;if(this.arity.extra===Mn||this.arity.extra.length>0){let f=Js(e,zi());if(Rg(e,c,f),this.arity.extra===Mn){let h=Js(e,zi());this.arity.proxy||this.registerOptions(e,h),wi(e,c,s,h,\"pushExtraNoLimits\"),wi(e,h,s,h,\"pushExtraNoLimits\"),Rg(e,h,f)}else for(let h=0;h<this.arity.extra.length;++h){let p=Js(e,zi());this.arity.proxy||this.registerOptions(e,p),wi(e,u,s,p,\"pushExtra\"),Rg(e,p,f),u=p}u=f}this.arity.trailing.length>0&&ma(e,u,yi,2,[\"setError\",\"Not enough positional arguments\"]);let g=u;for(let f=0;f<this.arity.trailing.length;++f){let h=Js(e,zi());this.arity.proxy||this.registerOptions(e,h),f+1<this.arity.trailing.length&&ma(e,h,yi,2,[\"setError\",\"Not enough positional arguments\"]),wi(e,g,\"isNotOptionLike\",h,\"pushPositional\"),g=h}wi(e,g,s,2,[\"setError\",\"Extraneous positional argument\"]),ma(e,g,yi,1,[\"setSelectedIndex\",this.cliIndex])}return{machine:e,context:this.context}}registerOptions(e,t){wi(e,t,[\"isOption\",\"--\"],t,\"inhibateOptions\"),wi(e,t,[\"isBatchOption\",this.allOptionNames],t,\"pushBatch\"),wi(e,t,[\"isBoundOption\",this.allOptionNames,this.options],t,\"pushBound\"),wi(e,t,[\"isUnsupportedOption\",this.allOptionNames],2,[\"setError\",\"Unsupported option name\"]),wi(e,t,[\"isInvalidOption\"],2,[\"setError\",\"Invalid option name\"]);for(let i of this.options){let n=i.names.reduce((s,o)=>o.length>s.length?o:s,\"\");if(i.arity===0)for(let s of i.names)wi(e,t,[\"isOption\",s,i.hidden||s!==n],t,\"pushTrue\"),s.startsWith(\"--\")&&!s.startsWith(\"--no-\")&&wi(e,t,[\"isNegatedOption\",s],t,[\"pushFalse\",s]);else{let s=Js(e,zi());for(let o of i.names)wi(e,t,[\"isOption\",o,i.hidden||o!==n],s,\"pushUndefined\");for(let o=0;o<i.arity;++o){let a=Js(e,zi());ma(e,s,yi,2,\"setOptionArityError\"),wi(e,s,\"isOptionLike\",2,\"setOptionArityError\");let l=i.arity===1?\"setStringValue\":\"pushStringValue\";wi(e,s,\"isNotOptionLike\",a,l),s=a}Rg(e,s,t)}}}},Ng=class{constructor({binaryName:e=\"...\"}={}){this.builders=[],this.opts={binaryName:e}}static build(e,t={}){return new Ng(t).commands(e).compile()}getBuilderByIndex(e){if(!(e>=0&&e<this.builders.length))throw new Error(`Assertion failed: Out-of-bound command index (${e})`);return this.builders[e]}commands(e){for(let t of e)t(this.command());return this}command(){let e=new _S(this.builders.length,this.opts);return this.builders.push(e),e}compile(){let e=[],t=[];for(let n of this.builders){let{machine:s,context:o}=n.compile();e.push(s),t.push(o)}let i=sde(e);return ode(i),{machine:i,contexts:t,process:n=>cde(i,n),suggest:(n,s)=>lde(i,n,s)}}};var Lg=class extends ve{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,t){let i=new Lg(t);i.path=e.path;for(let n of e.options)switch(n.name){case\"-c\":i.commands.push(Number(n.value));break;case\"-i\":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index<\"u\"&&this.index>=0&&this.index<e.length&&(e=[e[this.index]]),e.length===0)this.context.stdout.write(this.cli.usage());else if(e.length===1)this.context.stdout.write(this.cli.usage(this.contexts[e[0]].commandClass,{detailed:!0}));else if(e.length>1){this.context.stdout.write(`Multiple commands match your selection:\n`),this.context.stdout.write(`\n`);let t=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${t++}. `.padStart(5)}));this.context.stdout.write(`\n`),this.context.stdout.write(`Run again with -h=<index> to see the longer details of any of those commands.\n`)}}};var iH=Symbol(\"clipanion/errorCommand\");function dde(){return process.env.FORCE_COLOR===\"0\"?1:process.env.FORCE_COLOR===\"1\"||typeof process.stdout<\"u\"&&process.stdout.isTTY?8:1}var Kn=class{constructor({binaryLabel:e,binaryName:t=\"...\",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new Ng({binaryName:t}),this.binaryLabel=e,this.binaryName=t,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,t={}){let i=new Kn(t);for(let n of e)i.register(n);return i}register(e){var t;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c==\"object\"&&c!==null&&c[ve.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(t=e.paths)!==null&&t!==void 0?t:n.paths;if(typeof a<\"u\")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:t,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case-1:return Lg.from(n,t);default:{let{commandClass:s}=t[n.selectedIndex],o=this.registrations.get(s);if(typeof o>\"u\")throw new Error(\"Assertion failed: Expected the command class to have been registered.\");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[iH]=a,l}}break}}async run(e,t){var i;let n,s={...Kn.defaultContext,...t},o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,{...s,...u}),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?Cde(s):sH,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,t){process.exitCode=await this.run(e,t)}suggest(e,t){let{suggest:i}=this.builder.compile();return i(e,t)}definitions({colored:e=!1}={}){let t=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage>\"u\")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category<\"u\"?Ni(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description<\"u\"?Ni(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details<\"u\"?Ni(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples<\"u\"?i.usage.examples.map(([f,h])=>[Ni(f,{format:this.format(e),paragraphs:!1}),h.replace(/\\$0/g,this.binaryName)]):void 0;t.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return t}usage(e=null,{colored:t,detailed:i=!1,prefix:n=\"$ \"}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage<\"u\";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof ve?e.constructor:e,a=\"\";if(o)if(i){let{description:l=\"\",details:c=\"\",examples:u=[]}=o.usage||{};l!==\"\"&&(a+=Ni(l,{format:this.format(t),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=`\n`),(c!==\"\"||u.length>0)&&(a+=`${this.format(t).header(\"Usage\")}\n`,a+=`\n`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(t).bold(n)}${g}\n`,f.length>0){a+=`\n`,a+=`${zS.header(\"Options\")}\n`;let h=f.reduce((p,C)=>Math.max(p,C.definition.length),0);a+=`\n`;for(let{definition:p,description:C}of f)a+=`  ${this.format(t).bold(p.padEnd(h))}    ${Ni(C,{format:this.format(t),paragraphs:!1})}`}if(c!==\"\"&&(a+=`\n`,a+=`${this.format(t).header(\"Details\")}\n`,a+=`\n`,a+=Ni(c,{format:this.format(t),paragraphs:!0})),u.length>0){a+=`\n`,a+=`${this.format(t).header(\"Examples\")}\n`;for(let[h,p]of u)a+=`\n`,a+=Ni(h,{format:this.format(t),paragraphs:!1}),a+=`${p.replace(/^/m,`  ${this.format(t).bold(n)}`).replace(/\\$0/g,this.binaryName)}\n`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(t).bold(n)}${l}\n`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage>\"u\")continue;let p=typeof f.usage.category<\"u\"?Ni(f.usage.category,{format:this.format(t),paragraphs:!1}):null,C=l.get(p);typeof C>\"u\"&&l.set(p,C=[]);let{usage:y}=this.getUsageByIndex(h);C.push({commandClass:f,usage:y})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,\"en\",{usage:\"sort\",caseFirst:\"upper\"})),u=typeof this.binaryLabel<\"u\",g=typeof this.binaryVersion<\"u\";u||g?(u&&g?a+=`${this.format(t).header(`${this.binaryLabel} - ${this.binaryVersion}`)}\n\n`:u?a+=`${this.format(t).header(`${this.binaryLabel}`)}\n`:a+=`${this.format(t).header(`${this.binaryVersion}`)}\n`,a+=`  ${this.format(t).bold(n)}${this.binaryName} <command>\n`):a+=`${this.format(t).bold(n)}${this.binaryName} <command>\n`;for(let f of c){let h=l.get(f).slice().sort((C,y)=>C.usage.localeCompare(y.usage,\"en\",{usage:\"sort\",caseFirst:\"upper\"})),p=f!==null?f.trim():\"General commands\";a+=`\n`,a+=`${this.format(t).header(`${p}`)}\n`;for(let{commandClass:C,usage:y}of h){let B=C.usage.description||\"undocumented\";a+=`\n`,a+=`  ${this.format(t).bold(y)}\n`,a+=`    ${Ni(B,{format:this.format(t),paragraphs:!1})}`}}a+=`\n`,a+=Ni(\"You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.\",{format:this.format(t),paragraphs:!0})}return a}error(e,t){var i,{colored:n,command:s=(i=e[iH])!==null&&i!==void 0?i:null}=t===void 0?{}:t;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o=\"\",a=e.name.replace(/([a-z])([A-Z])/g,\"$1 $2\");a===\"Error\"&&(a=\"Internal Error\"),o+=`${this.format(n).error(a)}: ${e.message}\n`;let l=e.clipanion;return typeof l<\"u\"?l.type===\"usage\"&&(o+=`\n`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\\n/,\"\")}\n`),o}format(e){var t;return((t=e!=null?e:this.enableColors)!==null&&t!==void 0?t:Kn.defaultContext.colorDepth>1)?zS:_2}getUsageByRegistration(e,t){let i=this.registrations.get(e);if(typeof i>\"u\")throw new Error(\"Assertion failed: Unregistered command\");return this.getUsageByIndex(i.index,t)}getUsageByIndex(e,t){return this.builder.getBuilderByIndex(e).usage(t)}};Kn.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:\"getColorDepth\"in ZS.default.WriteStream.prototype?ZS.default.WriteStream.prototype.getColorDepth():dde()};var nH;function Cde(r){let e=nH;if(typeof e>\"u\"){if(r.stdout===process.stdout&&r.stderr===process.stderr)return sH;let{AsyncLocalStorage:t}=J(\"async_hooks\");e=nH=new t;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l>\"u\"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l>\"u\"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return t=>e.run(r,t)}function sH(r){return r()}var $S={};ut($S,{DefinitionsCommand:()=>Xp,HelpCommand:()=>_p,VersionCommand:()=>Zp});var Xp=class extends ve{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)}\n`)}};Xp.paths=[[\"--clipanion=definitions\"]];var _p=class extends ve{async execute(){this.context.stdout.write(this.cli.usage())}};_p.paths=[[\"-h\"],[\"--help\"]];var Zp=class extends ve{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:\"<unknown>\"}\n`)}};Zp.paths=[[\"-v\"],[\"--version\"]];var z={};ut(z,{Array:()=>oH,Boolean:()=>aH,Counter:()=>AH,Proxy:()=>lH,Rest:()=>cH,String:()=>uH,applyValidator:()=>Jp,cleanValidationError:()=>mI,formatError:()=>qp,isOptionSymbol:()=>jp,makeCommandOption:()=>Ji,rerouteArguments:()=>bo});function oH(r,e,t){let[i,n]=bo(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(\",\"),a=new Set(o);return Ji({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i<\"u\"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function aH(r,e,t){let[i,n]=bo(e,t!=null?t:{}),s=r.split(\",\"),o=new Set(s);return Ji({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function AH(r,e,t){let[i,n]=bo(e,t!=null?t:{}),s=r.split(\",\"),o=new Set(s);return Ji({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function lH(r={}){return Ji({definition(e,t){var i;e.addProxy({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){return i.positionals.map(({value:n})=>n)}})}function cH(r={}){return Ji({definition(e,t){var i;e.addRest({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){let n=o=>{let a=i.positionals[o];return a.extra===Mn||a.extra===!1&&o<e.arity.leading.length},s=0;for(;s<i.positionals.length&&n(s);)s+=1;return i.positionals.splice(0,s).map(({value:o})=>o)}})}function mde(r,e,t){let[i,n]=bo(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(\",\"),a=new Set(o);return Ji({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f==\"string\"?Jp(g!=null?g:c,f,n.validator):f}})}function Ede(r={}){let{required:e=!0}=r;return Ji({definition(t,i){var n;t.addPositional({name:(n=r.name)!==null&&n!==void 0?n:i,required:r.required})},transformer(t,i,n){var s;for(let o=0;o<n.positionals.length;++o){if(n.positionals[o].extra===Mn||e&&n.positionals[o].extra===!0||!e&&n.positionals[o].extra===!1)continue;let[a]=n.positionals.splice(o,1);return Jp((s=r.name)!==null&&s!==void 0?s:i,a.value,r.validator)}}})}function uH(r,...e){return typeof r==\"string\"?mde(r,...e):Ede(r)}var G8=Pe(Tg()),GD=J(\"stream\");var Ct=(se=>(se[se.UNNAMED=0]=\"UNNAMED\",se[se.EXCEPTION=1]=\"EXCEPTION\",se[se.MISSING_PEER_DEPENDENCY=2]=\"MISSING_PEER_DEPENDENCY\",se[se.CYCLIC_DEPENDENCIES=3]=\"CYCLIC_DEPENDENCIES\",se[se.DISABLED_BUILD_SCRIPTS=4]=\"DISABLED_BUILD_SCRIPTS\",se[se.BUILD_DISABLED=5]=\"BUILD_DISABLED\",se[se.SOFT_LINK_BUILD=6]=\"SOFT_LINK_BUILD\",se[se.MUST_BUILD=7]=\"MUST_BUILD\",se[se.MUST_REBUILD=8]=\"MUST_REBUILD\",se[se.BUILD_FAILED=9]=\"BUILD_FAILED\",se[se.RESOLVER_NOT_FOUND=10]=\"RESOLVER_NOT_FOUND\",se[se.FETCHER_NOT_FOUND=11]=\"FETCHER_NOT_FOUND\",se[se.LINKER_NOT_FOUND=12]=\"LINKER_NOT_FOUND\",se[se.FETCH_NOT_CACHED=13]=\"FETCH_NOT_CACHED\",se[se.YARN_IMPORT_FAILED=14]=\"YARN_IMPORT_FAILED\",se[se.REMOTE_INVALID=15]=\"REMOTE_INVALID\",se[se.REMOTE_NOT_FOUND=16]=\"REMOTE_NOT_FOUND\",se[se.RESOLUTION_PACK=17]=\"RESOLUTION_PACK\",se[se.CACHE_CHECKSUM_MISMATCH=18]=\"CACHE_CHECKSUM_MISMATCH\",se[se.UNUSED_CACHE_ENTRY=19]=\"UNUSED_CACHE_ENTRY\",se[se.MISSING_LOCKFILE_ENTRY=20]=\"MISSING_LOCKFILE_ENTRY\",se[se.WORKSPACE_NOT_FOUND=21]=\"WORKSPACE_NOT_FOUND\",se[se.TOO_MANY_MATCHING_WORKSPACES=22]=\"TOO_MANY_MATCHING_WORKSPACES\",se[se.CONSTRAINTS_MISSING_DEPENDENCY=23]=\"CONSTRAINTS_MISSING_DEPENDENCY\",se[se.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]=\"CONSTRAINTS_INCOMPATIBLE_DEPENDENCY\",se[se.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]=\"CONSTRAINTS_EXTRANEOUS_DEPENDENCY\",se[se.CONSTRAINTS_INVALID_DEPENDENCY=26]=\"CONSTRAINTS_INVALID_DEPENDENCY\",se[se.CANT_SUGGEST_RESOLUTIONS=27]=\"CANT_SUGGEST_RESOLUTIONS\",se[se.FROZEN_LOCKFILE_EXCEPTION=28]=\"FROZEN_LOCKFILE_EXCEPTION\",se[se.CROSS_DRIVE_VIRTUAL_LOCAL=29]=\"CROSS_DRIVE_VIRTUAL_LOCAL\",se[se.FETCH_FAILED=30]=\"FETCH_FAILED\",se[se.DANGEROUS_NODE_MODULES=31]=\"DANGEROUS_NODE_MODULES\",se[se.NODE_GYP_INJECTED=32]=\"NODE_GYP_INJECTED\",se[se.AUTHENTICATION_NOT_FOUND=33]=\"AUTHENTICATION_NOT_FOUND\",se[se.INVALID_CONFIGURATION_KEY=34]=\"INVALID_CONFIGURATION_KEY\",se[se.NETWORK_ERROR=35]=\"NETWORK_ERROR\",se[se.LIFECYCLE_SCRIPT=36]=\"LIFECYCLE_SCRIPT\",se[se.CONSTRAINTS_MISSING_FIELD=37]=\"CONSTRAINTS_MISSING_FIELD\",se[se.CONSTRAINTS_INCOMPATIBLE_FIELD=38]=\"CONSTRAINTS_INCOMPATIBLE_FIELD\",se[se.CONSTRAINTS_EXTRANEOUS_FIELD=39]=\"CONSTRAINTS_EXTRANEOUS_FIELD\",se[se.CONSTRAINTS_INVALID_FIELD=40]=\"CONSTRAINTS_INVALID_FIELD\",se[se.AUTHENTICATION_INVALID=41]=\"AUTHENTICATION_INVALID\",se[se.PROLOG_UNKNOWN_ERROR=42]=\"PROLOG_UNKNOWN_ERROR\",se[se.PROLOG_SYNTAX_ERROR=43]=\"PROLOG_SYNTAX_ERROR\",se[se.PROLOG_EXISTENCE_ERROR=44]=\"PROLOG_EXISTENCE_ERROR\",se[se.STACK_OVERFLOW_RESOLUTION=45]=\"STACK_OVERFLOW_RESOLUTION\",se[se.AUTOMERGE_FAILED_TO_PARSE=46]=\"AUTOMERGE_FAILED_TO_PARSE\",se[se.AUTOMERGE_IMMUTABLE=47]=\"AUTOMERGE_IMMUTABLE\",se[se.AUTOMERGE_SUCCESS=48]=\"AUTOMERGE_SUCCESS\",se[se.AUTOMERGE_REQUIRED=49]=\"AUTOMERGE_REQUIRED\",se[se.DEPRECATED_CLI_SETTINGS=50]=\"DEPRECATED_CLI_SETTINGS\",se[se.PLUGIN_NAME_NOT_FOUND=51]=\"PLUGIN_NAME_NOT_FOUND\",se[se.INVALID_PLUGIN_REFERENCE=52]=\"INVALID_PLUGIN_REFERENCE\",se[se.CONSTRAINTS_AMBIGUITY=53]=\"CONSTRAINTS_AMBIGUITY\",se[se.CACHE_OUTSIDE_PROJECT=54]=\"CACHE_OUTSIDE_PROJECT\",se[se.IMMUTABLE_INSTALL=55]=\"IMMUTABLE_INSTALL\",se[se.IMMUTABLE_CACHE=56]=\"IMMUTABLE_CACHE\",se[se.INVALID_MANIFEST=57]=\"INVALID_MANIFEST\",se[se.PACKAGE_PREPARATION_FAILED=58]=\"PACKAGE_PREPARATION_FAILED\",se[se.INVALID_RANGE_PEER_DEPENDENCY=59]=\"INVALID_RANGE_PEER_DEPENDENCY\",se[se.INCOMPATIBLE_PEER_DEPENDENCY=60]=\"INCOMPATIBLE_PEER_DEPENDENCY\",se[se.DEPRECATED_PACKAGE=61]=\"DEPRECATED_PACKAGE\",se[se.INCOMPATIBLE_OS=62]=\"INCOMPATIBLE_OS\",se[se.INCOMPATIBLE_CPU=63]=\"INCOMPATIBLE_CPU\",se[se.FROZEN_ARTIFACT_EXCEPTION=64]=\"FROZEN_ARTIFACT_EXCEPTION\",se[se.TELEMETRY_NOTICE=65]=\"TELEMETRY_NOTICE\",se[se.PATCH_HUNK_FAILED=66]=\"PATCH_HUNK_FAILED\",se[se.INVALID_CONFIGURATION_VALUE=67]=\"INVALID_CONFIGURATION_VALUE\",se[se.UNUSED_PACKAGE_EXTENSION=68]=\"UNUSED_PACKAGE_EXTENSION\",se[se.REDUNDANT_PACKAGE_EXTENSION=69]=\"REDUNDANT_PACKAGE_EXTENSION\",se[se.AUTO_NM_SUCCESS=70]=\"AUTO_NM_SUCCESS\",se[se.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]=\"NM_CANT_INSTALL_EXTERNAL_SOFT_LINK\",se[se.NM_PRESERVE_SYMLINKS_REQUIRED=72]=\"NM_PRESERVE_SYMLINKS_REQUIRED\",se[se.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]=\"UPDATE_LOCKFILE_ONLY_SKIP_LINK\",se[se.NM_HARDLINKS_MODE_DOWNGRADED=74]=\"NM_HARDLINKS_MODE_DOWNGRADED\",se[se.PROLOG_INSTANTIATION_ERROR=75]=\"PROLOG_INSTANTIATION_ERROR\",se[se.INCOMPATIBLE_ARCHITECTURE=76]=\"INCOMPATIBLE_ARCHITECTURE\",se[se.GHOST_ARCHITECTURE=77]=\"GHOST_ARCHITECTURE\",se[se.PROLOG_LIMIT_EXCEEDED=79]=\"PROLOG_LIMIT_EXCEEDED\",se))(Ct||{});function QA(r){return`YN${r.toString(10).padStart(4,\"0\")}`}function QI(r){let e=Number(r.slice(2));if(typeof Ct[e]>\"u\")throw new Error(`Unknown message name: \"${r}\"`);return e}var P={};ut(P,{areDescriptorsEqual:()=>V4,areIdentsEqual:()=>zd,areLocatorsEqual:()=>Vd,areVirtualPackagesEquivalent:()=>jbe,bindDescriptor:()=>Gbe,bindLocator:()=>Ybe,convertDescriptorToLocator:()=>fw,convertLocatorToDescriptor:()=>bD,convertPackageToLocator:()=>Hbe,convertToIdent:()=>Ube,convertToManifestRange:()=>Wbe,copyPackage:()=>qd,devirtualizeDescriptor:()=>Jd,devirtualizeLocator:()=>Wd,getIdentVendorPath:()=>PD,isPackageCompatible:()=>mw,isVirtualDescriptor:()=>OA,isVirtualLocator:()=>Uo,makeDescriptor:()=>Zt,makeIdent:()=>Ho,makeLocator:()=>$i,makeRange:()=>pw,parseDescriptor:()=>MA,parseFileStyleRange:()=>qbe,parseIdent:()=>_i,parseLocator:()=>Cc,parseRange:()=>Cf,prettyDependent:()=>Gx,prettyDescriptor:()=>tr,prettyIdent:()=>Ai,prettyLocator:()=>mt,prettyLocatorNoColors:()=>xD,prettyRange:()=>Cw,prettyReference:()=>_d,prettyResolution:()=>Hx,prettyWorkspace:()=>Zd,renamePackage:()=>jd,slugifyIdent:()=>QD,slugifyLocator:()=>mf,sortDescriptors:()=>Ef,stringifyDescriptor:()=>Qn,stringifyIdent:()=>Ot,stringifyLocator:()=>hs,tryParseDescriptor:()=>Xd,tryParseIdent:()=>X4,tryParseLocator:()=>hw,virtualizeDescriptor:()=>SD,virtualizePackage:()=>vD});var df=Pe(J(\"querystring\")),J4=Pe(Xr()),W4=Pe(Uq());var ee={};ut(ee,{LogLevel:()=>Oy,Style:()=>Tx,Type:()=>Ue,addLogFilterSupport:()=>Kd,applyColor:()=>Bn,applyHyperlink:()=>cf,applyStyle:()=>Ty,json:()=>cc,jsonOrPretty:()=>wBe,mark:()=>Ux,pretty:()=>Ze,prettyField:()=>Oo,prettyList:()=>Kx,supportsColor:()=>Ly,supportsHyperlinks:()=>Mx,tuple:()=>eo});var Md=Pe(ax()),Od=Pe(Vl());var MW=Pe(yn()),KW=Pe(vW());var Ie={};ut(Ie,{AsyncActions:()=>Sx,BufferStream:()=>bx,CachingStrategy:()=>TW,DefaultStream:()=>vx,allSettledSafe:()=>$s,assertNever:()=>Px,bufferStream:()=>af,buildIgnorePattern:()=>mBe,convertMapsToIndexableObjects:()=>Fy,dynamicRequire:()=>Af,escapeRegExp:()=>gBe,getArrayWithDefault:()=>nf,getFactoryWithDefault:()=>xa,getMapWithDefault:()=>sf,getSetWithDefault:()=>lc,isIndexableObject:()=>Qx,isPathLike:()=>EBe,isTaggedYarnVersion:()=>uBe,mapAndFilter:()=>To,mapAndFind:()=>Ld,overrideType:()=>fBe,parseBoolean:()=>Td,parseOptionalBoolean:()=>OW,prettifyAsyncErrors:()=>of,prettifySyncErrors:()=>Dx,releaseAfterUseAsync:()=>pBe,replaceEnvVariables:()=>kx,sortMap:()=>wn,tryParseOptionalBoolean:()=>Rx,validateEnum:()=>hBe});var PW=Pe(yn()),DW=Pe(Tg()),kW=Pe(Xr()),xx=J(\"stream\");function uBe(r){return!!(kW.default.valid(r)&&r.match(/^[^-]+(-rc\\.[0-9]+)?$/))}function gBe(r){return r.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")}function fBe(r){}function Px(r){throw new Error(`Assertion failed: Unexpected object '${r}'`)}function hBe(r,e){let t=Object.values(r);if(!t.includes(e))throw new be(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${t.map(i=>JSON.stringify(i)).join(\", \")})`);return e}function To(r,e){let t=[];for(let i of r){let n=e(i);n!==RW&&t.push(n)}return t}var RW=Symbol();To.skip=RW;function Ld(r,e){for(let t of r){let i=e(t);if(i!==FW)return i}}var FW=Symbol();Ld.skip=FW;function Qx(r){return typeof r==\"object\"&&r!==null}async function $s(r){let e=await Promise.allSettled(r),t=[];for(let i of e){if(i.status===\"rejected\")throw i.reason;t.push(i.value)}return t}function Fy(r){if(r instanceof Map&&(r=Object.fromEntries(r)),Qx(r))for(let e of Object.keys(r)){let t=r[e];Qx(t)&&(r[e]=Fy(t))}return r}function xa(r,e,t){let i=r.get(e);return typeof i>\"u\"&&r.set(e,i=t()),i}function nf(r,e){let t=r.get(e);return typeof t>\"u\"&&r.set(e,t=[]),t}function lc(r,e){let t=r.get(e);return typeof t>\"u\"&&r.set(e,t=new Set),t}function sf(r,e){let t=r.get(e);return typeof t>\"u\"&&r.set(e,t=new Map),t}async function pBe(r,e){if(e==null)return await r();try{return await r()}finally{await e()}}async function of(r,e){try{return await r()}catch(t){throw t.message=e(t.message),t}}function Dx(r,e){try{return r()}catch(t){throw t.message=e(t.message),t}}async function af(r){return await new Promise((e,t)=>{let i=[];r.on(\"error\",n=>{t(n)}),r.on(\"data\",n=>{i.push(n)}),r.on(\"end\",()=>{e(Buffer.concat(i))})})}var bx=class extends xx.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(t,i,n){if(i!==\"buffer\"||!Buffer.isBuffer(t))throw new Error(\"Assertion failed: BufferStream only accept buffers\");this.chunks.push(t),n(null,null)}_flush(t){t(null,Buffer.concat(this.chunks))}};function dBe(){let r,e;return{promise:new Promise((i,n)=>{r=i,e=n}),resolve:r,reject:e}}var Sx=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,DW.default)(e)}set(e,t){let i=this.deferred.get(e);typeof i>\"u\"&&this.deferred.set(e,i=dBe());let n=this.limit(()=>t());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,t){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>t(i))}async wait(){await Promise.all(this.promises.values())}},vx=class extends xx.Transform{constructor(t=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=t}_transform(t,i,n){if(i!==\"buffer\"||!Buffer.isBuffer(t))throw new Error(\"Assertion failed: DefaultStream only accept buffers\");this.active=!1,n(null,t)}_flush(t){this.active&&this.ifEmpty.length>0?t(null,this.ifEmpty):t(null)}},Nd=eval(\"require\");function NW(r){return Nd(K.fromPortablePath(r))}function LW(path){let physicalPath=K.fromPortablePath(path),currentCacheEntry=Nd.cache[physicalPath];delete Nd.cache[physicalPath];let result;try{result=NW(physicalPath);let freshCacheEntry=Nd.cache[physicalPath],dynamicModule=eval(\"module\"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{Nd.cache[physicalPath]=currentCacheEntry}return result}var xW=new Map;function CBe(r){let e=xW.get(r),t=M.statSync(r);if((e==null?void 0:e.mtime)===t.mtimeMs)return e.instance;let i=LW(r);return xW.set(r,{mtime:t.mtimeMs,instance:i}),i}var TW=(i=>(i[i.NoCache=0]=\"NoCache\",i[i.FsTime=1]=\"FsTime\",i[i.Node=2]=\"Node\",i))(TW||{});function Af(r,{cachingStrategy:e=2}={}){switch(e){case 0:return LW(r);case 1:return CBe(r);case 2:return NW(r);default:throw new Error(\"Unsupported caching strategy\")}}function wn(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]<a[o]?-1:a[s]>a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function mBe(r){return r.length===0?null:r.map(e=>`(${PW.default.makeRe(e,{windows:!1,dot:!0}).source})`).join(\"|\")}function kx(r,{env:e}){let t=/\\${(?<variableName>[\\d\\w_]+)(?<colon>:)?(?:-(?<fallback>[^}]*))?}/g;return r.replace(t,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new be(`Environment variable not found (${n})`)})}function Td(r){switch(r){case\"true\":case\"1\":case 1:case!0:return!0;case\"false\":case\"0\":case 0:case!1:return!1;default:throw new Error(`Couldn't parse \"${r}\" as a boolean`)}}function OW(r){return typeof r>\"u\"?r:Td(r)}function Rx(r){try{return OW(r)}catch{return null}}function EBe(r){return!!(K.isAbsolute(r)||r.match(/^(\\.{1,2}|~)\\//))}var lf=(t=>(t.HARD=\"HARD\",t.SOFT=\"SOFT\",t))(lf||{}),Fx=(i=>(i.Dependency=\"Dependency\",i.PeerDependency=\"PeerDependency\",i.PeerDependencyMeta=\"PeerDependencyMeta\",i))(Fx||{}),Nx=(i=>(i.Inactive=\"inactive\",i.Redundant=\"redundant\",i.Active=\"active\",i))(Nx||{});var Ue={NO_HINT:\"NO_HINT\",NULL:\"NULL\",SCOPE:\"SCOPE\",NAME:\"NAME\",RANGE:\"RANGE\",REFERENCE:\"REFERENCE\",NUMBER:\"NUMBER\",PATH:\"PATH\",URL:\"URL\",ADDED:\"ADDED\",REMOVED:\"REMOVED\",CODE:\"CODE\",DURATION:\"DURATION\",SIZE:\"SIZE\",IDENT:\"IDENT\",DESCRIPTOR:\"DESCRIPTOR\",LOCATOR:\"LOCATOR\",RESOLUTION:\"RESOLUTION\",DEPENDENT:\"DEPENDENT\",PACKAGE_EXTENSION:\"PACKAGE_EXTENSION\",SETTING:\"SETTING\",MARKDOWN:\"MARKDOWN\"},Tx=(e=>(e[e.BOLD=2]=\"BOLD\",e))(Tx||{}),Ox=Od.default.GITHUB_ACTIONS?{level:2}:Md.default.supportsColor?{level:Md.default.supportsColor.level}:{level:0},Ly=Ox.level!==0,Mx=Ly&&!Od.default.GITHUB_ACTIONS&&!Od.default.CIRCLE&&!Od.default.GITLAB,Lx=new Md.default.Instance(Ox),IBe=new Map([[Ue.NO_HINT,null],[Ue.NULL,[\"#a853b5\",129]],[Ue.SCOPE,[\"#d75f00\",166]],[Ue.NAME,[\"#d7875f\",173]],[Ue.RANGE,[\"#00afaf\",37]],[Ue.REFERENCE,[\"#87afff\",111]],[Ue.NUMBER,[\"#ffd700\",220]],[Ue.PATH,[\"#d75fd7\",170]],[Ue.URL,[\"#d75fd7\",170]],[Ue.ADDED,[\"#5faf00\",70]],[Ue.REMOVED,[\"#d70000\",160]],[Ue.CODE,[\"#87afff\",111]],[Ue.SIZE,[\"#ffd700\",220]]]),fs=r=>r,Ny={[Ue.NUMBER]:fs({pretty:(r,e)=>Bn(r,`${e}`,Ue.NUMBER),json:r=>r}),[Ue.IDENT]:fs({pretty:(r,e)=>Ai(r,e),json:r=>Ot(r)}),[Ue.LOCATOR]:fs({pretty:(r,e)=>mt(r,e),json:r=>hs(r)}),[Ue.DESCRIPTOR]:fs({pretty:(r,e)=>tr(r,e),json:r=>Qn(r)}),[Ue.RESOLUTION]:fs({pretty:(r,{descriptor:e,locator:t})=>Hx(r,e,t),json:({descriptor:r,locator:e})=>({descriptor:Qn(r),locator:e!==null?hs(e):null})}),[Ue.DEPENDENT]:fs({pretty:(r,{locator:e,descriptor:t})=>Gx(r,e,t),json:({locator:r,descriptor:e})=>({locator:hs(r),descriptor:Qn(e)})}),[Ue.PACKAGE_EXTENSION]:fs({pretty:(r,e)=>{switch(e.type){case\"Dependency\":return`${Ai(r,e.parentDescriptor)} \\u27A4 ${Bn(r,\"dependencies\",Ue.CODE)} \\u27A4 ${Ai(r,e.descriptor)}`;case\"PeerDependency\":return`${Ai(r,e.parentDescriptor)} \\u27A4 ${Bn(r,\"peerDependencies\",Ue.CODE)} \\u27A4 ${Ai(r,e.descriptor)}`;case\"PeerDependencyMeta\":return`${Ai(r,e.parentDescriptor)} \\u27A4 ${Bn(r,\"peerDependenciesMeta\",Ue.CODE)} \\u27A4 ${Ai(r,_i(e.selector))} \\u27A4 ${Bn(r,e.key,Ue.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:r=>{switch(r.type){case\"Dependency\":return`${Ot(r.parentDescriptor)} > ${Ot(r.descriptor)}`;case\"PeerDependency\":return`${Ot(r.parentDescriptor)} >> ${Ot(r.descriptor)}`;case\"PeerDependencyMeta\":return`${Ot(r.parentDescriptor)} >> ${r.selector} / ${r.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${r.type}`)}}}),[Ue.SETTING]:fs({pretty:(r,e)=>(r.get(e),cf(r,Bn(r,e,Ue.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:r=>r}),[Ue.DURATION]:fs({pretty:(r,e)=>{if(e>1e3*60){let t=Math.floor(e/1e3/60),i=Math.ceil((e-t*60*1e3)/1e3);return i===0?`${t}m`:`${t}m ${i}s`}else{let t=Math.floor(e/1e3),i=e-t*1e3;return i===0?`${t}s`:`${t}s ${i}ms`}},json:r=>r}),[Ue.SIZE]:fs({pretty:(r,e)=>{let t=[\"KB\",\"MB\",\"GB\",\"TB\"],i=t.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return Bn(r,`${s} ${t[i-1]}`,Ue.NUMBER)},json:r=>r}),[Ue.PATH]:fs({pretty:(r,e)=>Bn(r,K.fromPortablePath(e),Ue.PATH),json:r=>K.fromPortablePath(r)}),[Ue.MARKDOWN]:fs({pretty:(r,{text:e,format:t,paragraphs:i})=>Ni(e,{format:t,paragraphs:i}),json:({text:r})=>r})};function eo(r,e){return[e,r]}function Ty(r,e,t){return r.get(\"enableColors\")&&t&2&&(e=Md.default.bold(e)),e}function Bn(r,e,t){if(!r.get(\"enableColors\"))return e;let i=IBe.get(t);if(i===null)return e;let n=typeof i>\"u\"?t:Ox.level>=3?i[0]:i[1],s=typeof n==\"number\"?Lx.ansi256(n):n.startsWith(\"#\")?Lx.hex(n):Lx[n];if(typeof s!=\"function\")throw new Error(`Invalid format type ${n}`);return s(e)}var yBe=!!process.env.KONSOLE_VERSION;function cf(r,e,t){return r.get(\"enableHyperlinks\")?yBe?`\\x1B]8;;${t}\\x1B\\\\${e}\\x1B]8;;\\x1B\\\\`:`\\x1B]8;;${t}\\x07${e}\\x1B]8;;\\x07`:e}function Ze(r,e,t){if(e===null)return Bn(r,\"null\",Ue.NULL);if(Object.prototype.hasOwnProperty.call(Ny,t))return Ny[t].pretty(r,e);if(typeof e!=\"string\")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Bn(r,e,t)}function Kx(r,e,t,{separator:i=\", \"}={}){return[...e].map(n=>Ze(r,n,t)).join(i)}function cc(r,e){if(r===null)return null;if(Object.prototype.hasOwnProperty.call(Ny,e))return Ny[e].json(r);if(typeof r!=\"string\")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof r}`);return r}function wBe(r,e,[t,i]){return r?cc(t,i):Ze(e,t,i)}function Ux(r){return{Check:Bn(r,\"\\u2713\",\"green\"),Cross:Bn(r,\"\\u2718\",\"red\"),Question:Bn(r,\"?\",\"cyan\")}}function Oo(r,{label:e,value:[t,i]}){return`${Ze(r,e,Ue.CODE)}: ${Ze(r,t,i)}`}var Oy=(n=>(n.Error=\"error\",n.Warning=\"warning\",n.Info=\"info\",n.Discard=\"discard\",n))(Oy||{});function Kd(r,{configuration:e}){let t=e.get(\"logFilters\"),i=new Map,n=new Map,s=[];for(let g of t){let f=g.get(\"level\");if(typeof f>\"u\")continue;let h=g.get(\"code\");typeof h<\"u\"&&i.set(h,f);let p=g.get(\"text\");typeof p<\"u\"&&n.set(p,f);let C=g.get(\"pattern\");typeof C<\"u\"&&s.push([MW.default.matcher(C,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===0)return h;let p=n.size>0||s.length>0?(0,KW.default)(f):f;if(n.size>0){let C=n.get(p);if(typeof C<\"u\")return C!=null?C:h}if(s.length>0){for(let[C,y]of s)if(C(p))return y!=null?y:h}if(i.size>0){let C=i.get(QA(g));if(typeof C<\"u\")return C!=null?C:h}return h},a=r.reportInfo,l=r.reportWarning,c=r.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case\"info\":a.call(g,f,h);break;case\"warning\":l.call(g,f!=null?f:0,h);break;case\"error\":c.call(g,f!=null?f:0,h);break}};r.reportInfo=function(...g){return u(this,...g,\"info\")},r.reportWarning=function(...g){return u(this,...g,\"warning\")},r.reportError=function(...g){return u(this,...g,\"error\")}}var li={};ut(li,{checksumFile:()=>uw,checksumPattern:()=>gw,makeHash:()=>Zi});var cw=J(\"crypto\"),BD=Pe(wD());function Zi(...r){let e=(0,cw.createHash)(\"sha512\"),t=\"\";for(let i of r)typeof i==\"string\"?t+=i:i&&(t&&(e.update(t),t=\"\"),e.update(i));return t&&e.update(t),e.digest(\"hex\")}async function uw(r,{baseFs:e,algorithm:t}={baseFs:M,algorithm:\"sha512\"}){let i=await e.openPromise(r,\"r\");try{let s=Buffer.allocUnsafeSlow(65536),o=(0,cw.createHash)(t),a=0;for(;(a=await e.readPromise(i,s,0,65536))!==0;)o.update(a===65536?s:s.slice(0,a));return o.digest(\"hex\")}finally{await e.closePromise(i)}}async function gw(r,{cwd:e}){let i=(await(0,BD.default)(r,{cwd:K.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,BD.default)([r,...i],{cwd:K.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=K.toPortablePath(a),u=await M.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await M.readlinkPromise(c))):u.isFile()&&l.push(await M.readFilePromise(c)),l.join(\"\\0\")})),o=(0,cw.createHash)(\"sha512\");for(let a of s)o.update(a);return o.digest(\"hex\")}var Yd=\"virtual:\",Mbe=5,z4=/(os|cpu|libc)=([a-z0-9_-]+)/,Kbe=(0,W4.makeParser)(z4);function Ho(r,e){if(r!=null&&r.startsWith(\"@\"))throw new Error(\"Invalid scope: don't prefix it with '@'\");return{identHash:Zi(r,e),scope:r,name:e}}function Zt(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:Zi(r.identHash,e),range:e}}function $i(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:Zi(r.identHash,e),reference:e}}function Ube(r){return{identHash:r.identHash,scope:r.scope,name:r.name}}function fw(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.descriptorHash,reference:r.range}}function bD(r){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:r.locatorHash,range:r.reference}}function Hbe(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.locatorHash,reference:r.reference}}function jd(r,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:r.version,languageName:r.languageName,linkType:r.linkType,conditions:r.conditions,dependencies:new Map(r.dependencies),peerDependencies:new Map(r.peerDependencies),dependenciesMeta:new Map(r.dependenciesMeta),peerDependenciesMeta:new Map(r.peerDependenciesMeta),bin:new Map(r.bin)}}function qd(r){return jd(r,r)}function SD(r,e){if(e.includes(\"#\"))throw new Error(\"Invalid entropy\");return Zt(r,`virtual:${e}#${r.range}`)}function vD(r,e){if(e.includes(\"#\"))throw new Error(\"Invalid entropy\");return jd(r,$i(r,`virtual:${e}#${r.reference}`))}function OA(r){return r.range.startsWith(Yd)}function Uo(r){return r.reference.startsWith(Yd)}function Jd(r){if(!OA(r))throw new Error(\"Not a virtual descriptor\");return Zt(r,r.range.replace(/^[^#]*#/,\"\"))}function Wd(r){if(!Uo(r))throw new Error(\"Not a virtual descriptor\");return $i(r,r.reference.replace(/^[^#]*#/,\"\"))}function Gbe(r,e){return r.range.includes(\"::\")?r:Zt(r,`${r.range}::${df.default.stringify(e)}`)}function Ybe(r,e){return r.reference.includes(\"::\")?r:$i(r,`${r.reference}::${df.default.stringify(e)}`)}function zd(r,e){return r.identHash===e.identHash}function V4(r,e){return r.descriptorHash===e.descriptorHash}function Vd(r,e){return r.locatorHash===e.locatorHash}function jbe(r,e){if(!Uo(r))throw new Error(\"Invalid package type\");if(!Uo(e))throw new Error(\"Invalid package type\");if(!zd(r,e)||r.dependencies.size!==e.dependencies.size)return!1;for(let t of r.dependencies.values()){let i=e.dependencies.get(t.identHash);if(!i||!V4(t,i))return!1}return!0}function _i(r){let e=X4(r);if(!e)throw new Error(`Invalid ident (${r})`);return e}function X4(r){let e=r.match(/^(?:@([^/]+?)\\/)?([^/]+)$/);if(!e)return null;let[,t,i]=e;return Ho(typeof t<\"u\"?t:null,i)}function MA(r,e=!1){let t=Xd(r,e);if(!t)throw new Error(`Invalid descriptor (${r})`);return t}function Xd(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s===\"unknown\")throw new Error(`Invalid range (${r})`);let o=typeof i<\"u\"?i:null,a=typeof s<\"u\"?s:\"unknown\";return Zt(Ho(o,n),a)}function Cc(r,e=!1){let t=hw(r,e);if(!t)throw new Error(`Invalid locator (${r})`);return t}function hw(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s===\"unknown\")throw new Error(`Invalid reference (${r})`);let o=typeof i<\"u\"?i:null,a=typeof s<\"u\"?s:\"unknown\";return $i(Ho(o,n),a)}function Cf(r,e){let t=r.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(t===null)throw new Error(`Invalid range (${r})`);let i=typeof t[1]<\"u\"?t[1]:null;if(typeof(e==null?void 0:e.requireProtocol)==\"string\"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof t[3]<\"u\"?decodeURIComponent(t[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${r})`);let s=typeof t[3]<\"u\"?decodeURIComponent(t[3]):decodeURIComponent(t[2]),o=e!=null&&e.parseSelector?df.default.parse(s):s,a=typeof t[4]<\"u\"?df.default.parse(t[4]):null;return{protocol:i,source:n,selector:o,params:a}}function qbe(r,{protocol:e}){let{selector:t,params:i}=Cf(r,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!=\"string\")throw new Error(`Assertion failed: Invalid bindings for ${r}`);return{parentLocator:Cc(i.locator,!0),path:t}}function q4(r){return r=r.replace(/%/g,\"%25\"),r=r.replace(/:/g,\"%3A\"),r=r.replace(/#/g,\"%23\"),r}function Jbe(r){return r===null?!1:Object.entries(r).length>0}function pw({protocol:r,source:e,selector:t,params:i}){let n=\"\";return r!==null&&(n+=`${r}`),e!==null&&(n+=`${q4(e)}#`),n+=q4(t),Jbe(i)&&(n+=`::${df.default.stringify(i)}`),n}function Wbe(r){let{params:e,protocol:t,source:i,selector:n}=Cf(r);for(let s in e)s.startsWith(\"__\")&&delete e[s];return pw({protocol:t,source:i,params:e,selector:n})}function Ot(r){return r.scope?`@${r.scope}/${r.name}`:`${r.name}`}function Qn(r){return r.scope?`@${r.scope}/${r.name}@${r.range}`:`${r.name}@${r.range}`}function hs(r){return r.scope?`@${r.scope}/${r.name}@${r.reference}`:`${r.name}@${r.reference}`}function QD(r){return r.scope!==null?`@${r.scope}-${r.name}`:r.name}function mf(r){let{protocol:e,selector:t}=Cf(r.reference),i=e!==null?e.replace(/:$/,\"\"):\"exotic\",n=J4.default.valid(t),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=r.scope?`${QD(r)}-${s}-${r.locatorHash.slice(0,o)}`:`${QD(r)}-${s}-${r.locatorHash.slice(0,o)}`;return Ur(a)}function Ai(r,e){return e.scope?`${Ze(r,`@${e.scope}/`,Ue.SCOPE)}${Ze(r,e.name,Ue.NAME)}`:`${Ze(r,e.name,Ue.NAME)}`}function dw(r){if(r.startsWith(Yd)){let e=dw(r.substring(r.indexOf(\"#\")+1)),t=r.substring(Yd.length,Yd.length+Mbe);return`${e} [${t}]`}else return r.replace(/\\?.*/,\"?[...]\")}function Cw(r,e){return`${Ze(r,dw(e),Ue.RANGE)}`}function tr(r,e){return`${Ai(r,e)}${Ze(r,\"@\",Ue.RANGE)}${Cw(r,e.range)}`}function _d(r,e){return`${Ze(r,dw(e),Ue.REFERENCE)}`}function mt(r,e){return`${Ai(r,e)}${Ze(r,\"@\",Ue.REFERENCE)}${_d(r,e.reference)}`}function xD(r){return`${Ot(r)}@${dw(r.reference)}`}function Ef(r){return wn(r,[e=>Ot(e),e=>e.range])}function Zd(r,e){return Ai(r,e.locator)}function Hx(r,e,t){let i=OA(e)?Jd(e):e;return t===null?`${tr(r,i)} \\u2192 ${Ux(r).Cross}`:i.identHash===t.identHash?`${tr(r,i)} \\u2192 ${_d(r,t.reference)}`:`${tr(r,i)} \\u2192 ${mt(r,t)}`}function Gx(r,e,t){return t===null?`${mt(r,e)}`:`${mt(r,e)} (via ${Cw(r,t.range)})`}function PD(r){return`node_modules/${Ot(r)}`}function mw(r,e){return r.conditions?Kbe(r.conditions,t=>{let[,i,n]=t.match(z4),s=e[i];return s?s.includes(n):!0}):!0}var _4={hooks:{reduceDependency:(r,e,t,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==Ot(t)||o.from&&o.from.description&&o.from.description!==t.reference||o.descriptor.fullName!==Ot(r)||o.descriptor.description&&o.descriptor.description!==r.range)continue;return n.bindDescriptor(Zt(r,a),e.topLevelWorkspace.anchoredLocator,s)}return r},validateProject:async(r,e)=>{for(let t of r.workspaces){let i=Zd(r.configuration,t);await r.configuration.triggerHook(n=>n.validateWorkspace,t,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(r,e)=>{let{manifest:t}=r;t.resolutions.length&&r.cwd!==r.project.cwd&&t.errors.push(new Error(\"Resolutions field will be ignored\"));for(let i of t.errors)e.reportWarning(57,i.message)}}};var n8=Pe(Xr());var $d=class{supportsDescriptor(e,t){return!!(e.range.startsWith($d.protocol)||t.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,t){return!!e.reference.startsWith($d.protocol)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.getWorkspaceByCwd(e.reference.slice($d.protocol.length));return{...e,version:i.manifest.version||\"0.0.0\",languageName:\"unknown\",linkType:\"SOFT\",conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin}}},jr=$d;jr.protocol=\"workspace:\";var vt={};ut(vt,{SemVer:()=>e8.SemVer,clean:()=>Vbe,satisfiesWithPrereleases:()=>mc,validRange:()=>to});var Ew=Pe(Xr()),e8=Pe(Xr()),Z4=new Map;function mc(r,e,t=!1){if(!r)return!1;let i=`${e}${t}`,n=Z4.get(i);if(typeof n>\"u\")try{n=new Ew.default.Range(e,{includePrerelease:!0,loose:t})}catch{return!1}finally{Z4.set(i,n||null)}else if(n===null)return!1;let s;try{s=new Ew.default.SemVer(r,n)}catch{return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var $4=new Map;function to(r){if(r.indexOf(\":\")!==-1)return null;let e=$4.get(r);if(typeof e<\"u\")return e;try{e=new Ew.default.Range(r)}catch{e=null}return $4.set(r,e),e}var zbe=/^(?:[\\sv=]*?)((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)(?:\\s*)$/;function Vbe(r){let e=zbe.exec(r);return e?e[1]:null}var KA=class{constructor(){this.indent=\"  \";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:t=new $t}={}){let i=x.join(e,\"package.json\");try{return await KA.fromFile(i,{baseFs:t})}catch(n){if(n.code===\"ENOENT\")return null;throw n}}static async find(e,{baseFs:t}={}){let i=await KA.tryFind(e,{baseFs:t});if(i===null)throw new Error(\"Manifest not found\");return i}static async fromFile(e,{baseFs:t=new $t}={}){let i=new KA;return await i.loadFile(e,{baseFs:t}),i}static fromText(e){let t=new KA;return t.loadFromText(e),t}static isManifestFieldCompatible(e,t){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]===\"!\"){if(n=!0,t===s.slice(1))return!1}else if(i=!1,s===t)return!0;return n&&i}loadFromText(e){let t;try{t=JSON.parse(r8(e)||\"{}\")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(t),this.indent=t8(e)}async loadFile(e,{baseFs:t=new $t}){let i=await t.readFilePromise(e,\"utf8\"),n;try{n=JSON.parse(r8(i)||\"{}\")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=t8(i)}load(e,{yamlCompatibilityMode:t=!1}={}){if(typeof e!=\"object\"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name==\"string\")try{this.name=_i(e.name)}catch{i.push(new Error(\"Parsing failed for the 'name' field\"))}if(typeof e.version==\"string\"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!=\"string\"?i.push(new Error(\"Parsing failed for the 'os' field\")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!=\"string\"?i.push(new Error(\"Parsing failed for the 'cpu' field\")):s.push(o)}else this.cpu=null;if(Array.isArray(e.libc)){let s=[];this.libc=s;for(let o of e.libc)typeof o!=\"string\"?i.push(new Error(\"Parsing failed for the 'libc' field\")):s.push(o)}else this.libc=null;if(typeof e.type==\"string\"?this.type=e.type:this.type=null,typeof e.packageManager==\"string\"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private==\"boolean\"?this.private=e.private:this.private=!1,typeof e.license==\"string\"?this.license=e.license:this.license=null,typeof e.languageName==\"string\"?this.languageName=e.languageName:this.languageName=null,typeof e.main==\"string\"?this.main=en(e.main):this.main=null,typeof e.module==\"string\"?this.module=en(e.module):this.module=null,e.browser!=null)if(typeof e.browser==\"string\")this.browser=en(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(en(s),typeof o==\"string\"?en(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin==\"string\")this.name!==null?this.bin.set(this.name.name,en(e.bin)):i.push(new Error(\"String bin field, but no attached package name\"));else if(typeof e.bin==\"object\"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!=\"string\"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}let a=_i(s);this.bin.set(a.name,en(o))}if(this.scripts=new Map,typeof e.scripts==\"object\"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!=\"string\"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies==\"object\"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!=\"string\"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=_i(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Zt(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies==\"object\"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!=\"string\"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=_i(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Zt(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies==\"object\"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=_i(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!=\"string\"||!o.startsWith(jr.protocol)&&!to(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o=\"*\");let l=Zt(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces==\"object\"&&e.workspaces!==null&&e.workspaces.nohoist&&i.push(new Error(\"'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead\"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces==\"object\"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!=\"string\"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta==\"object\"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!=\"object\"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=MA(s),l=this.ensureDependencyMeta(a),c=Iw(o.built,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=Iw(o.optional,{yamlCompatibilityMode:t});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=Iw(o.unplugged,{yamlCompatibilityMode:t});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta==\"object\"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!=\"object\"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=MA(s),l=this.ensurePeerDependencyMeta(a),c=Iw(o.optional,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions==\"object\"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!=\"string\"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:rI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!=\"string\"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig==\"object\"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access==\"string\"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main==\"string\"&&(this.publishConfig.main=en(e.publishConfig.main)),typeof e.publishConfig.module==\"string\"&&(this.publishConfig.module=en(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser==\"string\")this.publishConfig.browser=en(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(en(s),typeof o==\"string\"?en(o):o)}if(typeof e.publishConfig.registry==\"string\"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin==\"string\")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,en(e.publishConfig.bin)]]):i.push(new Error(\"String bin field, but no attached package name\"));else if(typeof e.publishConfig.bin==\"object\"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!=\"string\"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,en(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!=\"string\"){i.push(new Error(\"Invalid executable file definition\"));continue}this.publishConfig.executableFiles.add(en(s))}}}else this.publishConfig=null;if(typeof e.installConfig==\"object\"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s===\"hoistingLimits\"?typeof e.installConfig.hoistingLimits==\"string\"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error(\"Invalid hoisting limits definition\")):s==\"selfReferences\"?typeof e.installConfig.selfReferences==\"boolean\"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error(\"Invalid selfReferences definition, must be a boolean value\")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies==\"object\"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!=\"string\"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=_i(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Zt(a,o);this.dependencies.set(l.identHash,l);let c=Zt(a,\"unknown\"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged==\"boolean\"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case\"dependencies\":return this.dependencies;case\"devDependencies\":return this.devDependencies;case\"peerDependencies\":return this.peerDependencies;default:throw new Error(`Unsupported value (\"${e}\")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(DD(\"os\",this.os)),this.cpu&&this.cpu.length>0&&e.push(DD(\"cpu\",this.cpu)),this.libc&&this.libc.length>0&&e.push(DD(\"libc\",this.libc)),e.length>0?e.join(\" & \"):null}isCompatibleWithOS(e){return KA.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return KA.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!==\"unknown\"&&!n8.default.valid(e.range))throw new Error(`Invalid meta field range for '${Qn(e)}'`);let t=Ot(e),i=e.range!==\"unknown\"?e.range:null,n=this.dependenciesMeta.get(t);n||this.dependenciesMeta.set(t,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!==\"unknown\")throw new Error(`Invalid meta field range for '${Qn(e)}'`);let t=Ot(e),i=this.peerDependenciesMeta.get(t);return i||this.peerDependenciesMeta.set(t,i={}),i}setRawField(e,t,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=t;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=t,a=!0))}}exportTo(e,{compatibilityMode:t=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=Ot(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o==\"string\"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:o})=>o)}:e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(Ot(o)),l=!1;if(t&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...Ef(i).map(o=>({[Ot(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...Ef(n).map(o=>({[Ot(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...Ef(this.devDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...Ef(this.peerDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of wn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of wn(a.entries(),([u,g])=>u!==null?`0${u}`:\"1\")){let u=l!==null?Qn(Zt(_i(o),l)):o,g={...c};t&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...wn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[iI(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},ot=KA;ot.fileName=\"package.json\",ot.allDependencies=[\"dependencies\",\"devDependencies\",\"peerDependencies\"],ot.hardDependencies=[\"dependencies\",\"devDependencies\"];function t8(r){let e=r.match(/^[ \\t]+/m);return e?e[0]:\"  \"}function r8(r){return r.charCodeAt(0)===65279?r.slice(1):r}function en(r){return r.replace(/\\\\/g,\"/\")}function Iw(r,{yamlCompatibilityMode:e}){return e?Rx(r):typeof r>\"u\"||typeof r==\"boolean\"?r:null}function i8(r,e){let t=e.search(/[^!]/);if(t===-1)return\"invalid\";let i=t%2===0?\"\":\"!\",n=e.slice(t);return`${i}${r}=${n}`}function DD(r,e){return e.length===1?i8(r,e[0]):`(${e.map(t=>i8(r,t)).join(\" | \")})`}var L8=Pe(N8()),T8=J(\"stream\"),O8=J(\"string_decoder\");var GSe=15,at=class extends Error{constructor(t,i,n){super(i);this.reportExtra=n;this.reportCode=t}};function YSe(r){return typeof r.reportCode<\"u\"}var Si=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let t=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),t=l,c()},o=(l=0)=>{s(t+1)},a=async function*(){for(;t<e;)await n,yield{progress:t/e}}();return{[Symbol.asyncIterator](){return a},hasProgress:!0,hasTitle:!1,set:s,tick:o}}static progressViaTitle(){let e,t,i=new Promise(o=>{t=o}),n=(0,L8.default)(o=>{let a=t;i=new Promise(l=>{t=l}),e=o,a()},1e3/GSe),s=async function*(){for(;;)await i,yield{title:e}}();return{[Symbol.asyncIterator](){return s},hasProgress:!1,hasTitle:!0,setTitle:n}}async startProgressPromise(e,t){let i=this.reportProgress(e);try{return await t(e)}finally{i.stop()}}startProgressSync(e,t){let i=this.reportProgress(e);try{return t(e)}finally{i.stop()}}reportInfoOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedInfos.has(n)||(this.reportedInfos.add(n),this.reportInfo(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportWarningOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedWarnings.has(n)||(this.reportedWarnings.add(n),this.reportWarning(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportErrorOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedErrors.has(n)||(this.reportedErrors.add(n),this.reportError(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportExceptionOnce(e){YSe(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let t=new T8.PassThrough,i=new O8.StringDecoder,n=\"\";return t.on(\"data\",s=>{let o=i.write(s),a;do if(a=o.indexOf(`\n`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n=\"\",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),t.on(\"end\",()=>{let s=i.end();s!==\"\"&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),t}};var If=class{constructor(e){this.fetchers=e}supports(e,t){return!!this.tryFetcher(e,t)}getLocalPath(e,t){return this.getFetcher(e,t).getLocalPath(e,t)}async fetch(e,t){return await this.getFetcher(e,t).fetch(e,t)}tryFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));return i||null}getFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));if(!i)throw new at(11,`${mt(t.project.configuration,e)} isn't supported by any available fetcher`);return i}};var yf=class{constructor(e){this.resolvers=e.filter(t=>t)}supportsDescriptor(e,t){return!!this.tryResolverByDescriptor(e,t)}supportsLocator(e,t){return!!this.tryResolverByLocator(e,t)}shouldPersistResolution(e,t){return this.getResolverByLocator(e,t).shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.getResolverByDescriptor(e,t).getResolutionDependencies(e,t)}async getCandidates(e,t,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,t,i)}async getSatisfying(e,t,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,t,i)}async resolve(e,t){return await this.getResolverByLocator(e,t).resolve(e,t)}tryResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));return i||null}getResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));if(!i)throw new Error(`${tr(t.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));return i||null}getResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));if(!i)throw new Error(`${mt(t.project.configuration,e)} isn't supported by any available resolver`);return i}};var M8=Pe(Xr());var wf=/^(?!v)[a-z0-9._-]+$/i,yw=class{supportsDescriptor(e,t){return!!(to(e.range)||wf.test(e.range))}supportsLocator(e,t){return!!(M8.default.valid(e.reference)||wf.test(e.reference))}shouldPersistResolution(e,t){return t.resolver.shouldPersistResolution(this.forwardLocator(e,t),t)}bindDescriptor(e,t,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),t,i)}getResolutionDependencies(e,t){return t.resolver.getResolutionDependencies(this.forwardDescriptor(e,t),t)}async getCandidates(e,t,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),t,i)}async getSatisfying(e,t,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),t,i)}async resolve(e,t){let i=await t.resolver.resolve(this.forwardLocator(e,t),t);return jd(i,e)}forwardDescriptor(e,t){return Zt(e,`${t.project.configuration.get(\"defaultProtocol\")}${e.range}`)}forwardLocator(e,t){return $i(e,`${t.project.configuration.get(\"defaultProtocol\")}${e.reference}`)}};var Bf=class{supports(e){return!!e.reference.startsWith(\"virtual:\")}getLocalPath(e,t){let i=e.reference.indexOf(\"#\");if(i===-1)throw new Error(\"Invalid virtual package reference\");let n=e.reference.slice(i+1),s=$i(e,n);return t.fetcher.getLocalPath(s,t)}async fetch(e,t){let i=e.reference.indexOf(\"#\");if(i===-1)throw new Error(\"Invalid virtual package reference\");let n=e.reference.slice(i+1),s=$i(e,n),o=await t.fetcher.fetch(s,t);return await this.ensureVirtualLink(e,o,t)}getLocatorFilename(e){return mf(e)}async ensureVirtualLink(e,t,i){let n=t.packageFs.getRealPath(),s=i.project.configuration.get(\"virtualFolder\"),o=this.getLocatorFilename(e),a=Br.makeVirtualPath(s,o,n),l=new yo(a,{baseFs:t.packageFs,pathUtils:x});return{...t,packageFs:l}}};var Qf=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Qf.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Qf.protocol)}supportsDescriptor(e,t){return Qf.isVirtualDescriptor(e)}supportsLocator(e,t){return Qf.isVirtualLocator(e)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){throw new Error('Assertion failed: calling \"bindDescriptor\" on a virtual descriptor is unsupported')}getResolutionDependencies(e,t){throw new Error('Assertion failed: calling \"getResolutionDependencies\" on a virtual descriptor is unsupported')}async getCandidates(e,t,i){throw new Error('Assertion failed: calling \"getCandidates\" on a virtual descriptor is unsupported')}async getSatisfying(e,t,i){throw new Error('Assertion failed: calling \"getSatisfying\" on a virtual descriptor is unsupported')}async resolve(e,t){throw new Error('Assertion failed: calling \"resolve\" on a virtual locator is unsupported')}},rC=Qf;rC.protocol=\"virtual:\";var bf=class{supports(e){return!!e.reference.startsWith(jr.protocol)}getLocalPath(e,t){return this.getWorkspace(e,t).cwd}async fetch(e,t){let i=this.getWorkspace(e,t).cwd;return{packageFs:new jt(i),prefixPath:Oe.dot,localPath:i}}getWorkspace(e,t){return t.project.getWorkspaceByCwd(e.reference.slice(jr.protocol.length))}};var ww={};ut(ww,{getDefaultGlobalFolder:()=>ND,getHomeFolder:()=>iC,isFolderInside:()=>LD});var FD=J(\"os\");function ND(){if(process.platform===\"win32\"){let r=K.toPortablePath(process.env.LOCALAPPDATA||K.join((0,FD.homedir)(),\"AppData\",\"Local\"));return x.resolve(r,\"Yarn/Berry\")}if(process.env.XDG_DATA_HOME){let r=K.toPortablePath(process.env.XDG_DATA_HOME);return x.resolve(r,\"yarn/berry\")}return x.resolve(iC(),\".yarn/berry\")}function iC(){return K.toPortablePath((0,FD.homedir)()||\"/usr/local/share\")}function LD(r,e){let t=x.relative(e,r);return t&&!t.startsWith(\"..\")&&!x.isAbsolute(t)}var Cs={};ut(Cs,{availableParallelism:()=>MD,builtinModules:()=>TD,getArchitecture:()=>nC,getArchitectureName:()=>JSe,getArchitectureSet:()=>OD,openUrl:()=>jSe});var U8=Pe(J(\"module\")),bw=Pe(J(\"os\"));var K8=new Map([[\"darwin\",\"open\"],[\"linux\",\"xdg-open\"],[\"win32\",\"explorer.exe\"]]).get(process.platform),jSe=typeof K8<\"u\"?async r=>{try{return await KD(K8,[r],{cwd:x.cwd()}),!0}catch{return!1}}:void 0;function TD(){return new Set(U8.default.builtinModules||Object.keys(process.binding(\"natives\")))}function qSe(){var i,n,s,o;if(process.platform===\"win32\")return null;let e=(s=((n=(i=process.report)==null?void 0:i.getReport())!=null?n:{}).sharedObjects)!=null?s:[],t=/\\/(?:(ld-linux-|[^/]+-linux-gnu\\/)|(libc.musl-|ld-musl-))/;return(o=Ld(e,a=>{let l=a.match(t);if(!l)return Ld.skip;if(l[1])return\"glibc\";if(l[2])return\"musl\";throw new Error(\"Assertion failed: Expected the libc variant to have been detected\")}))!=null?o:null}var Bw,Qw;function nC(){return Bw=Bw!=null?Bw:{os:process.platform,cpu:process.arch,libc:qSe()}}function JSe(r=nC()){return r.libc?`${r.os}-${r.cpu}-${r.libc}`:`${r.os}-${r.cpu}`}function OD(){let r=nC();return Qw=Qw!=null?Qw:{os:[r.os],cpu:[r.cpu],libc:r.libc?[r.libc]:[]}}function MD(){return\"availableParallelism\"in bw.default?bw.default.availableParallelism():Math.max(1,bw.default.cpus().length)}var WSe=new Set([\"isTestEnv\",\"injectNpmUser\",\"injectNpmPassword\",\"injectNpm2FaToken\",\"binFolder\",\"version\",\"flags\",\"profile\",\"gpg\",\"ignoreNode\",\"wrapOutput\",\"home\",\"confDir\"]),Pw=\"yarn_\",YD=\".yarnrc.yml\",jD=\"yarn.lock\",zSe=\"********\",qD=(u=>(u.ANY=\"ANY\",u.BOOLEAN=\"BOOLEAN\",u.ABSOLUTE_PATH=\"ABSOLUTE_PATH\",u.LOCATOR=\"LOCATOR\",u.LOCATOR_LOOSE=\"LOCATOR_LOOSE\",u.NUMBER=\"NUMBER\",u.STRING=\"STRING\",u.SECRET=\"SECRET\",u.SHAPE=\"SHAPE\",u.MAP=\"MAP\",u))(qD||{}),vi=Ue,UD={lastUpdateCheck:{description:\"Last timestamp we checked whether new Yarn versions were available\",type:\"STRING\",default:null},yarnPath:{description:\"Path to the local executable that must be used over the global one\",type:\"ABSOLUTE_PATH\",default:null},ignorePath:{description:\"If true, the local executable will be ignored when using the global one\",type:\"BOOLEAN\",default:!1},ignoreCwd:{description:\"If true, the `--cwd` flag will be ignored\",type:\"BOOLEAN\",default:!1},cacheKeyOverride:{description:\"A global cache key override; used only for test purposes\",type:\"STRING\",default:null},globalFolder:{description:\"Folder where all system-global files are stored\",type:\"ABSOLUTE_PATH\",default:ND()},cacheFolder:{description:\"Folder where the cache files must be written\",type:\"ABSOLUTE_PATH\",default:\"./.yarn/cache\"},compressionLevel:{description:\"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)\",type:\"NUMBER\",values:[\"mixed\",0,1,2,3,4,5,6,7,8,9],default:Ol},virtualFolder:{description:\"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)\",type:\"ABSOLUTE_PATH\",default:\"./.yarn/__virtual__\"},lockfileFilename:{description:\"Name of the files where the Yarn dependency tree entries must be stored\",type:\"STRING\",default:jD},installStatePath:{description:\"Path of the file where the install state will be persisted\",type:\"ABSOLUTE_PATH\",default:\"./.yarn/install-state.gz\"},immutablePatterns:{description:\"Array of glob patterns; files matching them won't be allowed to change during immutable installs\",type:\"STRING\",default:[],isArray:!0},rcFilename:{description:\"Name of the files where the configuration can be found\",type:\"STRING\",default:xw()},enableGlobalCache:{description:\"If true, the system-wide cache folder will be used regardless of `cache-folder`\",type:\"BOOLEAN\",default:!1},enableColors:{description:\"If true, the CLI is allowed to use colors in its output\",type:\"BOOLEAN\",default:Ly,defaultText:\"<dynamic>\"},enableHyperlinks:{description:\"If true, the CLI is allowed to use hyperlinks in its output\",type:\"BOOLEAN\",default:Mx,defaultText:\"<dynamic>\"},enableInlineBuilds:{description:\"If true, the CLI will print the build output on the command line\",type:\"BOOLEAN\",default:Sw.isCI,defaultText:\"<dynamic>\"},enableMessageNames:{description:\"If true, the CLI will prefix most messages with codes suitable for search engines\",type:\"BOOLEAN\",default:!0},enableProgressBars:{description:\"If true, the CLI is allowed to show a progress bar for long-running events\",type:\"BOOLEAN\",default:!Sw.isCI,defaultText:\"<dynamic>\"},enableTimers:{description:\"If true, the CLI is allowed to print the time spent executing commands\",type:\"BOOLEAN\",default:!0},preferAggregateCacheInfo:{description:\"If true, the CLI will only print a one-line report of any cache changes\",type:\"BOOLEAN\",default:Sw.isCI},preferInteractive:{description:\"If true, the CLI will automatically use the interactive mode when called from a TTY\",type:\"BOOLEAN\",default:!1},preferTruncatedLines:{description:\"If true, the CLI will truncate lines that would go beyond the size of the terminal\",type:\"BOOLEAN\",default:!1},progressBarStyle:{description:\"Which style of progress bar should be used (only when progress bars are enabled)\",type:\"STRING\",default:void 0,defaultText:\"<dynamic>\"},defaultLanguageName:{description:\"Default language mode that should be used when a package doesn't offer any insight\",type:\"STRING\",default:\"node\"},defaultProtocol:{description:\"Default resolution protocol used when resolving pure semver and tag ranges\",type:\"STRING\",default:\"npm:\"},enableTransparentWorkspaces:{description:\"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol\",type:\"BOOLEAN\",default:!0},supportedArchitectures:{description:\"Architectures that Yarn will fetch and inject into the resolver\",type:\"SHAPE\",properties:{os:{description:\"Array of supported process.platform strings, or null to target them all\",type:\"STRING\",isArray:!0,isNullable:!0,default:[\"current\"]},cpu:{description:\"Array of supported process.arch strings, or null to target them all\",type:\"STRING\",isArray:!0,isNullable:!0,default:[\"current\"]},libc:{description:\"Array of supported libc libraries, or null to target them all\",type:\"STRING\",isArray:!0,isNullable:!0,default:[\"current\"]}}},enableMirror:{description:\"If true, the downloaded packages will be retrieved and stored in both the local and global folders\",type:\"BOOLEAN\",default:!0},enableNetwork:{description:\"If false, the package manager will refuse to use the network if required to\",type:\"BOOLEAN\",default:!0},httpProxy:{description:\"URL of the http proxy that must be used for outgoing http requests\",type:\"STRING\",default:null},httpsProxy:{description:\"URL of the http proxy that must be used for outgoing https requests\",type:\"STRING\",default:null},unsafeHttpWhitelist:{description:\"List of the hostnames for which http queries are allowed (glob patterns are supported)\",type:\"STRING\",default:[],isArray:!0},httpTimeout:{description:\"Timeout of each http request in milliseconds\",type:\"NUMBER\",default:6e4},httpRetry:{description:\"Retry times on http failure\",type:\"NUMBER\",default:3},networkConcurrency:{description:\"Maximal number of concurrent requests\",type:\"NUMBER\",default:50},networkSettings:{description:\"Network settings per hostname (glob patterns are supported)\",type:\"MAP\",valueDefinition:{description:\"\",type:\"SHAPE\",properties:{caFilePath:{description:\"Path to file containing one or multiple Certificate Authority signing certificates\",type:\"ABSOLUTE_PATH\",default:null},enableNetwork:{description:\"If false, the package manager will refuse to use the network if required to\",type:\"BOOLEAN\",default:null},httpProxy:{description:\"URL of the http proxy that must be used for outgoing http requests\",type:\"STRING\",default:null},httpsProxy:{description:\"URL of the http proxy that must be used for outgoing https requests\",type:\"STRING\",default:null},httpsKeyFilePath:{description:\"Path to file containing private key in PEM format\",type:\"ABSOLUTE_PATH\",default:null},httpsCertFilePath:{description:\"Path to file containing certificate chain in PEM format\",type:\"ABSOLUTE_PATH\",default:null}}}},caFilePath:{description:\"A path to a file containing one or multiple Certificate Authority signing certificates\",type:\"ABSOLUTE_PATH\",default:null},httpsKeyFilePath:{description:\"Path to file containing private key in PEM format\",type:\"ABSOLUTE_PATH\",default:null},httpsCertFilePath:{description:\"Path to file containing certificate chain in PEM format\",type:\"ABSOLUTE_PATH\",default:null},enableStrictSsl:{description:\"If false, SSL certificate errors will be ignored\",type:\"BOOLEAN\",default:!0},logFilters:{description:\"Overrides for log levels\",type:\"SHAPE\",isArray:!0,concatenateValues:!0,properties:{code:{description:\"Code of the messages covered by this override\",type:\"STRING\",default:void 0},text:{description:\"Code of the texts covered by this override\",type:\"STRING\",default:void 0},pattern:{description:\"Code of the patterns covered by this override\",type:\"STRING\",default:void 0},level:{description:\"Log level override, set to null to remove override\",type:\"STRING\",values:Object.values(Oy),isNullable:!0,default:void 0}}},enableTelemetry:{description:\"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry\",type:\"BOOLEAN\",default:!0},telemetryInterval:{description:\"Minimal amount of time between two telemetry uploads, in days\",type:\"NUMBER\",default:7},telemetryUserId:{description:\"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.\",type:\"STRING\",default:null},enableScripts:{description:\"If true, packages are allowed to have install scripts by default\",type:\"BOOLEAN\",default:!0},enableStrictSettings:{description:\"If true, unknown settings will cause Yarn to abort\",type:\"BOOLEAN\",default:!0},enableImmutableCache:{description:\"If true, the cache is reputed immutable and actions that would modify it will throw\",type:\"BOOLEAN\",default:!1},checksumBehavior:{description:\"Enumeration defining what to do when a checksum doesn't match expectations\",type:\"STRING\",default:\"throw\"},packageExtensions:{description:\"Map of package corrections to apply on the dependency tree\",type:\"MAP\",valueDefinition:{description:\"The extension that will be applied to any package whose version matches the specified range\",type:\"SHAPE\",properties:{dependencies:{description:\"The set of dependencies that must be made available to the current package in order for it to work properly\",type:\"MAP\",valueDefinition:{description:\"A range\",type:\"STRING\"}},peerDependencies:{description:\"Inherited dependencies - the consumer of the package will be tasked to provide them\",type:\"MAP\",valueDefinition:{description:\"A semver range\",type:\"STRING\"}},peerDependenciesMeta:{description:\"Extra information related to the dependencies listed in the peerDependencies field\",type:\"MAP\",valueDefinition:{description:\"The peerDependency meta\",type:\"SHAPE\",properties:{optional:{description:\"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error\",type:\"BOOLEAN\",default:!1}}}}}}}};function JD(r,e,t,i,n){if(i.isArray||i.type===\"ANY\"&&Array.isArray(t))return Array.isArray(t)?t.map((s,o)=>HD(r,`${e}[${o}]`,s,i,n)):String(t).split(/,/).map(s=>HD(r,e,s,i,n));if(Array.isArray(t))throw new Error(`Non-array configuration settings \"${e}\" cannot be an array`);return HD(r,e,t,i,n)}function HD(r,e,t,i,n){var a;switch(i.type){case\"ANY\":return t;case\"SHAPE\":return VSe(r,e,t,i,n);case\"MAP\":return XSe(r,e,t,i,n)}if(t===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings \"${e}\" cannot be set to null`);if((a=i.values)!=null&&a.includes(t))return t;let o=(()=>{if(i.type===\"BOOLEAN\"&&typeof t!=\"string\")return Td(t);if(typeof t!=\"string\")throw new Error(`Expected value (${t}) to be a string`);let l=kx(t,{env:process.env});switch(i.type){case\"ABSOLUTE_PATH\":return x.resolve(n,K.toPortablePath(l));case\"LOCATOR_LOOSE\":return Cc(l,!1);case\"NUMBER\":return parseInt(l);case\"LOCATOR\":return Cc(l);case\"BOOLEAN\":return Td(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(\", \")}`);return o}function VSe(r,e,t,i,n){if(typeof t!=\"object\"||Array.isArray(t))throw new be(`Object configuration settings \"${e}\" must be an object`);let s=WD(r,i,{ignoreArrays:!0});if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=`${e}.${o}`;if(!i.properties[o])throw new be(`Unrecognized configuration settings found: ${e}.${o} - run \"yarn config -v\" to see the list of settings supported in Yarn`);s.set(o,JD(r,l,a,i.properties[o],n))}return s}function XSe(r,e,t,i,n){let s=new Map;if(typeof t!=\"object\"||Array.isArray(t))throw new be(`Map configuration settings \"${e}\" must be an object`);if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,JD(r,c,a,u,n))}return s}function WD(r,e,{ignoreArrays:t=!1}={}){switch(e.type){case\"SHAPE\":{if(e.isArray&&!t)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,WD(r,s));return i}break;case\"MAP\":return e.isArray&&!t?[]:new Map;case\"ABSOLUTE_PATH\":return e.default===null?null:r.projectCwd===null?x.isAbsolute(e.default)?x.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>x.resolve(r.projectCwd,i)):x.resolve(r.projectCwd,e.default);default:return e.default}}function vw(r,e,t){if(e.type===\"SECRET\"&&typeof r==\"string\"&&t.hideSecrets)return zSe;if(e.type===\"ABSOLUTE_PATH\"&&typeof r==\"string\"&&t.getNativePaths)return K.fromPortablePath(r);if(e.isArray&&Array.isArray(r)){let i=[];for(let n of r)i.push(vw(n,e,t));return i}if(e.type===\"MAP\"&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries())i.set(n,vw(s,e.valueDefinition,t));return i}if(e.type===\"SHAPE\"&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries()){let o=e.properties[n];i.set(n,vw(s,o,t))}return i}return r}function _Se(){let r={};for(let[e,t]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(Pw)&&(e=(0,H8.default)(e.slice(Pw.length)),r[e]=t);return r}function xw(){let r=`${Pw}rc_filename`;for(let[e,t]of Object.entries(process.env))if(e.toLowerCase()===r&&typeof t==\"string\")return t;return YD}var zD=(i=>(i[i.LOCKFILE=0]=\"LOCKFILE\",i[i.MANIFEST=1]=\"MANIFEST\",i[i.NONE=2]=\"NONE\",i))(zD||{}),Na=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,t,i){let n=new Na(e);typeof t<\"u\"&&!(t instanceof Map)&&(n.projectCwd=t),n.importSettings(UD);let s=typeof i<\"u\"?i:t instanceof Map?t:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,t,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=_Se();delete a.rcFilename;let l=await Na.findRcFiles(e),c=await Na.findHomeRcFile();if(c){let B=l.find(v=>v.path===c.path);B?B.strict=!1:l.push({...c,strict:!1})}let u=({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:L})=>({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:L}),g=({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:L,...H})=>H,f=new Na(e);f.importSettings(u(UD)),f.useWithSource(\"<environment>\",u(a),e,{strict:!1});for(let{path:B,cwd:v,data:D}of l)f.useWithSource(B,u(D),v,{strict:!1});if(s){let B=f.get(\"yarnPath\"),v=f.get(\"ignorePath\");if(B!==null&&!v)return f}let h=f.get(\"lockfileFilename\"),p;switch(i){case 0:p=await Na.findProjectCwd(e,h);break;case 1:p=await Na.findProjectCwd(e,null);break;case 2:M.existsSync(x.join(e,\"package.json\"))?p=x.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(UD));let C=new Map([[\"@@core\",_4]]),y=B=>\"default\"in B?B.default:B;if(t!==null){for(let L of t.plugins.keys())C.set(L,y(t.modules.get(L)));let B=new Map;for(let L of TD())B.set(L,()=>Af(L));for(let[L,H]of t.modules)B.set(L,()=>H);let v=new Set,D=async(L,H)=>{let{factory:j,name:$}=Af(L);if(v.has($))return;let V=new Map(B),W=A=>{if(V.has(A))return V.get(A)();throw new be(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},Z=await of(async()=>y(await j(W)),A=>`${A} (when initializing ${$}, defined in ${H})`);B.set($,()=>Z),v.add($),C.set($,Z)};if(a.plugins)for(let L of a.plugins.split(\";\")){let H=x.resolve(e,K.toPortablePath(L));await D(H,\"<environment>\")}for(let{path:L,cwd:H,data:j}of l)if(!!o&&!!Array.isArray(j.plugins))for(let $ of j.plugins){let V=typeof $!=\"string\"?$.path:$,W=x.resolve(H,K.toPortablePath(V));await D(W,L)}}for(let[B,v]of C)f.activatePlugin(B,v);f.useWithSource(\"<environment>\",g(a),e,{strict:n});for(let{path:B,cwd:v,data:D,strict:L}of l)f.useWithSource(B,g(D),v,{strict:L!=null?L:n});return f.get(\"enableGlobalCache\")&&(f.values.set(\"cacheFolder\",`${f.get(\"globalFolder\")}/cache`),f.sources.set(\"cacheFolder\",\"<internal>\")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let t=xw(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=x.join(s,t);if(M.existsSync(o)){let a=await M.readFilePromise(o,\"utf8\"),l;try{l=Ii(a)}catch{let u=\"\";throw a.match(/^\\s+(?!-)[^:]+\\s+\\S+/m)&&(u=\" (in particular, make sure you list the colons after each key name)\"),new be(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=x.dirname(s)}return i}static async findHomeRcFile(){let e=xw(),t=iC(),i=x.join(t,e);if(M.existsSync(i)){let n=await M.readFilePromise(i,\"utf8\"),s=Ii(n);return{path:i,cwd:t,data:s}}return null}static async findProjectCwd(e,t){let i=null,n=e,s=null;for(;n!==s;){if(s=n,M.existsSync(x.join(s,\"package.json\"))&&(i=s),t!==null){if(M.existsSync(x.join(s,t))){i=s;break}}else if(i!==null)break;n=x.dirname(s)}return i}static async updateConfiguration(e,t){let i=xw(),n=x.join(e,i),s=M.existsSync(n)?Ii(await M.readFilePromise(n,\"utf8\")):{},o=!1,a;if(typeof t==\"function\"){try{a=t(s)}catch{a=t({})}if(a===s)return}else{a=s;for(let l of Object.keys(t)){let c=s[l],u=t[l],g;if(typeof u==\"function\")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await M.changeFilePromise(n,Ca(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let t=iC();return await Na.updateConfiguration(t,e)}activatePlugin(e,t){this.plugins.set(e,t),typeof t.configuration<\"u\"&&this.importSettings(t.configuration)}importSettings(e){for(let[t,i]of Object.entries(e))if(i!=null){if(this.settings.has(t))throw new Error(`Cannot redefine settings \"${t}\"`);this.settings.set(t,i),this.values.set(t,WD(this,i))}}useWithSource(e,t,i,n){try{this.use(e,t,i,n)}catch(s){throw s.message+=` (in ${Ze(this,e,Ue.PATH)})`,s}}use(e,t,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get(\"enableStrictSettings\");for(let o of[\"enableStrictSettings\",...Object.keys(t)]){if(typeof t[o]>\"u\"||o===\"plugins\"||e===\"<environment>\"&&WSe.has(o))continue;if(o===\"rcFilename\")throw new be(`The rcFilename settings can only be set via ${`${Pw}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new be(`Unrecognized or legacy configuration settings found: ${o} - run \"yarn config -v\" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===\"MAP\"||l.isArray&&l.concatenateValues))continue;let c;try{c=JD(this,o,t[o],l,i)}catch(u){throw u.message+=` in ${Ze(this,e,Ue.PATH)}`,u}if(o===\"enableStrictSettings\"&&e!==\"<environment>\"){n=c;continue}if(l.type===\"MAP\"){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key \"${e}\"`);return this.values.get(e)}getSpecial(e,{hideSecrets:t=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s>\"u\")throw new be(`Couldn't find a configuration settings named \"${e}\"`);return vw(n,s,{hideSecrets:t,getNativePaths:i})}getSubprocessStreams(e,{header:t,prefix:i,report:n}){let s,o,a=M.createWriteStream(e);if(this.get(\"enableInlineBuilds\")){let l=n.createStreamReporter(`${i} ${Ze(this,\"STDOUT\",\"green\")}`),c=n.createStreamReporter(`${i} ${Ze(this,\"STDERR\",\"red\")}`);s=new GD.PassThrough,s.pipe(l),s.pipe(a),o=new GD.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof t<\"u\"&&s.write(`${t}\n`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let t of this.plugins.values())for(let i of t.resolvers||[])e.push(new i);return new yf([new rC,new jr,new yw,...e])}makeFetcher(){let e=[];for(let t of this.plugins.values())for(let i of t.fetchers||[])e.push(new i);return new If([new Bf,new bf,...e])}getLinkers(){let e=[];for(let t of this.plugins.values())for(let i of t.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=nC(),t=this.get(\"supportedArchitectures\"),i=t.get(\"os\");i!==null&&(i=i.map(o=>o===\"current\"?e.os:o));let n=t.get(\"cpu\");n!==null&&(n=n.map(o=>o===\"current\"?e.cpu:o));let s=t.get(\"libc\");return s!==null&&(s=To(s,o=>{var a;return o===\"current\"?(a=e.libc)!=null?a:To.skip:o})),{os:i,cpu:n,libc:s}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,t=(i,n,{userProvided:s=!1}={})=>{if(!to(i.range))throw new Error(\"Only semver ranges are allowed as keys for the packageExtensions setting\");let o=new ot;o.load(n,{yamlCompatibilityMode:!0});let a=nf(e,i.identHash),l=[];a.push([i.range,l]);let c={status:\"inactive\",userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push({...c,type:\"Dependency\",descriptor:u});for(let u of o.peerDependencies.values())l.push({...c,type:\"PeerDependency\",descriptor:u});for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push({...c,type:\"PeerDependencyMeta\",selector:u,key:f,value:h})};await this.triggerHook(i=>i.registerPackageExtensions,this,t);for(let[i,n]of this.get(\"packageExtensions\"))t(MA(i,!0),Fy(n),{userProvided:!0})}normalizePackage(e){let t=qd(e);if(this.packageExtensions==null)throw new Error(\"refreshPackageExtensions has to be called before normalizing packages\");let i=this.packageExtensions.get(e.identHash);if(typeof i<\"u\"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!mc(s,o))for(let l of a)switch(l.status===\"inactive\"&&(l.status=\"redundant\"),l.type){case\"Dependency\":typeof t.dependencies.get(l.descriptor.identHash)>\"u\"&&(l.status=\"active\",t.dependencies.set(l.descriptor.identHash,l.descriptor));break;case\"PeerDependency\":typeof t.peerDependencies.get(l.descriptor.identHash)>\"u\"&&(l.status=\"active\",t.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case\"PeerDependencyMeta\":{let c=t.peerDependenciesMeta.get(l.selector);(typeof c>\"u\"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=\"active\",xa(t.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:Px(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of t.peerDependenciesMeta.keys()){let o=_i(s);t.peerDependencies.has(o.identHash)||t.peerDependencies.set(o.identHash,Zt(o,\"*\"))}for(let s of t.peerDependencies.values()){if(s.scope===\"types\")continue;let o=n(s),a=Ho(\"types\",o),l=Ot(a);t.peerDependencies.has(a.identHash)||t.peerDependenciesMeta.has(l)||(t.peerDependencies.set(a.identHash,Zt(a,\"*\")),t.peerDependenciesMeta.set(l,{optional:!0}))}return t.dependencies=new Map(wn(t.dependencies,([,s])=>Qn(s))),t.peerDependencies=new Map(wn(t.peerDependencies,([,s])=>Qn(s))),t}getLimit(e){return xa(this.limits,e,()=>(0,G8.default)(this.get(e)))}async triggerHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...t)}}async triggerMultipleHooks(e,t){for(let i of t)await this.triggerHook(e,...i)}async reduceHook(e,t,...i){let n=t;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...t);if(typeof o<\"u\")return o}return null}},ye=Na;ye.telemetry=null;var ZD=(i=>(i[i.Never=0]=\"Never\",i[i.ErrorCode=1]=\"ErrorCode\",i[i.Always=2]=\"Always\",i))(ZD||{}),sC=class extends at{constructor({fileName:t,code:i,signal:n}){let s=ye.create(x.cwd()),o=Ze(s,t,Ue.PATH);super(1,`Child ${o} reported an error`,a=>{$Se(i,n,{configuration:s,report:a})});this.code=$D(i,n)}},Dw=class extends sC{constructor({fileName:t,code:i,signal:n,stdout:s,stderr:o}){super({fileName:t,code:i,signal:n});this.stdout=s,this.stderr=o}};function yc(r){return r!==null&&typeof r.fd==\"number\"}var wc=new Set;function VD(){}function XD(){for(let r of wc)r.kill()}async function Yo(r,e,{cwd:t,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=[\"pipe\",\"pipe\",\"pipe\"];s===null?c[0]=\"ignore\":yc(s)&&(c[0]=s),yc(o)&&(c[1]=o),yc(a)&&(c[2]=a);let u=(0,_D.default)(r,e,{cwd:K.fromPortablePath(t),env:{...i,PWD:K.fromPortablePath(t)},stdio:c});wc.add(u),wc.size===1&&(process.on(\"SIGINT\",VD),process.on(\"SIGTERM\",XD)),!yc(s)&&s!==null&&s.pipe(u.stdin),yc(o)||u.stdout.pipe(o,{end:!1}),yc(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))yc(f)||f.end()};return new Promise((f,h)=>{u.on(\"error\",p=>{wc.delete(u),wc.size===0&&(process.off(\"SIGINT\",VD),process.off(\"SIGTERM\",XD)),(l===2||l===1)&&g(),h(p)}),u.on(\"close\",(p,C)=>{wc.delete(u),wc.size===0&&(process.off(\"SIGINT\",VD),process.off(\"SIGTERM\",XD)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:$D(p,C)}):h(new sC({fileName:r,code:p,signal:C}))})})}async function KD(r,e,{cwd:t,env:i=process.env,encoding:n=\"utf8\",strict:s=!1}){let o=[\"ignore\",\"pipe\",\"pipe\"],a=[],l=[],c=K.fromPortablePath(t);typeof i.PWD<\"u\"&&(i={...i,PWD:c});let u=(0,_D.default)(r,e,{cwd:c,env:i,stdio:o});return u.stdout.on(\"data\",g=>{a.push(g)}),u.stderr.on(\"data\",g=>{l.push(g)}),await new Promise((g,f)=>{u.on(\"error\",h=>{let p=ye.create(t),C=Ze(p,r,Ue.PATH);f(new at(1,`Process ${C} failed to spawn`,y=>{y.reportError(1,`  ${Oo(p,{label:\"Thrown Error\",value:eo(Ue.NO_HINT,h.message)})}`)}))}),u.on(\"close\",(h,p)=>{let C=n===\"buffer\"?Buffer.concat(a):Buffer.concat(a).toString(n),y=n===\"buffer\"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:$D(h,p),stdout:C,stderr:y}):f(new Dw({fileName:r,code:h,signal:p,stdout:C,stderr:y}))})})}var ZSe=new Map([[\"SIGINT\",2],[\"SIGQUIT\",3],[\"SIGKILL\",9],[\"SIGTERM\",15]]);function $D(r,e){let t=ZSe.get(e);return typeof t<\"u\"?128+t:r!=null?r:1}function $Se(r,e,{configuration:t,report:i}){i.reportError(1,`  ${Oo(t,r!==null?{label:\"Exit Code\",value:eo(Ue.NUMBER,r)}:{label:\"Exit Signal\",value:eo(Ue.CODE,e)})}`)}var Vt={};ut(Vt,{Method:()=>BV,RequestError:()=>QV.RequestError,del:()=>cDe,get:()=>ADe,getNetworkSettings:()=>wV,post:()=>pR,put:()=>lDe,request:()=>dC});var EV=Pe(nB()),IV=J(\"https\"),yV=J(\"http\"),hR=Pe(yn()),fR=Pe(pV()),sB=J(\"url\");var QV=Pe(nB()),dV=new Map,CV=new Map,sDe=new yV.Agent({keepAlive:!0}),oDe=new IV.Agent({keepAlive:!0});function mV(r){let e=new sB.URL(r),t={host:e.hostname,headers:{}};return e.port&&(t.port=Number(e.port)),{proxy:t}}async function gR(r){return xa(CV,r,()=>M.readFilePromise(r).then(e=>(CV.set(r,e),e)))}function aDe({statusCode:r,statusMessage:e},t){let i=Ze(t,r,Ue.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${r}`;return cf(t,`${i}${e?` (${e})`:\"\"}`,n)}async function oB(r,{configuration:e,customErrorMessage:t}){var i,n;try{return await r}catch(s){if(s.name!==\"HTTPError\")throw s;let o=(n=t==null?void 0:t(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith(\"Response code\")?o=\"The remote server failed to provide the requested resource\":o=s.message),s instanceof EV.TimeoutError&&s.event===\"socket\"&&(o+=`(can be increased via ${Ze(e,\"httpTimeout\",Ue.SETTING)})`);let a=new at(35,o,l=>{s.response&&l.reportError(35,`  ${Oo(e,{label:\"Response Code\",value:eo(Ue.NO_HINT,aDe(s.response,e))})}`),s.request&&(l.reportError(35,`  ${Oo(e,{label:\"Request Method\",value:eo(Ue.NO_HINT,s.request.options.method)})}`),l.reportError(35,`  ${Oo(e,{label:\"Request URL\",value:eo(Ue.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(35,`  ${Oo(e,{label:\"Request Redirects\",value:eo(Ue.NO_HINT,Kx(e,s.request.redirects,Ue.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(35,`  ${Oo(e,{label:\"Request Retry Count\",value:eo(Ue.NO_HINT,`${Ze(e,s.request.retryCount,Ue.NUMBER)} (can be increased via ${Ze(e,\"httpRetry\",Ue.SETTING)})`)})}`)});throw a.originalError=s,a}}function wV(r,e){let t=[...e.configuration.get(\"networkSettings\")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},n=Object.keys(i),s=typeof r==\"string\"?new sB.URL(r):r;for(let[o,a]of t)if(hR.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]>\"u\"&&(i[l]=c)}for(let o of n)typeof i[o]>\"u\"&&(i[o]=e.configuration.get(o));return i}var BV=(n=>(n.GET=\"GET\",n.PUT=\"PUT\",n.POST=\"POST\",n.DELETE=\"DELETE\",n))(BV||{});async function dC(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o=\"GET\"}){let a=async()=>await uDe(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o});return await(await t.reduceHook(c=>c.wrapNetworkRequest,a,{target:r,body:e,configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o}))()}async function ADe(r,{configuration:e,jsonResponse:t,...i}){let n=xa(dV,r,()=>oB(dC(r,null,{configuration:e,...i}),{configuration:e}).then(s=>(dV.set(r,s.body),s.body)));return Buffer.isBuffer(n)===!1&&(n=await n),t?JSON.parse(n.toString()):n}async function lDe(r,e,{customErrorMessage:t,...i}){return(await oB(dC(r,e,{...i,method:\"PUT\"}),i)).body}async function pR(r,e,{customErrorMessage:t,...i}){return(await oB(dC(r,e,{...i,method:\"POST\"}),i)).body}async function cDe(r,{customErrorMessage:e,...t}){return(await oB(dC(r,null,{...t,method:\"DELETE\"}),t)).body}async function uDe(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o=\"GET\"}){let a=typeof r==\"string\"?new sB.URL(r):r,l=wV(a,{configuration:t});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol===\"http:\"&&!hR.default.isMatch(a.hostname,t.get(\"unsafeHttpWhitelist\")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?fR.default.httpOverHttp(mV(l.httpProxy)):sDe,https:l.httpsProxy?fR.default.httpsOverHttp(mV(l.httpsProxy)):oDe},headers:i,method:o};u.responseType=s?\"json\":\"buffer\",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e==\"string\"?u.body=e:u.json=e);let g=t.get(\"httpTimeout\"),f=t.get(\"httpRetry\"),h=t.get(\"enableStrictSsl\"),p=l.caFilePath,C=l.httpsCertFilePath,y=l.httpsKeyFilePath,{default:B}=await Promise.resolve().then(()=>Pe(nB())),v=p?await gR(p):void 0,D=C?await gR(C):void 0,L=y?await gR(y):void 0,H=B.extend({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:v,certificate:D,key:L},...u});return t.getLimit(\"networkConcurrency\")(()=>H(a))}var Jt={};ut(Jt,{PackageManager:()=>T6,detectPackageManager:()=>O6,executePackageAccessibleBinary:()=>G6,executePackageScript:()=>wB,executePackageShellcode:()=>DR,executeWorkspaceAccessibleBinary:()=>Dke,executeWorkspaceLifecycleScript:()=>U6,executeWorkspaceScript:()=>K6,getPackageAccessibleBinaries:()=>BB,getWorkspaceAccessibleBinaries:()=>H6,hasPackageScript:()=>vke,hasWorkspaceScript:()=>kR,makeScriptEnv:()=>wC,maybeExecuteWorkspaceLifecycleScript:()=>Pke,prepareExternalProject:()=>Ske});var CC={};ut(CC,{getLibzipPromise:()=>rn,getLibzipSync:()=>DV});var PV=Pe(SV());var qA=[\"number\",\"number\"],vV=(F=>(F[F.ZIP_ER_OK=0]=\"ZIP_ER_OK\",F[F.ZIP_ER_MULTIDISK=1]=\"ZIP_ER_MULTIDISK\",F[F.ZIP_ER_RENAME=2]=\"ZIP_ER_RENAME\",F[F.ZIP_ER_CLOSE=3]=\"ZIP_ER_CLOSE\",F[F.ZIP_ER_SEEK=4]=\"ZIP_ER_SEEK\",F[F.ZIP_ER_READ=5]=\"ZIP_ER_READ\",F[F.ZIP_ER_WRITE=6]=\"ZIP_ER_WRITE\",F[F.ZIP_ER_CRC=7]=\"ZIP_ER_CRC\",F[F.ZIP_ER_ZIPCLOSED=8]=\"ZIP_ER_ZIPCLOSED\",F[F.ZIP_ER_NOENT=9]=\"ZIP_ER_NOENT\",F[F.ZIP_ER_EXISTS=10]=\"ZIP_ER_EXISTS\",F[F.ZIP_ER_OPEN=11]=\"ZIP_ER_OPEN\",F[F.ZIP_ER_TMPOPEN=12]=\"ZIP_ER_TMPOPEN\",F[F.ZIP_ER_ZLIB=13]=\"ZIP_ER_ZLIB\",F[F.ZIP_ER_MEMORY=14]=\"ZIP_ER_MEMORY\",F[F.ZIP_ER_CHANGED=15]=\"ZIP_ER_CHANGED\",F[F.ZIP_ER_COMPNOTSUPP=16]=\"ZIP_ER_COMPNOTSUPP\",F[F.ZIP_ER_EOF=17]=\"ZIP_ER_EOF\",F[F.ZIP_ER_INVAL=18]=\"ZIP_ER_INVAL\",F[F.ZIP_ER_NOZIP=19]=\"ZIP_ER_NOZIP\",F[F.ZIP_ER_INTERNAL=20]=\"ZIP_ER_INTERNAL\",F[F.ZIP_ER_INCONS=21]=\"ZIP_ER_INCONS\",F[F.ZIP_ER_REMOVE=22]=\"ZIP_ER_REMOVE\",F[F.ZIP_ER_DELETED=23]=\"ZIP_ER_DELETED\",F[F.ZIP_ER_ENCRNOTSUPP=24]=\"ZIP_ER_ENCRNOTSUPP\",F[F.ZIP_ER_RDONLY=25]=\"ZIP_ER_RDONLY\",F[F.ZIP_ER_NOPASSWD=26]=\"ZIP_ER_NOPASSWD\",F[F.ZIP_ER_WRONGPASSWD=27]=\"ZIP_ER_WRONGPASSWD\",F[F.ZIP_ER_OPNOTSUPP=28]=\"ZIP_ER_OPNOTSUPP\",F[F.ZIP_ER_INUSE=29]=\"ZIP_ER_INUSE\",F[F.ZIP_ER_TELL=30]=\"ZIP_ER_TELL\",F[F.ZIP_ER_COMPRESSED_DATA=31]=\"ZIP_ER_COMPRESSED_DATA\",F))(vV||{}),xV=r=>({get HEAP8(){return r.HEAP8},get HEAPU8(){return r.HEAPU8},errors:vV,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:r._malloc(1),uint16S:r._malloc(2),uint32S:r._malloc(4),uint64S:r._malloc(8),malloc:r._malloc,free:r._free,getValue:r.getValue,open:r.cwrap(\"zip_open\",\"number\",[\"string\",\"number\",\"number\"]),openFromSource:r.cwrap(\"zip_open_from_source\",\"number\",[\"number\",\"number\",\"number\"]),close:r.cwrap(\"zip_close\",\"number\",[\"number\"]),discard:r.cwrap(\"zip_discard\",null,[\"number\"]),getError:r.cwrap(\"zip_get_error\",\"number\",[\"number\"]),getName:r.cwrap(\"zip_get_name\",\"string\",[\"number\",\"number\",\"number\"]),getNumEntries:r.cwrap(\"zip_get_num_entries\",\"number\",[\"number\",\"number\"]),delete:r.cwrap(\"zip_delete\",\"number\",[\"number\",\"number\"]),stat:r.cwrap(\"zip_stat\",\"number\",[\"number\",\"string\",\"number\",\"number\"]),statIndex:r.cwrap(\"zip_stat_index\",\"number\",[\"number\",...qA,\"number\",\"number\"]),fopen:r.cwrap(\"zip_fopen\",\"number\",[\"number\",\"string\",\"number\"]),fopenIndex:r.cwrap(\"zip_fopen_index\",\"number\",[\"number\",...qA,\"number\"]),fread:r.cwrap(\"zip_fread\",\"number\",[\"number\",\"number\",\"number\",\"number\"]),fclose:r.cwrap(\"zip_fclose\",\"number\",[\"number\"]),dir:{add:r.cwrap(\"zip_dir_add\",\"number\",[\"number\",\"string\"])},file:{add:r.cwrap(\"zip_file_add\",\"number\",[\"number\",\"string\",\"number\",\"number\"]),getError:r.cwrap(\"zip_file_get_error\",\"number\",[\"number\"]),getExternalAttributes:r.cwrap(\"zip_file_get_external_attributes\",\"number\",[\"number\",...qA,\"number\",\"number\",\"number\"]),setExternalAttributes:r.cwrap(\"zip_file_set_external_attributes\",\"number\",[\"number\",...qA,\"number\",\"number\",\"number\"]),setMtime:r.cwrap(\"zip_file_set_mtime\",\"number\",[\"number\",...qA,\"number\",\"number\"]),setCompression:r.cwrap(\"zip_set_file_compression\",\"number\",[\"number\",...qA,\"number\",\"number\"])},ext:{countSymlinks:r.cwrap(\"zip_ext_count_symlinks\",\"number\",[\"number\"])},error:{initWithCode:r.cwrap(\"zip_error_init_with_code\",null,[\"number\",\"number\"]),strerror:r.cwrap(\"zip_error_strerror\",\"string\",[\"number\"])},name:{locate:r.cwrap(\"zip_name_locate\",\"number\",[\"number\",\"string\",\"number\"])},source:{fromUnattachedBuffer:r.cwrap(\"zip_source_buffer_create\",\"number\",[\"number\",\"number\",\"number\",\"number\"]),fromBuffer:r.cwrap(\"zip_source_buffer\",\"number\",[\"number\",\"number\",...qA,\"number\"]),free:r.cwrap(\"zip_source_free\",null,[\"number\"]),keep:r.cwrap(\"zip_source_keep\",null,[\"number\"]),open:r.cwrap(\"zip_source_open\",\"number\",[\"number\"]),close:r.cwrap(\"zip_source_close\",\"number\",[\"number\"]),seek:r.cwrap(\"zip_source_seek\",\"number\",[\"number\",...qA,\"number\"]),tell:r.cwrap(\"zip_source_tell\",\"number\",[\"number\"]),read:r.cwrap(\"zip_source_read\",\"number\",[\"number\",\"number\",\"number\"]),error:r.cwrap(\"zip_source_error\",\"number\",[\"number\"]),setMtime:r.cwrap(\"zip_source_set_mtime\",\"number\",[\"number\",\"number\"])},struct:{stat:r.cwrap(\"zipstruct_stat\",\"number\",[]),statS:r.cwrap(\"zipstruct_statS\",\"number\",[]),statName:r.cwrap(\"zipstruct_stat_name\",\"string\",[\"number\"]),statIndex:r.cwrap(\"zipstruct_stat_index\",\"number\",[\"number\"]),statSize:r.cwrap(\"zipstruct_stat_size\",\"number\",[\"number\"]),statCompSize:r.cwrap(\"zipstruct_stat_comp_size\",\"number\",[\"number\"]),statCompMethod:r.cwrap(\"zipstruct_stat_comp_method\",\"number\",[\"number\"]),statMtime:r.cwrap(\"zipstruct_stat_mtime\",\"number\",[\"number\"]),statCrc:r.cwrap(\"zipstruct_stat_crc\",\"number\",[\"number\"]),error:r.cwrap(\"zipstruct_error\",\"number\",[]),errorS:r.cwrap(\"zipstruct_errorS\",\"number\",[]),errorCodeZip:r.cwrap(\"zipstruct_error_code_zip\",\"number\",[\"number\"])}});var mR=null;function DV(){return mR===null&&(mR=xV((0,PV.default)())),mR}async function rn(){return DV()}var yC={};ut(yC,{ShellError:()=>qn,execute:()=>pB,globUtils:()=>cB});var jV=Pe(ax()),qV=J(\"os\"),Jn=J(\"stream\"),JV=J(\"util\");var qn=class extends Error{constructor(e){super(e),this.name=\"ShellError\"}};var cB={};ut(cB,{fastGlobOptions:()=>FV,isBraceExpansion:()=>ER,isGlobPattern:()=>gDe,match:()=>fDe,micromatchOptions:()=>lB});var kV=Pe(iw()),RV=Pe(J(\"fs\")),AB=Pe(yn()),lB={strictBrackets:!0},FV={onlyDirectories:!1,onlyFiles:!1};function gDe(r){if(!AB.default.scan(r,lB).isGlob)return!1;try{AB.default.parse(r,lB)}catch{return!1}return!0}function fDe(r,{cwd:e,baseFs:t}){return(0,kV.default)(r,{...FV,cwd:K.fromPortablePath(e),fs:XE(RV.default,new Cg(t))})}function ER(r){return AB.default.scan(r,lB).isBrace}var LV=Pe(IS()),qo=J(\"stream\"),TV=J(\"string_decoder\");var Qc=new Set;function IR(){}function yR(){for(let r of Qc)r.kill()}function OV(r,e,t,i){return n=>{let s=n[0]instanceof qo.Transform?\"pipe\":n[0],o=n[1]instanceof qo.Transform?\"pipe\":n[1],a=n[2]instanceof qo.Transform?\"pipe\":n[2],l=(0,LV.default)(r,e,{...i,stdio:[s,o,a]});return Qc.add(l),Qc.size===1&&(process.on(\"SIGINT\",IR),process.on(\"SIGTERM\",yR)),n[0]instanceof qo.Transform&&n[0].pipe(l.stdin),n[1]instanceof qo.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof qo.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on(\"error\",u=>{switch(Qc.delete(l),Qc.size===0&&(process.off(\"SIGINT\",IR),process.off(\"SIGTERM\",yR)),u.code){case\"ENOENT\":n[2].write(`command not found: ${r}\n`),c(127);break;case\"EACCES\":n[2].write(`permission denied: ${r}\n`),c(128);break;default:n[2].write(`uncaught error: ${u.message}\n`),c(1);break}}),l.on(\"close\",u=>{Qc.delete(l),Qc.size===0&&(process.off(\"SIGINT\",IR),process.off(\"SIGTERM\",yR)),c(u!==null?u:129)})})}}}function MV(r){return e=>{let t=e[0]===\"pipe\"?new qo.PassThrough:e[0];return{stdin:t,promise:Promise.resolve().then(()=>r({stdin:t,stdout:e[1],stderr:e[2]}))}}}var ys=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},wR=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error(\"Assertion failed: No stream attached\");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error(\"Assertion failed: No stream attached\");return this.stream}},Mf=class{constructor(e,t){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=t}static start(e,{stdin:t,stdout:i,stderr:n}){let s=new Mf(null,e);return s.stdin=t,s.stdout=i,s.stderr=n,s}pipeTo(e,t=1){let i=new Mf(this,e),n=new wR;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(t&1)===1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(t&2)===2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=[\"ignore\",\"ignore\",\"ignore\"];if(this.pipe)e[0]=\"pipe\";else{if(this.stdin===null)throw new Error(\"Assertion failed: No input stream registered\");e[0]=this.stdin.get()}let t;if(this.stdout===null)throw new Error(\"Assertion failed: No output stream registered\");t=this.stdout,e[1]=t.get();let i;if(this.stderr===null)throw new Error(\"Assertion failed: No error stream registered\");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(t.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function uB(r,e){return Mf.start(r,e)}function NV(r,e=null){let t=new qo.PassThrough,i=new TV.StringDecoder,n=\"\";return t.on(\"data\",s=>{let o=i.write(s),a;do if(a=o.indexOf(`\n`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n=\"\",r(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),t.on(\"end\",()=>{let s=i.end();s!==\"\"&&r(e!==null?`${e} ${s}`:s)}),t}function KV(r,{prefix:e}){return{stdout:NV(t=>r.stdout.write(`${t}\n`),r.stdout.isTTY?e:null),stderr:NV(t=>r.stderr.write(`${t}\n`),r.stderr.isTTY?e:null)}}var hDe=(0,JV.promisify)(setTimeout);function UV(r,e,t){let i=new Jn.PassThrough({autoDestroy:!0});switch(r){case 0:(e&1)===1&&t.stdin.pipe(i,{end:!1}),(e&2)===2&&t.stdin instanceof Jn.Writable&&i.pipe(t.stdin,{end:!1});break;case 1:(e&1)===1&&t.stdout.pipe(i,{end:!1}),(e&2)===2&&i.pipe(t.stdout,{end:!1});break;case 2:(e&1)===1&&t.stderr.pipe(i,{end:!1}),(e&2)===2&&i.pipe(t.stderr,{end:!1});break;default:throw new qn(`Bad file descriptor: \"${r}\"`)}return i}function fB(r,e={}){let t={...r,...e};return t.environment={...r.environment,...e.environment},t.variables={...r.variables,...e.variables},t}var pDe=new Map([[\"cd\",async([r=(0,qV.homedir)(),...e],t,i)=>{let n=x.resolve(i.cwd,K.toPortablePath(r));if(!(await t.baseFs.statPromise(n).catch(o=>{throw o.code===\"ENOENT\"?new qn(`cd: no such file or directory: ${r}`):o})).isDirectory())throw new qn(`cd: not a directory: ${r}`);return i.cwd=n,0}],[\"pwd\",async(r,e,t)=>(t.stdout.write(`${K.fromPortablePath(t.cwd)}\n`),0)],[\":\",async(r,e,t)=>0],[\"true\",async(r,e,t)=>0],[\"false\",async(r,e,t)=>1],[\"exit\",async([r,...e],t,i)=>i.exitCode=parseInt(r!=null?r:i.variables[\"?\"],10)],[\"echo\",async(r,e,t)=>(t.stdout.write(`${r.join(\" \")}\n`),0)],[\"sleep\",async([r],e,t)=>{if(typeof r>\"u\")throw new qn(\"sleep: missing operand\");let i=Number(r);if(Number.isNaN(i))throw new qn(`sleep: invalid time interval '${r}'`);return await hDe(1e3*i,0)}],[\"__ysh_run_procedure\",async(r,e,t)=>{let i=t.procedures[r[0]];return await uB(i,{stdin:new ys(t.stdin),stdout:new ys(t.stdout),stderr:new ys(t.stderr)}).run()}],[\"__ysh_set_redirects\",async(r,e,t)=>{let i=t.stdin,n=t.stdout,s=t.stderr,o=[],a=[],l=[],c=0;for(;r[c]!==\"--\";){let g=r[c++],{type:f,fd:h}=JSON.parse(g),p=v=>{switch(h){case null:case 0:o.push(v);break;default:throw new Error(`Unsupported file descriptor: \"${h}\"`)}},C=v=>{switch(h){case null:case 1:a.push(v);break;case 2:l.push(v);break;default:throw new Error(`Unsupported file descriptor: \"${h}\"`)}},y=Number(r[c++]),B=c+y;for(let v=c;v<B;++c,++v)switch(f){case\"<\":p(()=>e.baseFs.createReadStream(x.resolve(t.cwd,K.toPortablePath(r[v]))));break;case\"<<<\":p(()=>{let D=new Jn.PassThrough;return process.nextTick(()=>{D.write(`${r[v]}\n`),D.end()}),D});break;case\"<&\":p(()=>UV(Number(r[v]),1,t));break;case\">\":case\">>\":{let D=x.resolve(t.cwd,K.toPortablePath(r[v]));C(D===\"/dev/null\"?new Jn.Writable({autoDestroy:!0,emitClose:!0,write(L,H,j){setImmediate(j)}}):e.baseFs.createWriteStream(D,f===\">>\"?{flags:\"a\"}:void 0))}break;case\">&\":C(UV(Number(r[v]),2,t));break;default:throw new Error(`Assertion failed: Unsupported redirection type: \"${f}\"`)}}if(o.length>0){let g=new Jn.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on(\"end\",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new Jn.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new Jn.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await uB(EC(r.slice(c+1),e,t),{stdin:new ys(i),stdout:new ys(n),stderr:new ys(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on(\"error\",p=>{h(p)}),g.on(\"close\",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on(\"error\",p=>{h(p)}),g.on(\"close\",()=>{f()}),g.end()}))),u}]]);async function dDe(r,e,t){let i=[],n=new Jn.PassThrough;return n.on(\"data\",s=>i.push(s)),await hB(r,e,fB(t,{stdout:n})),Buffer.concat(i).toString().replace(/[\\r\\n]+$/,\"\")}async function HV(r,e,t){let i=r.map(async s=>{let o=await bc(s.args,e,t);return{name:s.name,value:o.join(\" \")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function gB(r){return r.match(/[^ \\r\\n\\t]+/g)||[]}async function WV(r,e,t,i,n=i){switch(r.name){case\"$\":i(String(process.pid));break;case\"#\":i(String(e.args.length));break;case\"@\":if(r.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=gB(s);for(let a=0;a<o.length-1;++a)n(o[a]);i(o[o.length-1])}break;case\"*\":{let s=e.args.join(\" \");if(r.quoted)i(s);else for(let o of gB(s))n(o)}break;case\"PPID\":i(String(process.ppid));break;case\"RANDOM\":i(String(Math.floor(Math.random()*32768)));break;default:{let s=parseInt(r.name,10),o,a=Number.isFinite(s);if(a?s>=0&&s<e.args.length&&(o=e.args[s]):Object.prototype.hasOwnProperty.call(t.variables,r.name)?o=t.variables[r.name]:Object.prototype.hasOwnProperty.call(t.environment,r.name)&&(o=t.environment[r.name]),typeof o<\"u\"&&r.alternativeValue?o=(await bc(r.alternativeValue,e,t)).join(\" \"):typeof o>\"u\"&&(r.defaultValue?o=(await bc(r.defaultValue,e,t)).join(\" \"):r.alternativeValue&&(o=\"\")),typeof o>\"u\")throw a?new qn(`Unbound argument #${s}`):new qn(`Unbound variable \"${r.name}\"`);if(r.quoted)i(o);else{let l=gB(o);for(let u=0;u<l.length-1;++u)n(l[u]);let c=l[l.length-1];typeof c<\"u\"&&i(c)}}break}}var CDe={addition:(r,e)=>r+e,subtraction:(r,e)=>r-e,multiplication:(r,e)=>r*e,division:(r,e)=>Math.trunc(r/e)};async function mC(r,e,t){if(r.type===\"number\"){if(Number.isInteger(r.value))return r.value;throw new Error(`Invalid number: \"${r.value}\", only integers are allowed`)}else if(r.type===\"variable\"){let i=[];await WV({...r,quoted:!0},e,t,s=>i.push(s));let n=Number(i.join(\" \"));return Number.isNaN(n)?mC({type:\"variable\",name:i.join(\" \")},e,t):mC({type:\"number\",value:n},e,t)}else return CDe[r.type](await mC(r.left,e,t),await mC(r.right,e,t))}async function bc(r,e,t){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join(\"\")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p>\"u\"&&i.set(h,p=[]),p.push(f)};for(let u of r){let g=!1;switch(u.type){case\"redirection\":{let f=await bc(u.args,e,t);for(let h of f)c(u.subtype,u.fd,h)}break;case\"argument\":for(let f of u.segments)switch(f.type){case\"text\":o(f.text);break;case\"glob\":o(f.pattern),g=!0;break;case\"shell\":{let h=await dDe(f.shell,e,t);if(f.quoted)o(h);else{let p=gB(h);for(let C=0;C<p.length-1;++C)l(p[C]);o(p[p.length-1])}}break;case\"variable\":await WV(f,e,t,o,l);break;case\"arithmetic\":o(String(await mC(f.arithmetic,e,t)));break}break}if(a(),g){let f=n.pop();if(typeof f>\"u\")throw new Error(\"Assertion failed: Expected a glob pattern to have been set\");let h=await e.glob.match(f,{cwd:t.cwd,baseFs:e.baseFs});if(h.length===0){let p=ER(f)?\". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22\":\"\";throw new qn(`No matches found: \"${f}\"${p}`)}for(let p of h.sort())l(p)}}if(i.size>0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,\"__ysh_set_redirects\",...u,\"--\")}return n}function EC(r,e,t){e.builtins.has(r[0])||(r=[\"command\",...r]);let i=K.fromPortablePath(t.cwd),n=t.environment;typeof n.PWD<\"u\"&&(n={...n,PWD:i});let[s,...o]=r;if(s===\"command\")return OV(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a>\"u\")throw new Error(`Assertion failed: A builtin should exist for \"${s}\"`);return MV(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=t;t.stdin=l,t.stdout=c,t.stderr=u;try{return await a(o,e,t)}finally{t.stdin=g,t.stdout=f,t.stderr=h}})}function mDe(r,e,t){return i=>{let n=new Jn.PassThrough,s=hB(r,e,fB(t,{stdin:n}));return{stdin:n,promise:s}}}function EDe(r,e,t){return i=>{let n=new Jn.PassThrough,s=hB(r,e,t);return{stdin:n,promise:s}}}function GV(r,e,t,i){if(e.length===0)return r;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures={...i.procedures},i.procedures[n]=r,EC([...e,\"__ysh_run_procedure\",n],t,i)}}async function YV(r,e,t){let i=r,n=null,s=null;for(;i;){let o=i.then?{...t}:t,a;switch(i.type){case\"command\":{let l=await bc(i.args,e,t),c=await HV(i.envs,e,t);a=i.envs.length?EC(l,e,fB(o,{environment:c})):EC(l,e,o)}break;case\"subshell\":{let l=await bc(i.args,e,t),c=mDe(i.subshell,e,o);a=GV(c,l,e,o)}break;case\"group\":{let l=await bc(i.args,e,t),c=EDe(i.group,e,o);a=GV(c,l,e,o)}break;case\"envs\":{let l=await HV(i.envs,e,t);o.environment={...o.environment,...l},a=EC([\"true\"],e,o)}break}if(typeof a>\"u\")throw new Error(\"Assertion failed: An action should have been generated\");if(n===null)s=uB(a,{stdin:new ys(o.stdin),stdout:new ys(o.stdout),stderr:new ys(o.stderr)});else{if(s===null)throw new Error(\"Assertion failed: The execution pipeline should have been setup\");switch(n){case\"|\":s=s.pipeTo(a,1);break;case\"|&\":s=s.pipeTo(a,3);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error(\"Assertion failed: The execution pipeline should have been setup\");return await s.run()}async function IDe(r,e,t,{background:i=!1}={}){function n(s){let o=[\"#2E86AB\",\"#A23B72\",\"#F18F01\",\"#C73E1D\",\"#CCE2A3\"],a=o[s%o.length];return jV.default.hex(a)}if(i){let s=t.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=KV(t,{prefix:l});return t.backgroundJobs.push(YV(r,e,fB(t,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message}\n`)).finally(()=>{t.stdout.isTTY&&t.stdout.write(`Job ${l}, '${o(Bg(r))}' has ended\n`)})),0}return await YV(r,e,t)}async function yDe(r,e,t,{background:i=!1}={}){let n,s=a=>{n=a,t.variables[\"?\"]=String(a)},o=async a=>{try{return await IDe(a.chain,e,t,{background:i&&typeof a.then>\"u\"})}catch(l){if(!(l instanceof qn))throw l;return t.stderr.write(`${l.message}\n`),1}};for(s(await o(r));r.then;){if(t.exitCode!==null)return t.exitCode;switch(r.then.type){case\"&&\":n===0&&s(await o(r.then.line));break;case\"||\":n!==0&&s(await o(r.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: \"${r.then.type}\"`)}r=r.then.line}return n}async function hB(r,e,t){let i=t.backgroundJobs;t.backgroundJobs=[];let n=0;for(let{command:s,type:o}of r){if(n=await yDe(s,e,t,{background:o===\"&\"}),t.exitCode!==null)return t.exitCode;t.variables[\"?\"]=String(n)}return await Promise.all(t.backgroundJobs),t.backgroundJobs=i,n}function zV(r){switch(r.type){case\"variable\":return r.name===\"@\"||r.name===\"#\"||r.name===\"*\"||Number.isFinite(parseInt(r.name,10))||\"defaultValue\"in r&&!!r.defaultValue&&r.defaultValue.some(e=>IC(e))||\"alternativeValue\"in r&&!!r.alternativeValue&&r.alternativeValue.some(e=>IC(e));case\"arithmetic\":return BR(r.arithmetic);case\"shell\":return QR(r.shell);default:return!1}}function IC(r){switch(r.type){case\"redirection\":return r.args.some(e=>IC(e));case\"argument\":return r.segments.some(e=>zV(e));default:throw new Error(`Assertion failed: Unsupported argument type: \"${r.type}\"`)}}function BR(r){switch(r.type){case\"variable\":return zV(r);case\"number\":return!1;default:return BR(r.left)||BR(r.right)}}function QR(r){return r.some(({command:e})=>{for(;e;){let t=e.chain;for(;t;){let i;switch(t.type){case\"subshell\":i=QR(t.subshell);break;case\"command\":i=t.envs.some(n=>n.args.some(s=>IC(s)))||t.args.some(n=>IC(n));break}if(i)return!0;if(!t.then)break;t=t.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function pB(r,e=[],{baseFs:t=new $t,builtins:i={},cwd:n=K.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=cB}={}){let g={};for(let[p,C]of Object.entries(s))typeof C<\"u\"&&(g[p]=C);let f=new Map(pDe);for(let[p,C]of Object.entries(i))f.set(p,C);o===null&&(o=new Jn.PassThrough,o.end());let h=$E(r,u);if(!QR(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let C=p.chain;for(;C.then;)C=C.then.chain;C.type===\"command\"&&(C.args=C.args.concat(e.map(y=>({type:\"argument\",segments:[{type:\"text\",text:y}]}))))}return await hB(h,{args:e,baseFs:t,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{[\"?\"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var N6=Pe(dB()),L6=Pe(Tg()),JA=J(\"stream\");var R6=Pe(x6()),IB=Pe(Vl());var P6=[\"\\u280B\",\"\\u2819\",\"\\u2839\",\"\\u2838\",\"\\u283C\",\"\\u2834\",\"\\u2826\",\"\\u2827\",\"\\u2807\",\"\\u280F\"],D6=80,Eke=new Set([13,19]),Ike=5,EB=IB.default.GITHUB_ACTIONS?{start:r=>`::group::${r}\n`,end:r=>`::endgroup::\n`}:IB.default.TRAVIS?{start:r=>`travis_fold:start:${r}\n`,end:r=>`travis_fold:end:${r}\n`}:IB.default.GITLAB?{start:r=>`section_start:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\\W+/g,\"_\")}[collapsed=true]\\r\\x1B[0K${r}\n`,end:r=>`section_end:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\\W+/g,\"_\")}\\r\\x1B[0K`}:null,k6=new Date,yke=[\"iTerm.app\",\"Apple_Terminal\",\"WarpTerminal\",\"vscode\"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,wke=r=>r,yB=wke({patrick:{date:[17,3],chars:[\"\\u{1F340}\",\"\\u{1F331}\"],size:40},simba:{date:[19,7],chars:[\"\\u{1F981}\",\"\\u{1F334}\"],size:40},jack:{date:[31,10],chars:[\"\\u{1F383}\",\"\\u{1F987}\"],size:40},hogsfather:{date:[31,12],chars:[\"\\u{1F389}\",\"\\u{1F384}\"],size:40},default:{chars:[\"=\",\"-\"],size:80}}),Bke=yke&&Object.keys(yB).find(r=>{let e=yB[r];return!(e.date&&(e.date[0]!==k6.getDate()||e.date[1]!==k6.getMonth()+1))})||\"default\";function F6(r,{configuration:e,json:t}){if(!e.get(\"enableMessageNames\"))return\"\";let n=QA(r===null?0:r);return!t&&r===null?Ze(e,n,\"grey\"):n}function PR(r,{configuration:e,json:t}){let i=F6(r,{configuration:e,json:t});if(!i||r===null||r===0)return i;let n=Ct[r],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return cf(e,i,s)}var Ge=class extends Si{constructor({configuration:t,stdout:i,json:n=!1,includePrefix:s=!0,includeFooter:o=!0,includeLogs:a=!n,includeInfos:l=a,includeWarnings:c=a,forgettableBufferSize:u=Ike,forgettableNames:g=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(Kd(this,{configuration:t}),this.configuration=t,this.forgettableBufferSize=u,this.forgettableNames=new Set([...g,...Eke]),this.includePrefix=s,this.includeFooter=o,this.includeInfos=l,this.includeWarnings=c,this.json=n,this.stdout=i,t.get(\"enableProgressBars\")&&!n&&i.isTTY&&i.columns>22){let f=t.get(\"progressBarStyle\")||Bke;if(!Object.prototype.hasOwnProperty.call(yB,f))throw new Error(\"Assertion failed: Invalid progress bar style\");this.progressStyle=yB[f];let h=12,p=Math.max(0,Math.min(i.columns-h,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*p/80)}}static async start(t,i){let n=new this(t),s=process.emitWarning;process.emitWarning=(o,a)=>{if(typeof o!=\"string\"){let c=o;o=c.message,a=a!=null?a:c.name}let l=typeof a<\"u\"?`${a}: ${o}`:o;n.reportWarning(0,l)};try{await i(n)}catch(o){n.reportExceptionOnce(o)}finally{await n.finalize(),process.emitWarning=s}return n}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){this.cacheHitCount+=1}reportCacheMiss(t,i){this.lastCacheMiss=t,this.cacheMissCount+=1,typeof i<\"u\"&&!this.configuration.get(\"preferAggregateCacheInfo\")&&this.reportInfo(13,i)}startSectionSync({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}async startSectionPromise({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}startTimerImpl(t,i,n){return{cb:typeof i==\"function\"?i:n,reportHeader:()=>{this.reportInfo(null,`\\u250C ${t}`),this.indent+=1,EB!==null&&!this.json&&this.includeInfos&&this.stdout.write(EB.start(t))},reportFooter:a=>{this.indent-=1,EB!==null&&!this.json&&this.includeInfos&&this.stdout.write(EB.end(t)),this.configuration.get(\"enableTimers\")&&a>200?this.reportInfo(null,`\\u2514 Completed in ${Ze(this.configuration,a,Ue.DURATION)}`):this.reportInfo(null,\"\\u2514 Completed\")},skipIfEmpty:(typeof i==\"function\"?{}:i).skipIfEmpty}}startTimerSync(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionSync(o,s)}async startTimerPromise(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionPromise(o,s)}async startCacheReport(t){let i=this.configuration.get(\"preferAggregateCacheInfo\")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await t()}catch(n){throw this.reportExceptionOnce(n),n}finally{i!==null&&this.reportCacheChanges(i)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(\"\"):this.reportInfo(null,\"\")}reportInfo(t,i){if(!this.includeInfos)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:\"\",o=`${this.formatPrefix(s,\"blueBright\")}${i}`;if(this.json)this.reportJson({type:\"info\",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i});else if(this.forgettableNames.has(t))if(this.forgettableLines.push(o),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(o,{truncate:!0});else this.writeLineWithForgettableReset(o)}reportWarning(t,i){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:\"\";this.json?this.reportJson({type:\"warning\",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i}):this.writeLineWithForgettableReset(`${this.formatPrefix(s,\"yellowBright\")}${i}`)}reportError(t,i){this.errorCount+=1,this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:\"\";this.json?this.reportJson({type:\"error\",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i}):this.writeLineWithForgettableReset(`${this.formatPrefix(s,\"redBright\")}${i}`,{truncate:!1})}reportProgress(t){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(t.hasProgress&&t.hasTitle)throw new Error(\"Unimplemented: Progress bars can't have both progress and titles.\");let i=!1,n=Promise.resolve().then(async()=>{let o={progress:t.hasProgress?0:void 0,title:t.hasTitle?\"\":void 0};this.progress.set(t,{definition:o,lastScaledSize:t.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:a,title:l}of t)i||o.progress===a&&o.title===l||(o.progress=a,o.title=l,this.refreshProgress());s()}),s=()=>{i||(i=!0,this.progress.delete(t),this.refreshProgress({delta:1}))};return{...n,stop:s}}reportJson(t){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(t)}`)}async finalize(){if(!this.includeFooter)return;let t=\"\";this.errorCount>0?t=\"Failed with errors\":this.warningCount>0?t=\"Done with warnings\":t=\"Done\";let i=Ze(this.configuration,Date.now()-this.startTime,Ue.DURATION),n=this.configuration.get(\"enableTimers\")?`${t} in ${i}`:t;this.errorCount>0?this.reportError(0,n):this.warningCount>0?this.reportWarning(0,n):this.reportInfo(0,n)}writeLine(t,{truncate:i}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(t,{truncate:i})}\n`),this.writeProgress()}writeLineWithForgettableReset(t,{truncate:i}={}){this.forgettableLines=[],this.writeLine(t,{truncate:i})}writeLines(t,{truncate:i}={}){this.clearProgress({delta:t.length});for(let n of t)this.stdout.write(`${this.truncate(n,{truncate:i})}\n`);this.writeProgress()}reportCacheChanges({cacheHitCount:t,cacheMissCount:i}){let n=this.cacheHitCount-t,s=this.cacheMissCount-i;if(n===0&&s===0)return;let o=\"\";this.cacheHitCount>1?o+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?o+=\" - one package was already cached\":o+=\"No packages were cached\",this.cacheHitCount>0?this.cacheMissCount>1?o+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(o+=`, one had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?o+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(o+=` - one package had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`),this.reportInfo(13,o)}commit(){let t=this.uncommitted;this.uncommitted=new Set;for(let i of t)i.committed=!0,i.action()}clearProgress({delta:t=0,clear:i=!1}){this.progressStyle!==null&&this.progress.size+t>0&&(this.stdout.write(`\\x1B[${this.progress.size+t}A`),(t>0||i)&&this.stdout.write(\"\\x1B[0J\"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let t=Date.now();t-this.progressTime>D6&&(this.progressFrame=(this.progressFrame+1)%P6.length,this.progressTime=t);let i=P6[this.progressFrame];for(let n of this.progress.values()){let s=\"\";if(typeof n.lastScaledSize<\"u\"){let c=this.progressStyle.chars[0].repeat(n.lastScaledSize),u=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-n.lastScaledSize);s=` ${c}${u}`}let o=this.formatName(null),a=o?`${o}: `:\"\",l=n.definition.title?` ${n.definition.title}`:\"\";this.stdout.write(`${Ze(this.configuration,\"\\u27A4\",\"blueBright\")} ${a}${i}${s}${l}\n`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},D6)}refreshProgress({delta:t=0,force:i=!1}={}){let n=!1,s=!1;if(i||this.progress.size===0)n=!0;else for(let o of this.progress.values()){let a=typeof o.definition.progress<\"u\"?Math.trunc(this.progressMaxScaledSize*o.definition.progress):void 0,l=o.lastScaledSize;o.lastScaledSize=a;let c=o.lastTitle;if(o.lastTitle=o.definition.title,a!==l||(s=c!==o.definition.title)){n=!0;break}}n&&(this.clearProgress({delta:t,clear:s}),this.writeProgress())}truncate(t,{truncate:i}={}){return this.progressStyle===null&&(i=!1),typeof i>\"u\"&&(i=this.configuration.get(\"preferTruncatedLines\")),i&&(t=(0,R6.default)(t,0,this.stdout.columns-1)),t}formatName(t){return F6(t,{configuration:this.configuration,json:this.json})}formatPrefix(t,i){return this.includePrefix?`${Ze(this.configuration,\"\\u27A4\",i)} ${t}${this.formatIndent()}`:\"\"}formatNameWithHyperlink(t){return PR(t,{configuration:this.configuration,json:this.json})}formatIndent(){return\"\\u2502 \".repeat(this.indent)}};var Lr=\"3.4.1\";var T6=(n=>(n.Yarn1=\"Yarn Classic\",n.Yarn2=\"Yarn\",n.Npm=\"npm\",n.Pnpm=\"pnpm\",n))(T6||{});async function Ka(r,e,t,i=[]){if(process.platform===\"win32\"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @\"${t}\" ${i.map(s=>`\"${s.replace('\"','\"\"')}\"`).join(\" \")} %*`;await M.writeFilePromise(x.format({dir:r,name:e,ext:\".cmd\"}),n)}await M.writeFilePromise(x.join(r,e),`#!/bin/sh\nexec \"${t}\" ${i.map(n=>`'${n.replace(/'/g,`'\"'\"'`)}'`).join(\" \")} \"$@\"\n`,{mode:493})}async function O6(r){let e=await ot.tryFind(r);if(e!=null&&e.packageManager){let i=hw(e.packageManager);if(i!=null&&i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(\".\");switch(i.name){case\"yarn\":{let o=Number(s)===1?\"Yarn Classic\":\"Yarn\";return{packageManagerField:!0,packageManager:o,reason:n}}break;case\"npm\":return{packageManagerField:!0,packageManager:\"npm\",reason:n};case\"pnpm\":return{packageManagerField:!0,packageManager:\"pnpm\",reason:n}}}}let t;try{t=await M.readFilePromise(x.join(r,xt.lockfile),\"utf8\")}catch{}return t!==void 0?t.match(/^__metadata:$/m)?{packageManager:\"Yarn\",reason:'\"__metadata\" key found in yarn.lock'}:{packageManager:\"Yarn Classic\",reason:'\"__metadata\" key not found in yarn.lock, must be a Yarn classic lockfile'}:M.existsSync(x.join(r,\"package-lock.json\"))?{packageManager:\"npm\",reason:`found npm's \"package-lock.json\" lockfile`}:M.existsSync(x.join(r,\"pnpm-lock.yaml\"))?{packageManager:\"pnpm\",reason:`found pnpm's \"pnpm-lock.yaml\" lockfile`}:null}async function wC({project:r,locator:e,binFolder:t,ignoreCorepack:i,lifecycleScript:n}){var c,u;let s={};for(let[g,f]of Object.entries(process.env))typeof f<\"u\"&&(s[g.toLowerCase()!==\"path\"?g:\"PATH\"]=f);let o=K.fromPortablePath(t);s.BERRY_BIN_FOLDER=K.fromPortablePath(o);let a=process.env.COREPACK_ROOT&&!i?K.join(process.env.COREPACK_ROOT,\"dist/yarn.js\"):process.argv[1];if(await Promise.all([Ka(t,\"node\",process.execPath),...Lr!==null?[Ka(t,\"run\",process.execPath,[a,\"run\"]),Ka(t,\"yarn\",process.execPath,[a]),Ka(t,\"yarnpkg\",process.execPath,[a]),Ka(t,\"node-gyp\",process.execPath,[a,\"run\",\"--top-level\",\"node-gyp\"])]:[]]),r&&(s.INIT_CWD=K.fromPortablePath(r.configuration.startingCwd),s.PROJECT_CWD=K.fromPortablePath(r.cwd)),s.PATH=s.PATH?`${o}${K.delimiter}${s.PATH}`:`${o}`,s.npm_execpath=`${o}${K.sep}yarn`,s.npm_node_execpath=`${o}${K.sep}node`,e){if(!r)throw new Error(\"Assertion failed: Missing project\");let g=r.tryWorkspaceByLocator(e),f=g?(c=g.manifest.version)!=null?c:\"\":(u=r.storedPackages.get(e.locatorHash).version)!=null?u:\"\";s.npm_package_name=Ot(e),s.npm_package_version=f;let h;if(g)h=g.cwd;else{let p=r.storedPackages.get(e.locatorHash);if(!p)throw new Error(`Package for ${mt(r.configuration,e)} not found in the project`);let C=r.configuration.getLinkers(),y={project:r,report:new Ge({stdout:new JA.PassThrough,configuration:r.configuration})},B=C.find(v=>v.supportsPackage(p,y));if(!B)throw new Error(`The package ${mt(r.configuration,p)} isn't supported by any of the available linkers`);h=await B.findPackageLocation(p,y)}s.npm_package_json=K.fromPortablePath(x.join(h,xt.manifest))}let l=Lr!==null?`yarn/${Lr}`:`yarn/${Af(\"@yarnpkg/core\").version}-core`;return s.npm_config_user_agent=`${l} npm/? node/${process.version} ${process.platform} ${process.arch}`,n&&(s.npm_lifecycle_event=n),r&&await r.configuration.triggerHook(g=>g.setupScriptEnvironment,r,s,async(g,f,h)=>await Ka(t,Ur(g),f,h)),s}var Qke=2,bke=(0,L6.default)(Qke);async function Ske(r,e,{configuration:t,report:i,workspace:n=null,locator:s=null}){await bke(async()=>{await M.mktempPromise(async o=>{let a=x.join(o,\"pack.log\"),l=null,{stdout:c,stderr:u}=t.getSubprocessStreams(a,{prefix:K.fromPortablePath(r),report:i}),g=s&&Uo(s)?Wd(s):s,f=g?hs(g):\"an external project\";c.write(`Packing ${f} from sources\n`);let h=await O6(r),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason}\n\n`),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn\n\n`),p=\"Yarn\");let C=p===\"Yarn\"&&!(h!=null&&h.packageManagerField);await M.mktempPromise(async y=>{let B=await wC({binFolder:y,ignoreCorepack:C}),D=new Map([[\"Yarn Classic\",async()=>{let H=n!==null?[\"workspace\",n]:[],j=x.join(r,xt.manifest),$=await M.readFilePromise(j),V=await Yo(process.execPath,[process.argv[1],\"set\",\"version\",\"classic\",\"--only-if-needed\"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(V.code!==0)return V.code;await M.writeFilePromise(j,$),await M.appendFilePromise(x.join(r,\".npmignore\"),`/.yarn\n`),c.write(`\n`),delete B.NODE_ENV;let W=await Yo(\"yarn\",[\"install\"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(W.code!==0)return W.code;c.write(`\n`);let Z=await Yo(\"yarn\",[...H,\"pack\",\"--filename\",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return Z.code!==0?Z.code:0}],[\"Yarn\",async()=>{let H=n!==null?[\"workspace\",n]:[];B.YARN_ENABLE_INLINE_BUILDS=\"1\";let j=x.join(r,xt.lockfile);await M.existsPromise(j)||await M.writeFilePromise(j,\"\");let $=await Yo(\"yarn\",[...H,\"pack\",\"--install-if-needed\",\"--filename\",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return $.code!==0?$.code:0}],[\"npm\",async()=>{if(n!==null){let ae=new JA.PassThrough,ge=af(ae);ae.pipe(c,{end:!1});let re=await Yo(\"npm\",[\"--version\"],{cwd:r,env:B,stdin:l,stdout:ae,stderr:u,end:0});if(ae.end(),re.code!==0)return c.end(),u.end(),re.code;let O=(await ge).toString().trim();if(!mc(O,\">=7.x\")){let F=Ho(null,\"npm\"),ue=Zt(F,O),he=Zt(F,\">=7.x\");throw new Error(`Workspaces aren't supported by ${tr(t,ue)}; please upgrade to ${tr(t,he)} (npm has been detected as the primary package manager for ${Ze(t,r,Ue.PATH)})`)}}let H=n!==null?[\"--workspace\",n]:[];delete B.npm_config_user_agent,delete B.npm_config_production,delete B.NPM_CONFIG_PRODUCTION,delete B.NODE_ENV;let j=await Yo(\"npm\",[\"install\"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(j.code!==0)return j.code;let $=new JA.PassThrough,V=af($);$.pipe(c);let W=await Yo(\"npm\",[\"pack\",\"--silent\",...H],{cwd:r,env:B,stdin:l,stdout:$,stderr:u});if(W.code!==0)return W.code;let Z=(await V).toString().trim().replace(/^.*\\n/s,\"\"),A=x.resolve(r,K.toPortablePath(Z));return await M.renamePromise(A,e),0}]]).get(p);if(typeof D>\"u\")throw new Error(\"Assertion failed: Unsupported workflow\");let L=await D();if(!(L===0||typeof L>\"u\"))throw M.detachTemp(o),new at(58,`Packing the package failed (exit code ${L}, logs can be found here: ${Ze(t,a,Ue.PATH)})`)})})})}async function vke(r,e,{project:t}){let i=t.tryWorkspaceByLocator(r);if(i!==null)return kR(i,e);let n=t.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t.configuration,r)} not found in the project`);return await Tn.openPromise(async s=>{let o=t.configuration,a=t.configuration.getLinkers(),l={project:t,report:new Ge({stdout:new JA.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${mt(t.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new jt(u,{baseFs:s});return(await ot.find(Oe.dot,{baseFs:g})).scripts.has(e)},{libzip:await rn()})}async function wB(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await M6(r,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f>\"u\")return 1;let h=async()=>await pB(f,t,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(C=>C.wrapScriptExecution,h,n,r,e,{script:f,args:t,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function DR(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{env:c,cwd:u}=await M6(r,{project:n,binFolder:l,cwd:i});return await pB(e,t,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function xke(r,{binFolder:e,cwd:t,lifecycleScript:i}){let n=await wC({project:r.project,locator:r.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await H6(r),([s,[,o]])=>Ka(e,Ur(s),process.execPath,[o]))),typeof t>\"u\"&&(t=x.dirname(await M.realpathPromise(x.join(r.cwd,\"package.json\")))),{manifest:r.manifest,binFolder:e,env:n,cwd:t}}async function M6(r,{project:e,binFolder:t,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(r);if(s!==null)return xke(s,{binFolder:t,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(r.locatorHash);if(!o)throw new Error(`Package for ${mt(e.configuration,r)} not found in the project`);return await Tn.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Ge({stdout:new JA.PassThrough,configuration:l})},g=c.find(y=>y.supportsPackage(o,u));if(!g)throw new Error(`The package ${mt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await wC({project:e,locator:r,binFolder:t,lifecycleScript:n});await Promise.all(Array.from(await BB(r,{project:e}),([y,[,B]])=>Ka(t,Ur(y),process.execPath,[B])));let h=await g.findPackageLocation(o,u),p=new jt(h,{baseFs:a}),C=await ot.find(Oe.dot,{baseFs:p});return typeof i>\"u\"&&(i=h),{manifest:C,binFolder:t,env:f,cwd:i}},{libzip:await rn()})}async function K6(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o}){return await wB(r.anchoredLocator,e,t,{cwd:i,project:r.project,stdin:n,stdout:s,stderr:o})}function kR(r,e){return r.manifest.scripts.has(e)}async function U6(r,e,{cwd:t,report:i}){let{configuration:n}=r.project,s=null;await M.mktempPromise(async o=>{let a=x.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the \"${e}\" lifecycle script inside a workspace (\"${K.fromPortablePath(r.cwd)}\")\n`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:mt(n,r.anchoredLocator),header:l});i.reportInfo(36,`Calling the \"${e}\" lifecycle script`);let g=await K6(r,e,[],{cwd:t,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw M.detachTemp(o),new at(36,`${(0,N6.default)(e)} script failed (exit code ${Ze(n,g,Ue.NUMBER)}, logs can be found here: ${Ze(n,a,Ue.PATH)}); run ${Ze(n,`yarn ${e}`,Ue.CODE)} to investigate`)})}async function Pke(r,e,t){kR(r,e)&&await U6(r,e,t)}async function BB(r,{project:e}){let t=e.configuration,i=new Map,n=e.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t,r)} not found in the project`);let s=new JA.Writable,o=t.getLinkers(),a={project:e,report:new Ge({configuration:t,stdout:s})},l=new Set([r.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${tr(t,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return To.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return To.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code===\"LOCATOR_NOT_INSTALLED\")return To.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===To.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,K.fromPortablePath(x.resolve(f,p))])}return i}async function H6(r){return await BB(r.anchoredLocator,{project:r.project})}async function G6(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await BB(r,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${mt(n.configuration,r)}`);return await M.mktempPromise(async g=>{let[,f]=u,h=await wC({project:n,locator:r,binFolder:g});await Promise.all(Array.from(c,([C,[,y]])=>Ka(h.BERRY_BIN_FOLDER,Ur(C),process.execPath,[y])));let p;try{p=await Yo(process.execPath,[...l,f,...t],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await M.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function Dke(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await G6(r.anchoredLocator,e,t,{project:r.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var Ci={};ut(Ci,{convertToZip:()=>UFe,extractArchiveTo:()=>GFe,makeArchiveFromDirectory:()=>KFe});var EX=J(\"stream\"),IX=Pe(fX());var hX=Pe(Tg()),pX=J(\"worker_threads\");var il=Symbol(\"kTaskInfo\"),d0=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,hX.default)(MD());this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let t=this.workers.pop();t?t.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new pX.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,\"--unhandled-rejections=strict\"]});return e.on(\"message\",t=>{if(!e[il])throw new Error(\"Assertion failed: Worker sent a result without having a task assigned\");e[il].resolve(t),e[il]=null,e.unref(),this.workers.push(e)}),e.on(\"error\",t=>{var i;(i=e[il])==null||i.reject(t),e[il]=null}),e.on(\"exit\",t=>{var i;t!==0&&((i=e[il])==null||i.reject(new Error(`Worker exited with code ${t}`))),e[il]=null}),e}run(e){return this.limit(()=>{var i;let t=(i=this.workers.pop())!=null?i:this.createWorker();return t.ref(),new Promise((n,s)=>{t[il]={resolve:n,reject:s},t.postMessage(e)})})}};var yX=Pe(CX());async function KFe(r,{baseFs:e=new $t,prefixPath:t=Oe.root,compressionLevel:i,inMemory:n=!1}={}){let s=await rn(),o;if(n)o=new Wr(null,{libzip:s,level:i});else{let l=await M.mktempPromise(),c=x.join(l,\"archive.zip\");o=new Wr(c,{create:!0,libzip:s,level:i})}let a=x.resolve(Oe.root,t);return await o.copyPromise(a,r,{baseFs:e,stableTime:!0,stableSort:!0}),o}var mX;async function UFe(r,e){let t=await M.mktempPromise(),i=x.join(t,\"archive.zip\");return mX||(mX=new d0((0,yX.getContent)())),await mX.run({tmpFile:i,tgz:r,opts:e}),new Wr(i,{libzip:await rn(),level:e.compressionLevel})}async function*HFe(r){let e=new IX.default.Parse,t=new EX.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on(\"entry\",i=>{t.write(i)}),e.on(\"error\",i=>{t.destroy(i)}),e.on(\"close\",()=>{t.destroyed||t.end()}),e.end(r);for await(let i of t){let n=i;yield n,n.resume()}}async function GFe(r,e,{stripComponents:t=0,prefixPath:i=Oe.dot}={}){var s,o;function n(a){if(a.path[0]===\"/\")return!0;let l=a.path.split(/\\//g);return!!(l.some(c=>c===\"..\")||l.length<=t)}for await(let a of HFe(r)){if(n(a))continue;let l=x.normalize(K.toPortablePath(a.path)).replace(/\\/$/,\"\").split(/\\//g);if(l.length<=t)continue;let c=l.slice(t).join(\"/\"),u=x.join(i,c),g=420;switch((a.type===\"Directory\"||(((s=a.mode)!=null?s:0)&73)!==0)&&(g|=73),a.type){case\"Directory\":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,xr.SAFE_TIME,xr.SAFE_TIME);break;case\"OldFile\":case\"File\":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.writeFileSync(u,await af(a),{mode:g}),e.utimesSync(u,xr.SAFE_TIME,xr.SAFE_TIME);break;case\"SymbolicLink\":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,xr.SAFE_TIME,xr.SAFE_TIME);break}}return e}var Vn={};ut(Vn,{emitList:()=>YFe,emitTree:()=>vX,treeNodeToJson:()=>SX,treeNodeToTreeify:()=>bX});var QX=Pe(BX());function bX(r,{configuration:e}){let t={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l<\"u\"&&g.push(Ty(e,l,2)),typeof c<\"u\"&&g.push(Ze(e,c[0],c[1])),g.length===0&&g.push(Ty(e,`${a}`,2));let f=g.join(\": \"),h=s[f]={};typeof u<\"u\"&&i(u,h)}};if(typeof r.children>\"u\")throw new Error(\"The root node must only contain children\");return i(r.children,t),t}function SX(r){let e=t=>{var s;if(typeof t.children>\"u\"){if(typeof t.value>\"u\")throw new Error(\"Assertion failed: Expected a value to be set if the children are missing\");return cc(t.value[0],t.value[1])}let i=Array.isArray(t.children)?t.children.entries():Object.entries((s=t.children)!=null?s:{}),n=Array.isArray(t.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof t.value>\"u\"?n:{value:cc(t.value[0],t.value[1]),children:n}};return e(r)}function YFe(r,{configuration:e,stdout:t,json:i}){let n=r.map(s=>({value:s}));vX({children:n},{configuration:e,stdout:t,json:i})}function vX(r,{configuration:e,stdout:t,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(r.children)?r.children.values():Object.values((o=r.children)!=null?o:{});for(let l of a)t.write(`${JSON.stringify(SX(l))}\n`);return}let s=(0,QX.asTree)(bX(r,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\\u2502\n$1`).replace(/^│\\n/,\"\")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\\n]+\\n)(([│ ]).{2}[├└].{2}[^\\n]*\\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3  \\u2502\n$2`).replace(/^│\\n/,\"\");if(n>=3)throw new Error(\"Only the first two levels are accepted by treeUtils.emitTree\");t.write(s)}var xX=J(\"crypto\"),rN=Pe(J(\"fs\"));var jFe=8,Rt=class{constructor(e,{configuration:t,immutable:i=t.get(\"enableImmutableCache\"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,xX.randomBytes)(8).toString(\"hex\")}.tmp`;this.configuration=t,this.cwd=e,this.immutable=i,this.check=n;let s=t.get(\"cacheKeyOverride\");if(s!==null)this.cacheKey=`${s}`;else{let o=t.get(\"compressionLevel\"),a=o!==Ol?`c${o}`:\"\";this.cacheKey=[jFe,a].join(\"\")}}static async find(e,{immutable:t,check:i}={}){let n=new Rt(e.get(\"cacheFolder\"),{configuration:e,immutable:t,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get(\"enableMirror\"))return null;let e=`${this.configuration.get(\"globalFolder\")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${mf(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,t){let n=qFe(t).slice(0,10);return`${mf(e)}-${n}.zip`}getLocatorPath(e,t,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?x.resolve(this.cwd,this.getVersionFilename(e)):t===null||tN(t)!==this.cacheKey?null:x.resolve(this.cwd,this.getChecksumFilename(e,t))}getLocatorMirrorPath(e){let t=this.mirrorCwd;return t!==null?x.resolve(t,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get(\"enableGlobalCache\"))if(this.immutable){if(!await M.existsPromise(this.cwd))throw new at(56,\"Cache path does not exist.\")}else{await M.mkdirPromise(this.cwd,{recursive:!0});let e=x.resolve(this.cwd,\".gitignore\");await M.changeFilePromise(e,`/.gitignore\n*.flock\n*.tmp\n`)}(this.mirrorCwd||!this.immutable)&&await M.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,t,{onHit:i,onMiss:n,loader:s,...o}){var W;let a=this.getLocatorMirrorPath(e),l=new $t,c=()=>{let Z=new Wr(null,{libzip:D}),A=x.join(Oe.root,PD(e));return Z.mkdirSync(A,{recursive:!0}),Z.writeJsonSync(x.join(A,xt.manifest),{name:Ot(e),mocked:!0}),Z},u=async(Z,A=null)=>{var ge;if(A===null&&((ge=o.unstablePackages)==null?void 0:ge.has(e.locatorHash)))return null;let ae=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await uw(Z)}`:t;if(A!==null){let re=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await uw(A)}`:t;if(ae!==re)throw new at(18,\"The remote archive doesn't match the local checksum - has the local cache been corrupted?\")}if(t!==null&&ae!==t){let re;switch(this.check?re=\"throw\":tN(t)!==tN(ae)?re=\"update\":re=this.configuration.get(\"checksumBehavior\"),re){case\"ignore\":return t;case\"update\":return ae;default:case\"throw\":throw new at(18,\"The remote archive doesn't match the expected checksum\")}}return ae},g=async Z=>{if(!s)throw new Error(`Cache check required but no loader configured for ${mt(this.configuration,e)}`);let A=await s(),ae=A.getRealPath();return A.saveAndClose(),await M.chmodPromise(ae,420),await u(Z,ae)},f=async()=>{if(a===null||!await M.existsPromise(a)){let Z=await s(),A=Z.getRealPath();return Z.saveAndClose(),{source:\"loader\",path:A}}return{source:\"mirror\",path:a}},h=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${mt(this.configuration,e)}`);if(this.immutable)throw new at(56,`Cache entry required but missing for ${mt(this.configuration,e)}`);let{path:Z,source:A}=await f(),ae=await u(Z),ge=this.getLocatorPath(e,ae,o);if(!ge)throw new Error(\"Assertion failed: Expected the cache path to be available\");let re=[];A!==\"mirror\"&&a!==null&&re.push(async()=>{let F=`${a}${this.cacheId}`;await M.copyFilePromise(Z,F,rN.default.constants.COPYFILE_FICLONE),await M.chmodPromise(F,420),await M.renamePromise(F,a)}),(!o.mirrorWriteOnly||a===null)&&re.push(async()=>{let F=`${ge}${this.cacheId}`;await M.copyFilePromise(Z,F,rN.default.constants.COPYFILE_FICLONE),await M.chmodPromise(F,420),await M.renamePromise(F,ge)});let O=o.mirrorWriteOnly&&a!=null?a:ge;return await Promise.all(re.map(F=>F())),[!1,O,ae]},p=async()=>{let A=(async()=>{var ue;let ae=this.getLocatorPath(e,t,o),ge=ae!==null?await l.existsPromise(ae):!1,re=!!((ue=o.mockedPackages)!=null&&ue.has(e.locatorHash))&&(!this.check||!ge),O=re||ge,F=O?i:n;if(F&&F(),O){let he=null,ke=ae;return re||(he=this.check?await g(ke):await u(ke)),[re,ke,he]}else return h()})();this.mutexes.set(e.locatorHash,A);try{return await A}finally{this.mutexes.delete(e.locatorHash)}};for(let Z;Z=this.mutexes.get(e.locatorHash);)await Z;let[C,y,B]=await p();this.markedFiles.add(y);let v,D=await rn(),L=C?()=>c():()=>new Wr(y,{baseFs:l,libzip:D,readOnly:!0}),H=new dg(()=>Dx(()=>v=L(),Z=>`Failed to open the cache entry for ${mt(this.configuration,e)}: ${Z}`),x),j=new yo(y,{baseFs:H,pathUtils:x}),$=()=>{v==null||v.discardAndClose()},V=(W=o.unstablePackages)!=null&&W.has(e.locatorHash)?null:B;return[j,$,V]}};function tN(r){let e=r.indexOf(\"/\");return e!==-1?r.slice(0,e):null}function qFe(r){let e=r.indexOf(\"/\");return e!==-1?r.slice(e+1):r}var C0=(t=>(t[t.SCRIPT=0]=\"SCRIPT\",t[t.SHELLCODE=1]=\"SHELLCODE\",t))(C0||{});var _o=class extends Si{constructor({configuration:t,stdout:i,suggestInstall:n=!0}){super();this.errorCount=0;Kd(this,{configuration:t}),this.configuration=t,this.stdout=i,this.suggestInstall=n}static async start(t,i){let n=new this(t);try{await i(n)}catch(s){n.reportExceptionOnce(s)}finally{await n.finalize()}return n}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){}reportCacheMiss(t){}startSectionSync(t,i){return i()}async startSectionPromise(t,i){return await i()}startTimerSync(t,i,n){return(typeof i==\"function\"?i:n)()}async startTimerPromise(t,i,n){return await(typeof i==\"function\"?i:n)()}async startCacheReport(t){return await t()}reportSeparator(){}reportInfo(t,i){}reportWarning(t,i){}reportError(t,i){this.errorCount+=1,this.stdout.write(`${Ze(this.configuration,\"\\u27A4\",\"redBright\")} ${this.formatNameWithHyperlink(t)}: ${i}\n`)}reportProgress(t){return{...Promise.resolve().then(async()=>{for await(let{}of t);}),stop:()=>{}}}reportJson(t){}async finalize(){this.errorCount>0&&(this.stdout.write(`\n`),this.stdout.write(`${Ze(this.configuration,\"\\u27A4\",\"redBright\")} Errors happened when preparing the environment required to run this command.\n`),this.suggestInstall&&this.stdout.write(`${Ze(this.configuration,\"\\u27A4\",\"redBright\")} This might be caused by packages being missing from the lockfile, in which case running \"yarn install\" might help.\n`))}formatNameWithHyperlink(t){return PR(t,{configuration:this.configuration,json:!1})}};var D0=J(\"crypto\");function Wa(){}Wa.prototype={diff:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i==\"function\"&&(n=i,i={}),this.options=i;var s=this;function o(C){return n?(setTimeout(function(){n(void 0,C)},0),!0):C}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e)),t=this.removeEmpty(this.tokenize(t));var a=t.length,l=e.length,c=1,u=a+l;i.maxEditLength&&(u=Math.min(u,i.maxEditLength));var g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],t,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(t),count:t.length}]);function h(){for(var C=-1*c;C<=c;C+=2){var y=void 0,B=g[C-1],v=g[C+1],D=(v?v.newPos:0)-C;B&&(g[C-1]=void 0);var L=B&&B.newPos+1<a,H=v&&0<=D&&D<l;if(!L&&!H){g[C]=void 0;continue}if(!L||H&&B.newPos<v.newPos?(y=WFe(v),s.pushComponent(y.components,void 0,!0)):(y=B,y.newPos++,s.pushComponent(y.components,!0,void 0)),D=s.extractCommon(y,t,e,C),y.newPos+1>=a&&D+1>=l)return o(JFe(s,y.components,t,e,s.useLongestToken));g[C]=y}c++}if(n)(function C(){setTimeout(function(){if(c>u)return n();h()||C()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,t,i){var n=e[e.length-1];n&&n.added===t&&n.removed===i?e[e.length-1]={count:n.count+1,added:t,removed:i}:e.push({count:1,added:t,removed:i})},extractCommon:function(e,t,i,n){for(var s=t.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1<s&&l+1<o&&this.equals(t[a+1],i[l+1]);)a++,l++,c++;return c&&e.components.push({count:c}),e.newPos=a,l},equals:function(e,t){return this.options.comparator?this.options.comparator(e,t):e===t||this.options.ignoreCase&&e.toLowerCase()===t.toLowerCase()},removeEmpty:function(e){for(var t=[],i=0;i<e.length;i++)e[i]&&t.push(e[i]);return t},castInput:function(e){return e},tokenize:function(e){return e.split(\"\")},join:function(e){return e.join(\"\")}};function JFe(r,e,t,i,n){for(var s=0,o=e.length,a=0,l=0;s<o;s++){var c=e[s];if(c.removed){if(c.value=r.join(i.slice(l,l+c.count)),l+=c.count,s&&e[s-1].added){var g=e[s-1];e[s-1]=e[s],e[s]=g}}else{if(!c.added&&n){var u=t.slice(a,a+c.count);u=u.map(function(h,p){var C=i[l+p];return C.length>h.length?C:h}),c.value=r.join(u)}else c.value=r.join(t.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value==\"string\"&&(f.added||f.removed)&&r.equals(\"\",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function WFe(r){return{newPos:r.newPos,components:r.components.slice(0)}}var Uot=new Wa;var PX=/^[A-Za-z\\xC0-\\u02C6\\u02C8-\\u02D7\\u02DE-\\u02FF\\u1E00-\\u1EFF]+$/,DX=/\\S/,kX=new Wa;kX.equals=function(r,e){return this.options.ignoreCase&&(r=r.toLowerCase(),e=e.toLowerCase()),r===e||this.options.ignoreWhitespace&&!DX.test(r)&&!DX.test(e)};kX.tokenize=function(r){for(var e=r.split(/([^\\S\\r\\n]+|[()[\\]{}'\"\\r\\n]|\\b)/),t=0;t<e.length-1;t++)!e[t+1]&&e[t+2]&&PX.test(e[t])&&PX.test(e[t+2])&&(e[t]+=e[t+2],e.splice(t+1,2),t--);return e};var aN=new Wa;aN.tokenize=function(r){var e=[],t=r.split(/(\\n|\\r\\n)/);t[t.length-1]||t.pop();for(var i=0;i<t.length;i++){var n=t[i];i%2&&!this.options.newlineIsToken?e[e.length-1]+=n:(this.options.ignoreWhitespace&&(n=n.trim()),e.push(n))}return e};function zFe(r,e,t){return aN.diff(r,e,t)}var VFe=new Wa;VFe.tokenize=function(r){return r.split(/(\\S.+?[.!?])(?=\\s+|$)/)};var XFe=new Wa;XFe.tokenize=function(r){return r.split(/([{}:;,]|\\s+)/)};function m0(r){return typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?m0=function(e){return typeof e}:m0=function(e){return e&&typeof Symbol==\"function\"&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},m0(r)}function iN(r){return _Fe(r)||ZFe(r)||$Fe(r)||eNe()}function _Fe(r){if(Array.isArray(r))return nN(r)}function ZFe(r){if(typeof Symbol<\"u\"&&Symbol.iterator in Object(r))return Array.from(r)}function $Fe(r,e){if(!!r){if(typeof r==\"string\")return nN(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t===\"Object\"&&r.constructor&&(t=r.constructor.name),t===\"Map\"||t===\"Set\")return Array.from(r);if(t===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return nN(r,e)}}function nN(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,i=new Array(e);t<e;t++)i[t]=r[t];return i}function eNe(){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 tNe=Object.prototype.toString,HC=new Wa;HC.useLongestToken=!0;HC.tokenize=aN.tokenize;HC.castInput=function(r){var e=this.options,t=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o>\"u\"?t:o}:i;return typeof r==\"string\"?r:JSON.stringify(sN(r,null,null,n),n,\"  \")};HC.equals=function(r,e){return Wa.prototype.equals.call(HC,r.replace(/,([\\r\\n])/g,\"$1\"),e.replace(/,([\\r\\n])/g,\"$1\"))};function sN(r,e,t,i,n){e=e||[],t=t||[],i&&(r=i(n,r));var s;for(s=0;s<e.length;s+=1)if(e[s]===r)return t[s];var o;if(tNe.call(r)===\"[object Array]\"){for(e.push(r),o=new Array(r.length),t.push(o),s=0;s<r.length;s+=1)o[s]=sN(r[s],e,t,i,n);return e.pop(),t.pop(),o}if(r&&r.toJSON&&(r=r.toJSON()),m0(r)===\"object\"&&r!==null){e.push(r),o={},t.push(o);var a=[],l;for(l in r)r.hasOwnProperty(l)&&a.push(l);for(a.sort(),s=0;s<a.length;s+=1)l=a[s],o[l]=sN(r[l],e,t,i,l);e.pop(),t.pop()}else o=r;return o}var oN=new Wa;oN.tokenize=function(r){return r.slice()};oN.join=oN.removeEmpty=function(r){return r};function RX(r,e,t,i,n,s,o){o||(o={}),typeof o.context>\"u\"&&(o.context=4);var a=zFe(t,i,o);if(!a)return;a.push({value:\"\",lines:[]});function l(B){return B.map(function(v){return\" \"+v})}for(var c=[],u=0,g=0,f=[],h=1,p=1,C=function(v){var D=a[v],L=D.lines||D.value.replace(/\\n$/,\"\").split(`\n`);if(D.lines=L,D.added||D.removed){var H;if(!u){var j=a[v-1];u=h,g=p,j&&(f=o.context>0?l(j.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(H=f).push.apply(H,iN(L.map(function(re){return(D.added?\"+\":\"-\")+re}))),D.added?p+=L.length:h+=L.length}else{if(u)if(L.length<=o.context*2&&v<a.length-2){var $;($=f).push.apply($,iN(l(L)))}else{var V,W=Math.min(L.length,o.context);(V=f).push.apply(V,iN(l(L.slice(0,W))));var Z={oldStart:u,oldLines:h-u+W,newStart:g,newLines:p-g+W,lines:f};if(v>=a.length-2&&L.length<=o.context){var A=/\\n$/.test(t),ae=/\\n$/.test(i),ge=L.length==0&&f.length>Z.oldLines;!A&&ge&&t.length>0&&f.splice(Z.oldLines,0,\"\\\\ No newline at end of file\"),(!A&&!ge||!ae)&&f.push(\"\\\\ No newline at end of file\")}c.push(Z),u=0,g=0,f=[]}h+=L.length,p+=L.length}},y=0;y<a.length;y++)C(y);return{oldFileName:r,newFileName:e,oldHeader:n,newHeader:s,hunks:c}}var k0=Pe(MZ()),YZ=Pe(Tg()),jZ=Pe(Xr()),EN=J(\"util\"),mN=Pe(J(\"v8\")),IN=Pe(J(\"zlib\"));var POe=[[/^(git(?:\\+(?:https|ssh))?:\\/\\/.*(?:\\.git)?)#(.*)$/,(r,e,t,i)=>`${t}#commit=${i}`],[/^https:\\/\\/((?:[^/]+?)@)?codeload\\.github\\.com\\/([^/]+\\/[^/]+)\\/tar\\.gz\\/([0-9a-f]+)$/,(r,e,t=\"\",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https:\\/\\/((?:[^/]+?)@)?github\\.com\\/([^/]+\\/[^/]+?)(?:\\.git)?#([0-9a-f]+)$/,(r,e,t=\"\",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https?:\\/\\/[^/]+\\/(?:[^/]+\\/)*(?:@.+(?:\\/|(?:%2f)))?([^/]+)\\/(?:-|download)\\/\\1-[^/]+\\.tgz(?:#|$)/,r=>`npm:${r}`],[/^https:\\/\\/npm\\.pkg\\.github\\.com\\/download\\/(?:@[^/]+)\\/(?:[^/]+)\\/(?:[^/]+)\\/(?:[0-9a-f]+)(?:#|$)/,r=>`npm:${r}`],[/^https:\\/\\/npm\\.fontawesome\\.com\\/(?:@[^/]+)\\/([^/]+)\\/-\\/([^/]+)\\/\\1-\\2.tgz(?:#|$)/,r=>`npm:${r}`],[/^https?:\\/\\/[^/]+\\/.*\\/(@[^/]+)\\/([^/]+)\\/-\\/\\1\\/\\2-(?:[.\\d\\w-]+)\\.tgz(?:#|$)/,(r,e)=>pw({protocol:\"npm:\",source:null,selector:r,params:{__archiveUrl:e}})],[/^[^/]+\\.tgz#[0-9a-f]+$/,r=>`npm:${r}`]],v0=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:t}){let i=x.join(e.cwd,e.configuration.get(\"lockfileFilename\"));if(!M.existsSync(i))return;let n=await M.readFilePromise(i,\"utf8\"),s=Ii(n);if(Object.prototype.hasOwnProperty.call(s,\"__metadata\"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=Xd(a);if(!l){t.reportWarning(14,`Failed to parse the string \"${a}\" into a proper descriptor`);continue}let c=to(l.range)?Zt(l,`npm:${l.range}`):l,{version:u,resolved:g}=s[a];if(!g)continue;let f;for(let[p,C]of POe){let y=g.match(p);if(y){f=C(u,...y);break}}if(!f){t.reportWarning(14,`${tr(e.configuration,c)}: Only some patterns can be imported from legacy lockfiles (not \"${g}\")`);continue}let h=c;try{let p=Cf(c.range),C=Xd(p.selector,!0);C&&(h=C)}catch{}o.set(c.descriptorHash,$i(h,f))}}supportsDescriptor(e,t){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error(\"Assertion failed: This resolver doesn't support resolving locators to packages\")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!this.resolutions)throw new Error(\"Assertion failed: The resolution store should have been setup\");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error(\"Assertion failed: The resolution should have been registered\");return await this.resolver.getCandidates(bD(n),t,i)}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error(\"Assertion failed: This resolver doesn't support resolving locators to packages\")}};var x0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return!!(t.project.storedResolutions.get(e.descriptorHash)||t.project.originalPackages.has(fw(e).locatorHash))}supportsLocator(e,t){return!!(t.project.originalPackages.has(e.locatorHash)&&!t.project.lockfileNeedsRefresh)}shouldPersistResolution(e,t){throw new Error(\"The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes\")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){let n=i.project.originalPackages.get(fw(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error(\"Expected the resolution to have been successful - resolution not found\");if(n=i.project.originalPackages.get(s),!n)throw new Error(\"Expected the resolution to have been successful - package not found\");return[n]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.originalPackages.get(e.locatorHash);if(!i)throw new Error(\"The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache\");return i}};var P0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return this.resolver.supportsDescriptor(e,t)}supportsLocator(e,t){return this.resolver.supportsLocator(e,t)}shouldPersistResolution(e,t){return this.resolver.shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.resolver.bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){throw new at(20,`This package doesn't seem to be present in your lockfile; run \"yarn install\" to update the lockfile`)}async getSatisfying(e,t,i){throw new at(20,`This package doesn't seem to be present in your lockfile; run \"yarn install\" to update the lockfile`)}async resolve(e,t){throw new at(20,`This package doesn't seem to be present in your lockfile; run \"yarn install\" to update the lockfile`)}};var ti=class extends Si{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,t){return t()}async startSectionPromise(e,t){return await t()}startTimerSync(e,t,i){return(typeof t==\"function\"?t:i)()}async startTimerPromise(e,t,i){return await(typeof t==\"function\"?t:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){}};var KZ=Pe(wD());var fh=class{constructor(e,{project:t}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=t,this.cwd=e}async setup(){var s;this.manifest=(s=await ot.tryFind(this.cwd))!=null?s:new ot,this.relativeCwd=x.relative(this.project.cwd,this.cwd)||Oe.dot;let e=this.manifest.name?this.manifest.name:Ho(null,`${this.computeCandidateName()}-${Zi(this.relativeCwd).substring(0,6)}`),t=this.manifest.version?this.manifest.version:\"0.0.0\";this.locator=$i(e,t),this.anchoredDescriptor=Zt(this.locator,`${jr.protocol}${this.relativeCwd}`),this.anchoredLocator=$i(this.locator,`${jr.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:o})=>o),n=await(0,KZ.default)(i,{cwd:K.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:[\"**/node_modules\",\"**/.git\",\"**/.yarn\"]});n.sort();for(let o of n){let a=x.resolve(this.cwd,K.toPortablePath(o));M.existsSync(x.join(a,\"package.json\"))&&this.workspacesCwds.add(a)}}accepts(e){var o;let t=e.indexOf(\":\"),i=t!==-1?e.slice(0,t+1):null,n=t!==-1?e.slice(t+1):e;if(i===jr.protocol&&x.normalize(n)===this.relativeCwd||i===jr.protocol&&(n===\"*\"||n===\"^\"||n===\"~\"))return!0;let s=to(n);return s?i===jr.protocol?s.test((o=this.manifest.version)!=null?o:\"0.0.0\"):this.project.configuration.get(\"enableTransparentWorkspaces\")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?\"root-workspace\":`${x.basename(this.cwd)}`||\"unnamed-workspace\"}getRecursiveWorkspaceDependencies({dependencies:e=ot.hardDependencies}={}){let t=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||t.has(a)||(t.add(a),i(a))}};return i(this),t}getRecursiveWorkspaceDependents({dependencies:e=ot.hardDependencies}={}){let t=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&Vd(c.anchoredLocator,n.anchoredLocator)}))&&!t.has(s)&&(t.add(s),i(s))};return i(this),t}getRecursiveWorkspaceChildren(){let e=[];for(let t of this.workspacesCwds){let i=this.project.workspacesByCwd.get(t);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let t=x.join(this.cwd,ot.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)}\n`;await M.changeFilePromise(t,i,{automaticNewlines:!0}),this.manifest.raw=e}};var UZ=6,DOe=1,kOe=/ *, */g,HZ=/\\/$/,ROe=32,FOe=(0,EN.promisify)(IN.default.gzip),NOe=(0,EN.promisify)(IN.default.gunzip),Xn=(t=>(t.UpdateLockfile=\"update-lockfile\",t.SkipBuild=\"skip-build\",t))(Xn||{}),CN={restoreInstallersCustomData:[\"installersCustomData\"],restoreResolutions:[\"accessibleLocators\",\"conditionalLocators\",\"disabledLocators\",\"optionalBuilds\",\"storedDescriptors\",\"storedResolutions\",\"storedPackages\",\"lockFileChecksum\"],restoreBuildState:[\"storedBuildState\"]},GZ=r=>Zi(`${DOe}`,r),je=class{constructor(e,{configuration:t}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=t,this.cwd=e}static async find(e,t){var p,C,y;if(!e.projectCwd)throw new be(`No project found in ${t}`);let i=e.projectCwd,n=t,s=null;for(;s!==e.projectCwd;){if(s=n,M.existsSync(x.join(s,xt.manifest))){i=s;break}n=x.dirname(s)}let o=new je(e.projectCwd,{configuration:e});(p=ye.telemetry)==null||p.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(C=ye.telemetry)==null||C.reportWorkspaceCount(o.workspaces.length),(y=ye.telemetry)==null||y.reportDependencyCount(o.workspaces.reduce((B,v)=>B+v.manifest.dependencies.size+v.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};let c=Ze(e,o.cwd,Ue.PATH),u=Ze(e,x.relative(o.cwd,i),Ue.PATH),g=`- If ${c} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,f=`- If ${c} is intended to be a project, it might be that you forgot to list ${u} in its workspace configuration.`,h=`- Finally, if ${c} is fine and you intend ${u} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new be(`The nearest package directory (${Ze(e,i,Ue.PATH)}) doesn't seem to be part of the project declared in ${Ze(e,o.cwd,Ue.PATH)}.\n\n${[g,f,h].join(`\n`)}`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=x.join(this.cwd,this.configuration.get(\"lockfileFilename\")),t=this.configuration.get(\"defaultLanguageName\");if(M.existsSync(e)){let n=await M.readFilePromise(e,\"utf8\");this.lockFileChecksum=GZ(n);let s=Ii(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o<UZ;for(let l of Object.keys(s)){if(l===\"__metadata\")continue;let c=s[l];if(typeof c.resolution>\"u\")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${l})`);let u=Cc(c.resolution,!0),g=new ot;g.load(c,{yamlCompatibilityMode:!0});let f=g.version,h=g.languageName||t,p=c.linkType.toUpperCase(),C=(i=c.conditions)!=null?i:null,y=g.dependencies,B=g.peerDependencies,v=g.dependenciesMeta,D=g.peerDependenciesMeta,L=g.bin;if(c.checksum!=null){let j=typeof a<\"u\"&&!c.checksum.includes(\"/\")?`${a}/${c.checksum}`:c.checksum;this.storedChecksums.set(u.locatorHash,j)}let H={...u,version:f,languageName:h,linkType:p,conditions:C,dependencies:y,peerDependencies:B,dependenciesMeta:v,peerDependenciesMeta:D,bin:L};this.originalPackages.set(H.locatorHash,H);for(let j of l.split(kOe)){let $=MA(j);this.storedDescriptors.set($.descriptorHash,$),this.storedResolutions.set($.descriptorHash,u.locatorHash)}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){let t=e;e=[];for(let i of t){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let t=new fh(e,{project:this});await t.setup();let i=this.workspacesByIdent.get(t.locator.identHash);if(typeof i<\"u\")throw new Error(`Duplicate workspace name ${Ai(this.configuration,t.locator)}: ${K.fromPortablePath(e)} conflicts with ${K.fromPortablePath(i.cwd)}`);return this.workspaces.push(t),this.workspacesByCwd.set(e,t),this.workspacesByIdent.set(t.locator.identHash,t),t}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){x.isAbsolute(e)||(e=x.resolve(this.cwd,e)),e=x.normalize(e).replace(/\\/+$/,\"\");let t=this.workspacesByCwd.get(e);return t||null}getWorkspaceByCwd(e){let t=this.tryWorkspaceByCwd(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByFilePath(e){let t=null;for(let i of this.workspaces)x.relative(i.cwd,e).startsWith(\"../\")||t&&t.cwd.length>=i.cwd.length||(t=i);return t||null}getWorkspaceByFilePath(e){let t=this.tryWorkspaceByFilePath(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByIdent(e){let t=this.workspacesByIdent.get(e.identHash);return typeof t>\"u\"?null:t}getWorkspaceByIdent(e){let t=this.tryWorkspaceByIdent(e);if(!t)throw new Error(`Workspace not found (${Ai(this.configuration,e)})`);return t}tryWorkspaceByDescriptor(e){let t=this.tryWorkspaceByIdent(e);return t===null||(OA(e)&&(e=Jd(e)),!t.accepts(e.range))?null:t}getWorkspaceByDescriptor(e){let t=this.tryWorkspaceByDescriptor(e);if(t===null)throw new Error(`Workspace not found (${tr(this.configuration,e)})`);return t}tryWorkspaceByLocator(e){let t=this.tryWorkspaceByIdent(e);return t===null||(Uo(e)&&(e=Wd(e)),t.locator.locatorHash!==e.locatorHash&&t.anchoredLocator.locatorHash!==e.locatorHash)?null:t}getWorkspaceByLocator(e){let t=this.tryWorkspaceByLocator(e);if(!t)throw new Error(`Workspace not found (${mt(this.configuration,e)})`);return t}refreshWorkspaceDependencies(){for(let e of this.workspaces){let t=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!t)throw new Error(`Assertion failed: Expected workspace ${Zd(this.configuration,e)} (${Ze(this.configuration,x.join(e.cwd,xt.manifest),Ue.PATH)}) to have been resolved. Run \"yarn install\" to update the lockfile`);e.dependencies=new Map(t.dependencies)}}forgetResolution(e){let t=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if(\"descriptorHash\"in e){let n=this.storedResolutions.get(e.descriptorHash);t(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n<\"u\"&&!s.has(n)&&i(n)}if(\"locatorHash\"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&t(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let t of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(t,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(t)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[t,i]of e.dependencies)OA(i)&&e.dependencies.set(t,Jd(i))}getDependencyMeta(e,t){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(Ot(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),t===null||!jZ.default.valid(t))return i;for(let[a,l]of s)a!==null&&a===t&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:t=!1}={}){let i=new ti,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(t&&(await o.findPackageLocation(a,s)).replace(HZ,\"\")!==e.replace(HZ,\"\"))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error(\"Workspaces must have been setup before calling this function\");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let t=e.resolver||this.configuration.makeResolver(),i=new v0(t);await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new P0(t)]:[i,t],s=new yf([new x0(t),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,C=new Set,y=[],B=OD(),v=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Si.progressViaTitle(),async W=>{let Z=async O=>{let F=await of(async()=>await s.resolve(O,a),ke=>`${mt(this.configuration,O)}: ${ke}`);if(!Vd(O,F))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${mt(this.configuration,O)} to ${mt(this.configuration,F)})`);g.set(F.locatorHash,F);let ue=this.configuration.normalizePackage(F);for(let[ke,Fe]of ue.dependencies){let Ne=await this.configuration.reduceHook(le=>le.reduceDependency,Fe,this,ue,Fe,{resolver:s,resolveOptions:a});if(!zd(Fe,Ne))throw new Error(\"Assertion failed: The descriptor ident cannot be changed through aliases\");let oe=s.bindDescriptor(Ne,O,a);ue.dependencies.set(ke,oe)}let he=$s([...ue.dependencies.values()].map(ke=>re(ke)));return y.push(he),he.catch(()=>{}),c.set(ue.locatorHash,ue),ue},A=async O=>{let F=f.get(O.locatorHash);if(typeof F<\"u\")return F;let ue=Promise.resolve().then(()=>Z(O));return f.set(O.locatorHash,ue),ue},ae=async(O,F)=>{let ue=await re(F);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,ue.locatorHash),ue},ge=async O=>{W.setTitle(tr(this.configuration,O));let F=this.resolutionAliases.get(O.descriptorHash);if(typeof F<\"u\")return ae(O,this.storedDescriptors.get(F));let ue=s.getResolutionDependencies(O,a),he=new Map(await $s(ue.map(async Ne=>{let oe=s.bindDescriptor(Ne,p,a),le=await re(oe);return C.add(le.locatorHash),[Ne.descriptorHash,le]}))),Fe=(await of(async()=>await s.getCandidates(O,he,a),Ne=>`${tr(this.configuration,O)}: ${Ne}`))[0];if(typeof Fe>\"u\")throw new Error(`${tr(this.configuration,O)}: No candidates found`);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,Fe.locatorHash),A(Fe)},re=O=>{let F=h.get(O.descriptorHash);if(typeof F<\"u\")return F;l.set(O.descriptorHash,O);let ue=Promise.resolve().then(()=>ge(O));return h.set(O.descriptorHash,ue),ue};for(let O of this.workspaces){let F=O.anchoredDescriptor;y.push(re(F))}for(;y.length>0;){let O=[...y];y.length=0,await $s(O)}});let D=new Set(this.resolutionAliases.values()),L=new Set(c.keys()),H=new Set,j=new Map;LOe({project:this,report:e.report,accessibleLocators:H,volatileDescriptors:D,optionalBuilds:L,peerRequirements:j,allDescriptors:l,allResolutions:u,allPackages:c});for(let W of C)L.delete(W);for(let W of D)l.delete(W),u.delete(W);let $=new Set,V=new Set;for(let W of c.values())W.conditions!=null&&(!L.has(W.locatorHash)||(mw(W,v)||(mw(W,B)&&e.report.reportWarningOnce(77,`${mt(this.configuration,W)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Ze(this.configuration,\"supportedArchitectures\",vi.SETTING)} setting`),V.add(W.locatorHash)),$.add(W.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=H,this.conditionalLocators=$,this.disabledLocators=V,this.originalPackages=g,this.optionalBuilds=L,this.peerRequirements=j,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:t,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,cacheOptions:s},l=Array.from(new Set(wn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error(\"Assertion failed: The locator should have been registered\");return hs(h)}])));n===\"update-lockfile\"&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=Si.progressViaCounter(l.length);await t.reportProgress(u);let g=(0,YZ.default)(ROe);if(await t.startCacheReport(async()=>{await $s(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error(\"Assertion failed: The locator should have been registered\");if(Uo(h))return;let p;try{p=await o.fetch(h,a)}catch(C){C.message=`${mt(this.configuration,h)}: ${C.message}`,t.reportExceptionOnce(C),c=C;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:t,fetcher:i,mode:n}){var ae,ge,re;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:t},u=new Map(l.map(O=>{let F=O.makeInstaller(c),ue=F.getCustomDataKey(),he=this.installersCustomData.get(ue);return typeof he<\"u\"&&F.attachCustomData(he),[O,F]})),g=new Map,f=new Map,h=new Map,p=new Map(await $s([...this.accessibleLocators].map(async O=>{let F=this.storedPackages.get(O);if(!F)throw new Error(\"Assertion failed: The locator should have been registered\");return[O,await o.fetch(F,a)]}))),C=[];for(let O of this.accessibleLocators){let F=this.storedPackages.get(O);if(typeof F>\"u\")throw new Error(\"Assertion failed: The locator should have been registered\");let ue=p.get(F.locatorHash);if(typeof ue>\"u\")throw new Error(\"Assertion failed: The fetch result should have been registered\");let he=[],ke=Ne=>{he.push(Ne)},Fe=this.tryWorkspaceByLocator(F);if(Fe!==null){let Ne=[],{scripts:oe}=Fe.manifest;for(let we of[\"preinstall\",\"install\",\"postinstall\"])oe.has(we)&&Ne.push([0,we]);try{for(let[we,fe]of u)if(we.supportsPackage(F,c)&&(await fe.installPackage(F,ue,{holdFetchResult:ke})).buildDirective!==null)throw new Error(\"Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core\")}finally{he.length===0?(ae=ue.releaseFs)==null||ae.call(ue):C.push($s(he).catch(()=>{}).then(()=>{var we;(we=ue.releaseFs)==null||we.call(ue)}))}let le=x.join(ue.packageFs.getRealPath(),ue.prefixPath);f.set(F.locatorHash,le),!Uo(F)&&Ne.length>0&&h.set(F.locatorHash,{directives:Ne,buildLocations:[le]})}else{let Ne=l.find(we=>we.supportsPackage(F,c));if(!Ne)throw new at(12,`${mt(this.configuration,F)} isn't supported by any available linker`);let oe=u.get(Ne);if(!oe)throw new Error(\"Assertion failed: The installer should have been registered\");let le;try{le=await oe.installPackage(F,ue,{holdFetchResult:ke})}finally{he.length===0?(ge=ue.releaseFs)==null||ge.call(ue):C.push($s(he).then(()=>{}).then(()=>{var we;(we=ue.releaseFs)==null||we.call(ue)}))}g.set(F.locatorHash,Ne),f.set(F.locatorHash,le.packageLocation),le.buildDirective&&le.buildDirective.length>0&&le.packageLocation&&h.set(F.locatorHash,{directives:le.buildDirective,buildLocations:[le.packageLocation]})}}let y=new Map;for(let O of this.accessibleLocators){let F=this.storedPackages.get(O);if(!F)throw new Error(\"Assertion failed: The locator should have been registered\");let ue=this.tryWorkspaceByLocator(F)!==null,he=async(ke,Fe)=>{let Ne=f.get(F.locatorHash);if(typeof Ne>\"u\")throw new Error(`Assertion failed: The package (${mt(this.configuration,F)}) should have been registered`);let oe=[];for(let le of F.dependencies.values()){let we=this.storedResolutions.get(le.descriptorHash);if(typeof we>\"u\")throw new Error(`Assertion failed: The resolution (${tr(this.configuration,le)}, from ${mt(this.configuration,F)})should have been registered`);let fe=this.storedPackages.get(we);if(typeof fe>\"u\")throw new Error(`Assertion failed: The package (${we}, resolved from ${tr(this.configuration,le)}) should have been registered`);let Ae=this.tryWorkspaceByLocator(fe)===null?g.get(we):null;if(typeof Ae>\"u\")throw new Error(`Assertion failed: The package (${we}, resolved from ${tr(this.configuration,le)}) should have been registered`);Ae===ke||Ae===null?f.get(fe.locatorHash)!==null&&oe.push([le,fe]):!ue&&Ne!==null&&nf(y,we).push(Ne)}Ne!==null&&await Fe.attachInternalDependencies(F,oe)};if(ue)for(let[ke,Fe]of u)ke.supportsPackage(F,c)&&await he(ke,Fe);else{let ke=g.get(F.locatorHash);if(!ke)throw new Error(\"Assertion failed: The linker should have been found\");let Fe=u.get(ke);if(!Fe)throw new Error(\"Assertion failed: The installer should have been registered\");await he(ke,Fe)}}for(let[O,F]of y){let ue=this.storedPackages.get(O);if(!ue)throw new Error(\"Assertion failed: The package should have been registered\");let he=g.get(ue.locatorHash);if(!he)throw new Error(\"Assertion failed: The linker should have been found\");let ke=u.get(he);if(!ke)throw new Error(\"Assertion failed: The installer should have been registered\");await ke.attachExternalDependents(ue,F)}let B=new Map;for(let O of u.values()){let F=await O.finalizeInstall();for(let ue of(re=F==null?void 0:F.records)!=null?re:[])h.set(ue.locatorHash,{directives:ue.buildDirective,buildLocations:ue.buildLocations});typeof(F==null?void 0:F.customData)<\"u\"&&B.set(O.getCustomDataKey(),F.customData)}if(this.installersCustomData=B,await $s(C),n===\"skip-build\")return;let v=new Set(this.storedPackages.keys()),D=new Set(h.keys());for(let O of D)v.delete(O);let L=(0,D0.createHash)(\"sha512\");L.update(process.versions.node),await this.configuration.triggerHook(O=>O.globalHashGeneration,this,O=>{L.update(\"\\0\"),L.update(O)});let H=L.digest(\"hex\"),j=new Map,$=O=>{let F=j.get(O.locatorHash);if(typeof F<\"u\")return F;let ue=this.storedPackages.get(O.locatorHash);if(typeof ue>\"u\")throw new Error(\"Assertion failed: The package should have been registered\");let he=(0,D0.createHash)(\"sha512\");he.update(O.locatorHash),j.set(O.locatorHash,\"<recursive>\");for(let ke of ue.dependencies.values()){let Fe=this.storedResolutions.get(ke.descriptorHash);if(typeof Fe>\"u\")throw new Error(`Assertion failed: The resolution (${tr(this.configuration,ke)}) should have been registered`);let Ne=this.storedPackages.get(Fe);if(typeof Ne>\"u\")throw new Error(\"Assertion failed: The package should have been registered\");he.update($(Ne))}return F=he.digest(\"hex\"),j.set(O.locatorHash,F),F},V=(O,F)=>{let ue=(0,D0.createHash)(\"sha512\");ue.update(H),ue.update($(O));for(let he of F)ue.update(he);return ue.digest(\"hex\")},W=new Map,Z=!1,A=O=>{let F=new Set([O.locatorHash]);for(let ue of F){let he=this.storedPackages.get(ue);if(!he)throw new Error(\"Assertion failed: The package should have been registered\");for(let ke of he.dependencies.values()){let Fe=this.storedResolutions.get(ke.descriptorHash);if(!Fe)throw new Error(`Assertion failed: The resolution (${tr(this.configuration,ke)}) should have been registered`);if(Fe!==O.locatorHash&&D.has(Fe))return!1;let Ne=this.storedPackages.get(Fe);if(!Ne)throw new Error(\"Assertion failed: The package should have been registered\");let oe=this.tryWorkspaceByLocator(Ne);if(oe){if(oe.anchoredLocator.locatorHash!==O.locatorHash&&D.has(oe.anchoredLocator.locatorHash))return!1;F.add(oe.anchoredLocator.locatorHash)}F.add(Fe)}}return!0};for(;D.size>0;){let O=D.size,F=[];for(let ue of D){let he=this.storedPackages.get(ue);if(!he)throw new Error(\"Assertion failed: The package should have been registered\");if(!A(he))continue;let ke=h.get(he.locatorHash);if(!ke)throw new Error(\"Assertion failed: The build directive should have been registered\");let Fe=V(he,ke.buildLocations);if(this.storedBuildState.get(he.locatorHash)===Fe){W.set(he.locatorHash,Fe),D.delete(ue);continue}Z||(await this.persistInstallStateFile(),Z=!0),this.storedBuildState.has(he.locatorHash)?t.reportInfo(8,`${mt(this.configuration,he)} must be rebuilt because its dependency tree changed`):t.reportInfo(7,`${mt(this.configuration,he)} must be built because it never has been before or the last one failed`);let Ne=ke.buildLocations.map(async oe=>{if(!x.isAbsolute(oe))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${oe})`);for(let[le,we]of ke.directives){let fe=`# This file contains the result of Yarn building a package (${hs(he)})\n`;switch(le){case 0:fe+=`# Script name: ${we}\n`;break;case 1:fe+=`# Script code: ${we}\n`;break}let Ae=null;if(!await M.mktempPromise(async ne=>{let Y=x.join(ne,\"build.log\"),{stdout:pe,stderr:ie}=this.configuration.getSubprocessStreams(Y,{header:fe,prefix:mt(this.configuration,he),report:t}),de;try{switch(le){case 0:de=await wB(he,we,[],{cwd:oe,project:this,stdin:Ae,stdout:pe,stderr:ie});break;case 1:de=await DR(he,we,[],{cwd:oe,project:this,stdin:Ae,stdout:pe,stderr:ie});break}}catch(Pt){ie.write(Pt.stack),de=1}if(pe.end(),ie.end(),de===0)return!0;M.detachTemp(ne);let tt=`${mt(this.configuration,he)} couldn't be built successfully (exit code ${Ze(this.configuration,de,Ue.NUMBER)}, logs can be found here: ${Ze(this.configuration,Y,Ue.PATH)})`;return this.optionalBuilds.has(he.locatorHash)?(t.reportInfo(9,tt),!0):(t.reportError(9,tt),!1)}))return!1}return!0});F.push(...Ne,Promise.allSettled(Ne).then(oe=>{D.delete(ue),oe.every(le=>le.status===\"fulfilled\"&&le.value===!0)&&W.set(he.locatorHash,Fe)}))}if(await $s(F),O===D.size){let ue=Array.from(D).map(he=>{let ke=this.storedPackages.get(he);if(!ke)throw new Error(\"Assertion failed: The package should have been registered\");return mt(this.configuration,ke)}).join(\", \");t.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${ue})`);break}}this.storedBuildState=W}async install(e){var a,l;let t=this.configuration.get(\"nodeLinker\");(a=ye.telemetry)==null||a.reportInstall(t),await e.report.startTimerPromise(\"Project validation\",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=\"inactive\";let i=x.join(this.cwd,this.configuration.get(\"lockfileFilename\")),n=null;if(e.immutable)try{n=await M.readFilePromise(i,\"utf8\")}catch(c){throw c.code===\"ENOENT\"?new at(28,\"The lockfile would have been created by this install, which is explicitly forbidden.\"):c}await e.report.startTimerPromise(\"Resolution step\",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise(\"Post-resolution validation\",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=Ze(this.configuration,g,Ue.PACKAGE_EXTENSION);switch(g.status){case\"inactive\":e.report.reportWarning(68,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case\"redundant\":e.report.reportWarning(69,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=Tl(n,this.generateLockfile());if(c!==n){let u=RX(i,i,n,c,void 0,void 0,{maxEditLength:100});if(u){e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith(\"+\")?e.report.reportError(28,Ze(this.configuration,f,Ue.ADDED)):f.startsWith(\"-\")?e.report.reportError(28,Ze(this.configuration,f,Ue.REMOVED)):e.report.reportInfo(null,Ze(this.configuration,f,\"grey\"))}e.report.reportSeparator()}throw new at(28,\"The lockfile would have been modified by this install, which is explicitly forbidden.\")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===\"active\"&&((l=ye.telemetry)==null||l.reportPackageExtension(cc(g,Ue.PACKAGE_EXTENSION)));await e.report.startTimerPromise(\"Fetch step\",async()=>{await this.fetchEverything(e),(typeof e.persistProject>\"u\"||e.persistProject)&&e.mode!==\"update-lockfile\"&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get(\"immutablePatterns\"))].sort():[],o=await Promise.all(s.map(async c=>gw(c,{cwd:this.cwd})));(typeof e.persistProject>\"u\"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise(\"Link step\",async()=>{if(e.mode===\"update-lockfile\"){e.report.reportWarning(73,`Skipped due to ${Ze(this.configuration,\"mode=update-lockfile\",Ue.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>gw(u,{cwd:this.cwd})));for(let u=0;u<s.length;++u)o[u]!==c[u]&&e.report.reportError(64,`The checksum for ${s[u]} has been modified by this install, which is explicitly forbidden.`)}),await this.persistInstallStateFile(),await this.configuration.triggerHook(c=>c.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let t={};t.__metadata={version:UZ,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error(\"Assertion failed: The descriptor should have been registered\");a.push(h)}let l=a.map(f=>Qn(f)).sort().join(\", \"),c=new ot;c.version=o.linkType===\"HARD\"?o.version:\"0.0.0-use.local\",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g<\"u\"){let f=g.indexOf(\"/\");if(f===-1)throw new Error(\"Assertion failed: Expected the checksum to reference its cache key\");let h=g.slice(0,f),p=g.slice(f+1);typeof t.__metadata.cacheKey>\"u\"&&(t.__metadata.cacheKey=h),h===t.__metadata.cacheKey?u=p:u=g}t[l]={...c.exportTo({},{compatibilityMode:!1}),linkType:o.linkType.toLowerCase(),resolution:hs(o),checksum:u,conditions:o.conditions||void 0}}return`${[`# This file is generated by running \"yarn install\" inside your project.\n`,`# Manual changes might be lost - proceed with caution!\n`].join(\"\")}\n`+Ca(t)}async persistLockfile(){let e=x.join(this.cwd,this.configuration.get(\"lockfileFilename\")),t=\"\";try{t=await M.readFilePromise(e,\"utf8\")}catch{}let i=this.generateLockfile(),n=Tl(t,i);n!==t&&(await M.writeFilePromise(e,n),this.lockFileChecksum=GZ(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(CN))e.push(...o);let t=(0,k0.default)(this,e),i=mN.default.serialize(t),n=Zi(i);if(this.installStateChecksum===n)return;let s=this.configuration.get(\"installStatePath\");await M.mkdirPromise(x.dirname(s),{recursive:!0}),await M.writeFilePromise(s,await FOe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:t=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get(\"installStatePath\"),s;try{let o=await NOe(await M.readFilePromise(n));s=mN.default.deserialize(o),this.installStateChecksum=Zi(o)}catch{t&&await this.applyLightResolution();return}e&&typeof s.installersCustomData<\"u\"&&(this.installersCustomData=s.installersCustomData),i&&Object.assign(this,(0,k0.default)(s,CN.restoreBuildState)),t&&(s.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,k0.default)(s,CN.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new ti}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:t}){if(this.configuration.get(\"enableGlobalCache\"))return;let i=new Set([\".gitignore\"]);if(!LD(e.cwd,this.cwd)||!await M.existsPromise(e.cwd))return;let n=this.configuration.get(\"preferAggregateCacheInfo\"),s=0,o=null;for(let a of await M.readdirPromise(e.cwd)){if(i.has(a))continue;let l=x.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?t.reportError(56,`${Ze(this.configuration,x.basename(l),\"magenta\")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:t.reportInfo(19,`${Ze(this.configuration,x.basename(l),\"magenta\")} appears to be unused - removing`),await M.removePromise(l)))}n&&s!==0&&t.reportInfo(19,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function LOe({project:r,allDescriptors:e,allResolutions:t,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,peerRequirements:o=new Map,volatileDescriptors:a=new Set,report:l}){var V;let c=new Map,u=[],g=new Map,f=new Map,h=new Map,p=new Map,C=new Map,y=new Map(r.workspaces.map(W=>{let Z=W.anchoredLocator.locatorHash,A=i.get(Z);if(typeof A>\"u\")throw new Error(\"Assertion failed: The workspace should have an associated package\");return[Z,qd(A)]})),B=()=>{let W=M.mktempSync(),Z=x.join(W,\"stacktrace.log\"),A=String(u.length+1).length,ae=u.map((ge,re)=>`${`${re+1}.`.padStart(A,\" \")} ${hs(ge)}\n`).join(\"\");throw M.writeFileSync(Z,ae),M.detachTemp(W),new at(45,`Encountered a stack overflow when resolving peer dependencies; cf ${K.fromPortablePath(Z)}`)},v=W=>{let Z=t.get(W.descriptorHash);if(typeof Z>\"u\")throw new Error(\"Assertion failed: The resolution should have been registered\");let A=i.get(Z);if(!A)throw new Error(\"Assertion failed: The package could not be found\");return A},D=(W,Z,A,{top:ae,optional:ge})=>{u.length>1e3&&B(),u.push(Z);let re=L(W,Z,A,{top:ae,optional:ge});return u.pop(),re},L=(W,Z,A,{top:ae,optional:ge})=>{if(n.has(Z.locatorHash))return;n.add(Z.locatorHash),ge||s.delete(Z.locatorHash);let re=i.get(Z.locatorHash);if(!re)throw new Error(`Assertion failed: The package (${mt(r.configuration,Z)}) should have been registered`);let O=[],F=[],ue=[],he=[],ke=[];for(let Ne of Array.from(re.dependencies.values())){if(re.peerDependencies.has(Ne.identHash)&&re.locatorHash!==ae)continue;if(OA(Ne))throw new Error(\"Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch\");a.delete(Ne.descriptorHash);let oe=ge;if(!oe){let Y=re.dependenciesMeta.get(Ot(Ne));if(typeof Y<\"u\"){let pe=Y.get(null);typeof pe<\"u\"&&pe.optional&&(oe=!0)}}let le=t.get(Ne.descriptorHash);if(!le)throw new Error(`Assertion failed: The resolution (${tr(r.configuration,Ne)}) should have been registered`);let we=y.get(le)||i.get(le);if(!we)throw new Error(`Assertion failed: The package (${le}, resolved from ${tr(r.configuration,Ne)}) should have been registered`);if(we.peerDependencies.size===0){D(Ne,we,new Map,{top:ae,optional:oe});continue}let fe,Ae,qe=new Set,ne;F.push(()=>{fe=SD(Ne,Z.locatorHash),Ae=vD(we,Z.locatorHash),re.dependencies.delete(Ne.identHash),re.dependencies.set(fe.identHash,fe),t.set(fe.descriptorHash,Ae.locatorHash),e.set(fe.descriptorHash,fe),i.set(Ae.locatorHash,Ae),O.push([we,fe,Ae])}),ue.push(()=>{var Y;ne=new Map;for(let pe of Ae.peerDependencies.values()){let ie=re.dependencies.get(pe.identHash);if(!ie&&zd(Z,pe)&&(W.identHash===Z.identHash?ie=W:(ie=Zt(Z,W.range),e.set(ie.descriptorHash,ie),t.set(ie.descriptorHash,Z.locatorHash),a.delete(ie.descriptorHash))),(!ie||ie.range===\"missing:\")&&Ae.dependencies.has(pe.identHash)){Ae.peerDependencies.delete(pe.identHash);continue}ie||(ie=Zt(pe,\"missing:\")),Ae.dependencies.set(ie.identHash,ie),OA(ie)&&lc(h,ie.descriptorHash).add(Ae.locatorHash),g.set(ie.identHash,ie),ie.range===\"missing:\"&&qe.add(ie.identHash),ne.set(pe.identHash,(Y=A.get(pe.identHash))!=null?Y:Ae.locatorHash)}Ae.dependencies=new Map(wn(Ae.dependencies,([pe,ie])=>Ot(ie)))}),he.push(()=>{if(!i.has(Ae.locatorHash))return;let Y=c.get(we.locatorHash);typeof Y==\"number\"&&Y>=2&&B();let pe=c.get(we.locatorHash),ie=typeof pe<\"u\"?pe+1:1;c.set(we.locatorHash,ie),D(fe,Ae,ne,{top:ae,optional:oe}),c.set(we.locatorHash,ie-1)}),ke.push(()=>{let Y=re.dependencies.get(Ne.identHash);if(typeof Y>\"u\")throw new Error(\"Assertion failed: Expected the peer dependency to have been turned into a dependency\");let pe=t.get(Y.descriptorHash);if(typeof pe>\"u\")throw new Error(\"Assertion failed: Expected the descriptor to be registered\");if(lc(C,pe).add(Z.locatorHash),!!i.has(Ae.locatorHash)){for(let ie of Ae.peerDependencies.values()){let de=ne.get(ie.identHash);if(typeof de>\"u\")throw new Error(\"Assertion failed: Expected the peer dependency ident to be registered\");nf(sf(p,de),Ot(ie)).push(Ae.locatorHash)}for(let ie of qe)Ae.dependencies.delete(ie)}})}for(let Ne of[...F,...ue])Ne();let Fe;do{Fe=!0;for(let[Ne,oe,le]of O){let we=sf(f,Ne.locatorHash),fe=Zi(...[...le.dependencies.values()].map(Y=>{let pe=Y.range!==\"missing:\"?t.get(Y.descriptorHash):\"missing:\";if(typeof pe>\"u\")throw new Error(`Assertion failed: Expected the resolution for ${tr(r.configuration,Y)} to have been registered`);return pe===ae?`${pe} (top)`:pe}),oe.identHash),Ae=we.get(fe);if(typeof Ae>\"u\"){we.set(fe,oe);continue}if(Ae===oe)continue;i.delete(le.locatorHash),e.delete(oe.descriptorHash),t.delete(oe.descriptorHash),n.delete(le.locatorHash);let qe=h.get(oe.descriptorHash)||[],ne=[re.locatorHash,...qe];h.delete(oe.descriptorHash);for(let Y of ne){let pe=i.get(Y);typeof pe>\"u\"||(pe.dependencies.get(oe.identHash).descriptorHash!==Ae.descriptorHash&&(Fe=!1),pe.dependencies.set(oe.identHash,Ae))}}}while(!Fe);for(let Ne of[...he,...ke])Ne()};for(let W of r.workspaces){let Z=W.anchoredLocator;a.delete(W.anchoredDescriptor.descriptorHash),D(W.anchoredDescriptor,Z,new Map,{top:Z.locatorHash,optional:!1})}let H;(A=>(A[A.NotProvided=0]=\"NotProvided\",A[A.NotCompatible=1]=\"NotCompatible\"))(H||(H={}));let j=[];for(let[W,Z]of C){let A=i.get(W);if(typeof A>\"u\")throw new Error(\"Assertion failed: Expected the root to be registered\");let ae=p.get(W);if(!(typeof ae>\"u\"))for(let ge of Z){let re=i.get(ge);if(!(typeof re>\"u\"))for(let[O,F]of ae){let ue=_i(O);if(re.peerDependencies.has(ue.identHash))continue;let he=`p${Zi(ge,O,W).slice(0,5)}`;o.set(he,{subject:ge,requested:ue,rootRequester:W,allRequesters:F});let ke=A.dependencies.get(ue.identHash);if(typeof ke<\"u\"){let Fe=v(ke),Ne=(V=Fe.version)!=null?V:\"0.0.0\",oe=new Set;for(let we of F){let fe=i.get(we);if(typeof fe>\"u\")throw new Error(\"Assertion failed: Expected the link to be registered\");let Ae=fe.peerDependencies.get(ue.identHash);if(typeof Ae>\"u\")throw new Error(\"Assertion failed: Expected the ident to be registered\");oe.add(Ae.range)}[...oe].every(we=>{if(we.startsWith(jr.protocol)){if(!r.tryWorkspaceByLocator(Fe))return!1;we=we.slice(jr.protocol.length),(we===\"^\"||we===\"~\")&&(we=\"*\")}return mc(Ne,we)})||j.push({type:1,subject:re,requested:ue,requester:A,version:Ne,hash:he,requirementCount:F.length})}else{let Fe=A.peerDependenciesMeta.get(O);Fe!=null&&Fe.optional||j.push({type:0,subject:re,requested:ue,requester:A,hash:he})}}}}let $=[W=>xD(W.subject),W=>Ot(W.requested),W=>`${W.type}`];l==null||l.startSectionSync({reportFooter:()=>{l.reportWarning(0,`Some peer dependencies are incorrectly met; run ${Ze(r.configuration,\"yarn explain peer-requirements <hash>\",Ue.CODE)} for details, where ${Ze(r.configuration,\"<hash>\",Ue.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let W of wn(j,$))switch(W.type){case 0:l.reportWarning(2,`${mt(r.configuration,W.subject)} doesn't provide ${Ai(r.configuration,W.requested)} (${Ze(r.configuration,W.hash,Ue.CODE)}), requested by ${Ai(r.configuration,W.requester)}`);break;case 1:{let Z=W.requirementCount>1?\"and some of its descendants request\":\"requests\";l.reportWarning(60,`${mt(r.configuration,W.subject)} provides ${Ai(r.configuration,W.requested)} (${Ze(r.configuration,W.hash,Ue.CODE)}) with version ${_d(r.configuration,W.version)}, which doesn't satisfy what ${Ai(r.configuration,W.requester)} ${Z}`)}break}})}var hh=class{constructor(e,t){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!M.existsSync(i),this.sendReport(t),this.startBuffer()}reportVersion(e){this.reportValue(\"version\",e.replace(/-git\\..*/,\"-git\"))}reportCommandName(e){this.reportValue(\"commandName\",e||\"<none>\")}reportPluginName(e){this.reportValue(\"pluginName\",e)}reportProject(e){this.reportEnumerator(\"projectCount\",e)}reportInstall(e){this.reportHit(\"installCount\",e)}reportPackageExtension(e){this.reportValue(\"packageExtension\",e)}reportWorkspaceCount(e){this.reportValue(\"workspaceCount\",String(e))}reportDependencyCount(e){this.reportValue(\"dependencyCount\",String(e))}reportValue(e,t){lc(this.values,e).add(t)}reportEnumerator(e,t){lc(this.enumerators,e).add(Zi(t))}reportHit(e,t=\"*\"){let i=sf(this.hits,e),n=xa(i,t,()=>0);i.set(t,n+1)}getRegistryPath(){let e=this.configuration.get(\"globalFolder\");return x.join(e,\"telemetry.json\")}sendReport(e){var u,g,f;let t=this.getRegistryPath(),i;try{i=M.readJsonSync(t)}catch{i={}}let n=Date.now(),s=this.configuration.get(\"telemetryInterval\")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{M.mkdirSync(x.dirname(t),{recursive:!0}),M.writeJsonSync(t,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>pR(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let C=p;C.userId=h,C.reportType=\"primary\";for(let v of Object.keys((f=C.enumerators)!=null?f:{}))C.enumerators[v]=C.enumerators[v].length;c(C);let y=new Map,B=20;for(let[v,D]of Object.entries(C.values))D.length>0&&y.set(v,D.slice(0,B));for(;y.size>0;){let v={};v.userId=h,v.reportType=\"secondary\",v.metrics={};for(let[D,L]of y)v.metrics[D]=L.shift(),L.length===0&&y.delete(D);c(v)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),t;try{t=M.readJsonSync(e)}catch{t={}}let i=(o=this.configuration.get(\"telemetryUserId\"))!=null?o:\"*\",n=t.blocks=(a=t.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let C of this.hits.keys()){let y=s.hits=(c=s.hits)!=null?c:{},B=y[C]=(u=y[C])!=null?u:{};for(let[v,D]of this.hits.get(C))B[v]=((g=B[v])!=null?g:0)+D}for(let C of[\"values\",\"enumerators\"])for(let y of this[C].keys()){let B=s[C]=(f=s[C])!=null?f:{};B[y]=[...new Set([...(h=B[y])!=null?h:[],...(p=this[C].get(y))!=null?p:[]])]}M.mkdirSync(x.dirname(e),{recursive:!0}),M.writeJsonSync(e,t)}startBuffer(){process.on(\"exit\",()=>{try{this.applyChanges()}catch{}})}};var yN=J(\"child_process\"),qZ=Pe(Vl());var wN=J(\"fs\");var ph=new Map([[\"constraints\",[[\"constraints\",\"query\"],[\"constraints\",\"source\"],[\"constraints\"]]],[\"exec\",[]],[\"interactive-tools\",[[\"search\"],[\"upgrade-interactive\"]]],[\"stage\",[[\"stage\"]]],[\"typescript\",[]],[\"version\",[[\"version\",\"apply\"],[\"version\",\"check\"],[\"version\"]]],[\"workspace-tools\",[[\"workspaces\",\"focus\"],[\"workspaces\",\"foreach\"]]]]);function TOe(r){let e=K.fromPortablePath(r);process.on(\"SIGINT\",()=>{}),e?(0,yN.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:\"inherit\",env:{...process.env,YARN_IGNORE_PATH:\"1\",YARN_IGNORE_CWD:\"1\"}}):(0,yN.execFileSync)(e,process.argv.slice(2),{stdio:\"inherit\",env:{...process.env,YARN_IGNORE_PATH:\"1\",YARN_IGNORE_CWD:\"1\"}})}async function R0({binaryVersion:r,pluginConfiguration:e}){async function t(){let n=new Kn({binaryLabel:\"Yarn Package Manager\",binaryName:\"yarn\",binaryVersion:r});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var C,y,B,v,D;let s=process.versions.node,o=\">=12 <14 || 14.2 - 14.9 || >14.10.0\";if(!Ie.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!vt.satisfiesWithPrereleases(s,o))throw new be(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \\`YARN_IGNORE_NODE=1\\` in your environment.`);let l=await ye.find(K.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),c=l.get(\"yarnPath\"),u=l.get(\"ignorePath\"),g=l.get(\"ignoreCwd\"),f=K.toPortablePath(K.resolve(process.argv[1])),h=L=>M.readFilePromise(L).catch(()=>Buffer.of());if(!u&&!g&&await(async()=>c===f||Buffer.compare(...await Promise.all([h(c),h(f)]))===0)()){process.env.YARN_IGNORE_PATH=\"1\",process.env.YARN_IGNORE_CWD=\"1\",await i(n);return}else if(c!==null&&!u)if(!M.existsSync(c))process.stdout.write(n.error(new Error(`The \"yarn-path\" option has been set (in ${l.sources.get(\"yarnPath\")}), but the specified location doesn't exist (${c}).`))),process.exitCode=1;else try{TOe(c)}catch(L){process.exitCode=L.code||1}else{u&&delete process.env.YARN_IGNORE_PATH,l.get(\"enableTelemetry\")&&!qZ.isCI&&process.stdout.isTTY&&(ye.telemetry=new hh(l,\"puba9cdc10ec5790a2cf4969dd413a47270\")),(C=ye.telemetry)==null||C.reportVersion(r);for(let[$,V]of l.plugins.entries()){ph.has((B=(y=$.match(/^@yarnpkg\\/plugin-(.*)$/))==null?void 0:y[1])!=null?B:\"\")&&((v=ye.telemetry)==null||v.reportPluginName($));for(let W of V.commands||[])n.register(W)}let H=n.process(process.argv.slice(2));H.help||(D=ye.telemetry)==null||D.reportCommandName(H.path.join(\" \"));let j=H.cwd;if(typeof j<\"u\"&&!g){let $=(0,wN.realpathSync)(process.cwd()),V=(0,wN.realpathSync)(j);if($!==V){process.chdir(j),await t();return}}await n.runExit(H,{cwd:K.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return t().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>M.rmtempPromise())}function JZ(r){r.Command.Path=(...e)=>t=>{t.paths=t.paths||[],t.paths.push(e)};for(let e of[\"Array\",\"Boolean\",\"String\",\"Proxy\",\"Rest\",\"Counter\"])r.Command[e]=(...t)=>(i,n)=>{let s=r.Option[e](...t);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return r}var Qm={};ut(Qm,{BaseCommand:()=>De,WorkspaceRequiredError:()=>ct,getDynamicLibs:()=>sie,getPluginConfiguration:()=>rQ,main:()=>R0,openWorkspace:()=>Ph,pluginCommands:()=>ph});var De=class extends ve{constructor(){super(...arguments);this.cwd=z.String(\"--cwd\",{hidden:!0})}};var ct=class extends be{constructor(e,t){let i=x.relative(e,t),n=x.join(e,ot.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var GGe=Pe(Xr());ns();var YGe=Pe(IL()),sie=()=>new Map([[\"@yarnpkg/cli\",Qm],[\"@yarnpkg/core\",VC],[\"@yarnpkg/fslib\",Lp],[\"@yarnpkg/libzip\",CC],[\"@yarnpkg/parsers\",Yp],[\"@yarnpkg/shell\",yC],[\"clipanion\",$p],[\"semver\",GGe],[\"typanion\",gn],[\"yup\",YGe]]);async function Ph(r,e){let{project:t,workspace:i}=await je.find(r,e);if(!i)throw new ct(t.cwd,e);return i}var m6e=Pe(Xr());ns();var E6e=Pe(IL());var GT={};ut(GT,{dedupeUtils:()=>fQ,default:()=>t3e,suggestUtils:()=>Fh});var iae=Pe(Vl());var Wne=Pe(Pm());ns();var Fh={};ut(Fh,{Modifier:()=>gT,Strategy:()=>lQ,Target:()=>Dm,WorkspaceModifier:()=>Hne,applyModifier:()=>Yne,extractDescriptorFromPath:()=>fT,extractRangeModifier:()=>Gne,fetchDescriptorFrom:()=>hT,findProjectDescriptors:()=>Jne,getModifier:()=>km,getSuggestedDescriptors:()=>Rm,makeWorkspaceDescriptor:()=>qne,toWorkspaceModifier:()=>jne});var uT=Pe(Xr()),aje=\"workspace:\",Dm=(i=>(i.REGULAR=\"dependencies\",i.DEVELOPMENT=\"devDependencies\",i.PEER=\"peerDependencies\",i))(Dm||{}),gT=(i=>(i.CARET=\"^\",i.TILDE=\"~\",i.EXACT=\"\",i))(gT||{}),Hne=(i=>(i.CARET=\"^\",i.TILDE=\"~\",i.EXACT=\"*\",i))(Hne||{}),lQ=(s=>(s.KEEP=\"keep\",s.REUSE=\"reuse\",s.PROJECT=\"project\",s.LATEST=\"latest\",s.CACHE=\"cache\",s))(lQ||{});function km(r,e){return r.exact?\"\":r.caret?\"^\":r.tilde?\"~\":e.configuration.get(\"defaultSemverRangePrefix\")}var Aje=/^([\\^~]?)[0-9]+(?:\\.[0-9]+){0,2}(?:-\\S+)?$/;function Gne(r,{project:e}){let t=r.match(Aje);return t?t[1]:e.configuration.get(\"defaultSemverRangePrefix\")}function Yne(r,e){let{protocol:t,source:i,params:n,selector:s}=P.parseRange(r.range);return uT.default.valid(s)&&(s=`${e}${r.range}`),P.makeDescriptor(r,P.makeRange({protocol:t,source:i,params:n,selector:s}))}function jne(r){switch(r){case\"^\":return\"^\";case\"~\":return\"~\";case\"\":return\"*\";default:throw new Error(`Assertion failed: Unknown modifier: \"${r}\"`)}}function qne(r,e){return P.makeDescriptor(r.anchoredDescriptor,`${aje}${jne(e)}`)}async function Jne(r,{project:e,target:t}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(t===\"peerDependencies\"){let o=s.manifest.peerDependencies.get(r.identHash);o!==void 0&&n(o).locators.push(s.anchoredLocator)}else{let o=s.manifest.dependencies.get(r.identHash),a=s.manifest.devDependencies.get(r.identHash);t===\"devDependencies\"?a!==void 0?n(a).locators.push(s.anchoredLocator):o!==void 0&&n(o).locators.push(s.anchoredLocator):o!==void 0?n(o).locators.push(s.anchoredLocator):a!==void 0&&n(a).locators.push(s.anchoredLocator)}return i}async function fT(r,{cwd:e,workspace:t}){return await lje(async i=>{x.isAbsolute(r)||(r=x.relative(t.cwd,x.resolve(e,r)),r.match(/^\\.{0,2}\\//)||(r=`./${r}`));let{project:n}=t,s=await hT(P.makeIdent(null,\"archive\"),r,{project:t.project,cache:i,workspace:t});if(!s)throw new Error(\"Assertion failed: The descriptor should have been found\");let o=new ti,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,t.anchoredLocator,c),g=P.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await ot.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error(\"Target path doesn't have a name\");return P.makeDescriptor(h.name,r)})}async function Rm(r,{project:e,workspace:t,cache:i,target:n,modifier:s,strategies:o,maxResults:a=1/0}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(r.range!==\"unknown\")return{suggestions:[{descriptor:r,name:`Use ${P.prettyDescriptor(e.configuration,r)}`,reason:\"(unambiguous explicit request)\"}],rejections:[]};let l=typeof t<\"u\"&&t!==null&&t.manifest[n].get(r.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case\"keep\":await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${P.prettyDescriptor(e.configuration,l)}`,reason:\"(no changes)\"})});break;case\"reuse\":await g(async()=>{for(let{descriptor:h,locators:p}of(await Jne(r,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===t.anchoredLocator.locatorHash&&o.includes(\"keep\"))continue;let C=`(originally used by ${P.prettyLocator(e.configuration,p[0])}`;C+=p.length>1?` and ${p.length-1} other${p.length>2?\"s\":\"\"})`:\")\",c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:C})}});break;case\"cache\":await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===r.identHash&&c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:\"(already used somewhere in the lockfile)\"})});break;case\"project\":await g(async()=>{if(t.manifest.name!==null&&r.identHash===t.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(r);if(h===null)return;let p=qne(h,s);c.push({descriptor:p,name:`Attach ${P.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${ee.pretty(e.configuration,h.relativeCwd,ee.Type.PATH)})`})});break;case\"latest\":await g(async()=>{if(r.range!==\"unknown\")c.push({descriptor:r,name:`Use ${P.prettyRange(e.configuration,r.range)}`,reason:\"(explicit range requested)\"});else if(n===\"peerDependencies\")c.push({descriptor:P.makeDescriptor(r,\"*\"),name:\"Use *\",reason:\"(catch-all peer dependency pattern)\"});else if(!e.configuration.get(\"enableNetwork\"))c.push({descriptor:null,name:\"Resolve from latest\",reason:ee.pretty(e.configuration,\"(unavailable because enableNetwork is toggled off)\",\"grey\")});else{let h=await hT(r,\"latest\",{project:e,cache:i,workspace:t,preserveModifier:!1});h&&(h=Yne(h,s),c.push({descriptor:h,name:`Use ${P.prettyDescriptor(e.configuration,h)}`,reason:\"(resolved from latest)\"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function hT(r,e,{project:t,cache:i,workspace:n,preserveModifier:s=!0}){let o=P.makeDescriptor(r,e),a=new ti,l=t.configuration.makeFetcher(),c=t.configuration.makeResolver(),u={project:t,fetcher:l,cache:i,checksums:t.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g={...u,resolver:c,fetchOptions:u},f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:C,source:y,params:B,selector:v}=P.parseRange(P.convertToManifestRange(p.reference));if(C===t.configuration.get(\"defaultProtocol\")&&(C=null),uT.default.valid(v)&&s!==!1){let D=typeof s==\"string\"?s:o.range;v=Gne(D,{project:t})+v}return P.makeDescriptor(p,P.makeRange({protocol:C,source:y,params:B,selector:v}))}async function lje(r){return await M.mktempPromise(async e=>{let t=ye.create(e);return t.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await r(new Rt(e,{configuration:t,check:!1,immutable:!1}))})}var _c=class extends De{constructor(){super(...arguments);this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.exact=z.Boolean(\"-E,--exact\",!1,{description:\"Don't use any semver modifier on the resolved range\"});this.tilde=z.Boolean(\"-T,--tilde\",!1,{description:\"Use the `~` semver modifier on the resolved range\"});this.caret=z.Boolean(\"-C,--caret\",!1,{description:\"Use the `^` semver modifier on the resolved range\"});this.dev=z.Boolean(\"-D,--dev\",!1,{description:\"Add a package as a dev dependency\"});this.peer=z.Boolean(\"-P,--peer\",!1,{description:\"Add a package as a peer dependency\"});this.optional=z.Boolean(\"-O,--optional\",!1,{description:\"Add / upgrade a package to an optional regular / peer dependency\"});this.preferDev=z.Boolean(\"--prefer-dev\",!1,{description:\"Add / upgrade a package to a dev dependency\"});this.interactive=z.Boolean(\"-i,--interactive\",{description:\"Reuse the specified package from other workspaces in the project\"});this.cached=z.Boolean(\"--cached\",!1,{description:\"Reuse the highest version already used somewhere within the project\"});this.mode=z.String(\"--mode\",{description:\"Change what artifacts installs generate\",validator:Wi(Xn)});this.silent=z.Boolean(\"--silent\",{hidden:!0});this.packages=z.Rest()}async execute(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get(\"preferInteractive\"),a=km(this,i),l=[...o?[\"reuse\"]:[],\"project\",...this.cached?[\"cache\"]:[],\"latest\"],c=o?1/0:1,u=await Promise.all(this.packages.map(async B=>{let v=B.match(/^\\.{0,2}\\//)?await fT(B,{cwd:this.context.cwd,workspace:n}):P.tryParseDescriptor(B),D=B.match(/^(https?:|git@github)/);if(D)throw new be(`It seems you are trying to add a package using a ${ee.pretty(t,`${D[0]}...`,vi.RANGE)} url; we now require package names to be explicitly specified.\nTry running the command again with the package name prefixed: ${ee.pretty(t,\"yarn add\",vi.CODE)} ${ee.pretty(t,P.makeDescriptor(P.makeIdent(null,\"my-package\"),`${D[0]}...`),vi.DESCRIPTOR)}`);if(!v)throw new be(`The ${ee.pretty(t,B,vi.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let L=cje(n,v,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(L.map(async j=>{let $=await Rm(v,{project:i,workspace:n,cache:s,target:j,modifier:a,strategies:l,maxResults:c});return{request:v,suggestedDescriptors:$,target:j}}))})).then(B=>B.flat()),g=await _o.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let{request:v,suggestedDescriptors:{suggestions:D,rejections:L}}of u)if(D.filter(j=>j.descriptor!==null).length===0){let[j]=L;if(typeof j>\"u\")throw new Error(\"Assertion failed: Expected an error to have been set\");i.configuration.get(\"enableNetwork\")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range`):B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),B.reportSeparator(),B.reportExceptionOnce(j)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[],p=[];for(let{suggestedDescriptors:{suggestions:B},target:v}of u){let D,L=B.filter(V=>V.descriptor!==null),H=L[0].descriptor,j=L.every(V=>P.areDescriptorsEqual(V.descriptor,H));L.length===1||j?D=H:(f=!0,{answer:D}=await(0,Wne.prompt)({type:\"select\",name:\"answer\",message:\"Which range do you want to use?\",choices:B.map(({descriptor:V,name:W,reason:Z})=>V?{name:W,hint:Z,descriptor:V}:{name:W,hint:Z,disabled:!0}),onCancel:()=>process.exit(130),result(V){return this.find(V,\"descriptor\")},stdin:this.context.stdin,stdout:this.context.stdout}));let $=n.manifest[v].get(D.identHash);(typeof $>\"u\"||$.descriptorHash!==D.descriptorHash)&&(n.manifest[v].set(D.identHash,D),this.optional&&(v===\"dependencies\"?n.manifest.ensureDependencyMeta({...D,range:\"unknown\"}).optional=!0:v===\"peerDependencies\"&&(n.manifest.ensurePeerDependencyMeta({...D,range:\"unknown\"}).optional=!0)),typeof $>\"u\"?h.push([n,v,D,l]):p.push([n,v,$,D]))}return await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyAddition,h),await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyReplacement,p),f&&this.context.stdout.write(`\n`),(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};_c.paths=[[\"add\"]],_c.usage=ve.Usage({description:\"add dependencies to the project\",details:\"\\n      This command adds a package to the package.json for the nearest workspace.\\n\\n      - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\\n\\n      - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\\n\\n      - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\\n\\n      - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\\\"peerDependenciesMeta\\\": { \\\"<package>\\\": { \\\"optional\\\": true } }`\\n\\n      - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\\n\\n      - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\\n\\n      If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\\n\\n      If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\\n\\n      If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\\n\\n      - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\\n\\n      - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\\n\\n      For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\\n    \",examples:[[\"Add a regular package to the current workspace\",\"$0 add lodash\"],[\"Add a specific version for a package to the current workspace\",\"$0 add lodash@1.2.3\"],[\"Add a package from a GitHub repository (the master branch) to the current workspace using a URL\",\"$0 add lodash@https://github.com/lodash/lodash\"],[\"Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol\",\"$0 add lodash@github:lodash/lodash\"],[\"Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)\",\"$0 add lodash@lodash/lodash\"],[\"Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)\",\"$0 add lodash-es@lodash/lodash#es\"]]});function cje(r,e,{dev:t,peer:i,preferDev:n,optional:s}){let o=r.manifest[\"dependencies\"].has(e.identHash),a=r.manifest[\"devDependencies\"].has(e.identHash),l=r.manifest[\"peerDependencies\"].has(e.identHash);if((t||i)&&o)throw new be(`Package \"${P.prettyIdent(r.project.configuration,e)}\" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!t&&!i&&l)throw new be(`Package \"${P.prettyIdent(r.project.configuration,e)}\" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new be(`Package \"${P.prettyIdent(r.project.configuration,e)}\" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new be(`Package \"${P.prettyIdent(r.project.configuration,e)}\" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((t||n)&&s)throw new be(`Package \"${P.prettyIdent(r.project.configuration,e)}\" cannot simultaneously be a dev dependency and an optional dependency`);let c=[];return i&&c.push(\"peerDependencies\"),(t||n)&&c.push(\"devDependencies\"),s&&c.push(\"dependencies\"),c.length>0?c:a?[\"devDependencies\"]:l?[\"peerDependencies\"]:[\"dependencies\"]}var Zc=class extends De{constructor(){super(...arguments);this.verbose=z.Boolean(\"-v,--verbose\",!1,{description:\"Print both the binary name and the locator of the package that provides the binary\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.name=z.String({required:!1})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,locator:n}=await je.find(t,this.context.cwd);if(await i.restoreInstallState(),this.name){let a=(await Jt.getPackageAccessibleBinaries(n,{project:i})).get(this.name);if(!a)throw new be(`Couldn't find a binary named \"${this.name}\" for package \"${P.prettyLocator(t,n)}\"`);let[,l]=a;return this.context.stdout.write(`${l}\n`),0}return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async o=>{let a=await Jt.getPackageAccessibleBinaries(n,{project:i}),c=Array.from(a.keys()).reduce((u,g)=>Math.max(u,g.length),0);for(let[u,[g,f]]of a)o.reportJson({name:u,source:P.stringifyIdent(g),path:f});if(this.verbose)for(let[u,[g]]of a)o.reportInfo(null,`${u.padEnd(c,\" \")}   ${P.prettyLocator(t,g)}`);else for(let u of a.keys())o.reportInfo(null,u)})).exitCode()}};Zc.paths=[[\"bin\"]],Zc.usage=ve.Usage({description:\"get the path to a binary script\",details:`\n      When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \\`-v,--verbose\\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary.\n\n      When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive.\n    `,examples:[[\"List all the available binaries\",\"$0 bin\"],[\"Print the path to a specific binary\",\"$0 bin eslint\"]]});var $c=class extends De{constructor(){super(...arguments);this.mirror=z.Boolean(\"--mirror\",!1,{description:\"Remove the global cache files instead of the local cache files\"});this.all=z.Boolean(\"--all\",!1,{description:\"Remove both the global cache files and the local cache files of the current project\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await Rt.find(t);return(await Ge.start({configuration:t,stdout:this.context.stdout},async()=>{let s=(this.all||this.mirror)&&i.mirrorCwd!==null,o=!this.mirror;s&&(await M.removePromise(i.mirrorCwd),await t.triggerHook(a=>a.cleanGlobalArtifacts,t)),o&&await M.removePromise(i.cwd)})).exitCode()}};$c.paths=[[\"cache\",\"clean\"],[\"cache\",\"clear\"]],$c.usage=ve.Usage({description:\"remove the shared cache files\",details:`\n      This command will remove all the files from the cache.\n    `,examples:[[\"Remove all the local archives\",\"$0 cache clean\"],[\"Remove all the archives stored in the ~/.yarn directory\",\"$0 cache clean --mirror\"]]});var zne=Pe(j0()),pT=J(\"util\"),eu=class extends De{constructor(){super(...arguments);this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.unsafe=z.Boolean(\"--no-redacted\",!1,{description:\"Don't redact secrets (such as tokens) from the output\"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=this.name.replace(/[.[].*$/,\"\"),n=this.name.replace(/^[^.[]*/,\"\");if(typeof t.settings.get(i)>\"u\")throw new be(`Couldn't find a configuration settings named \"${i}\"`);let o=t.getSpecial(i,{hideSecrets:!this.unsafe,getNativePaths:!0}),a=Ie.convertMapsToIndexableObjects(o),l=n?(0,zne.default)(a,n):a,c=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async u=>{u.reportJson(l)});if(!this.json){if(typeof l==\"string\")return this.context.stdout.write(`${l}\n`),c.exitCode();pT.inspect.styles.name=\"cyan\",this.context.stdout.write(`${(0,pT.inspect)(l,{depth:1/0,colors:t.get(\"enableColors\"),compact:!1})}\n`)}return c.exitCode()}};eu.paths=[[\"config\",\"get\"]],eu.usage=ve.Usage({description:\"read a configuration settings\",details:`\n      This command will print a configuration setting.\n\n      Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \\`--no-redacted\\` to get the untransformed value.\n    `,examples:[[\"Print a simple configuration setting\",\"yarn config get yarnPath\"],[\"Print a complex configuration setting\",\"yarn config get packageExtensions\"],[\"Print a nested field from the configuration\",`yarn config get 'npmScopes[\"my-company\"].npmRegistryServer'`],[\"Print a token from the configuration\",\"yarn config get npmAuthToken --no-redacted\"],[\"Print a configuration setting as JSON\",\"yarn config get packageExtensions --json\"]]});var ooe=Pe(yT()),aoe=Pe(j0()),Aoe=Pe(soe()),wT=J(\"util\"),tu=class extends De{constructor(){super(...arguments);this.json=z.Boolean(\"--json\",!1,{description:\"Set complex configuration settings to JSON values\"});this.home=z.Boolean(\"-H,--home\",!1,{description:\"Update the home configuration instead of the project configuration\"});this.name=z.String();this.value=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=()=>{if(!t.projectCwd)throw new be(\"This command must be run from within a project folder\");return t.projectCwd},n=this.name.replace(/[.[].*$/,\"\"),s=this.name.replace(/^[^.[]*\\.?/,\"\");if(typeof t.settings.get(n)>\"u\")throw new be(`Couldn't find a configuration settings named \"${n}\"`);if(n===\"enableStrictSettings\")throw new be(\"This setting only affects the file it's in, and thus cannot be set from the CLI\");let a=this.json?JSON.parse(this.value):this.value;await(this.home?p=>ye.updateHomeConfiguration(p):p=>ye.updateConfiguration(i(),p))(p=>{if(s){let C=(0,ooe.default)(p);return(0,Aoe.default)(C,this.name,a),C}else return{...p,[n]:a}});let u=(await ye.find(this.context.cwd,this.context.plugins)).getSpecial(n,{hideSecrets:!0,getNativePaths:!0}),g=Ie.convertMapsToIndexableObjects(u),f=s?(0,aoe.default)(g,s):g;return(await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout},async p=>{wT.inspect.styles.name=\"cyan\",p.reportInfo(0,`Successfully set ${this.name} to ${(0,wT.inspect)(f,{depth:1/0,colors:t.get(\"enableColors\"),compact:!1})}`)})).exitCode()}};tu.paths=[[\"config\",\"set\"]],tu.usage=ve.Usage({description:\"change a configuration settings\",details:`\n      This command will set a configuration setting.\n\n      When used without the \\`--json\\` flag, it can only set a simple configuration setting (a string, a number, or a boolean).\n\n      When used with the \\`--json\\` flag, it can set both simple and complex configuration settings, including Arrays and Objects.\n    `,examples:[[\"Set a simple configuration setting (a string, a number, or a boolean)\",\"yarn config set initScope myScope\"],[\"Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag\",'yarn config set initScope --json \\\\\"myScope\\\\\"'],[\"Set a complex configuration setting (an Array) using the `--json` flag\",`yarn config set unsafeHttpWhitelist --json '[\"*.example.com\", \"example.com\"]'`],[\"Set a complex configuration setting (an Object) using the `--json` flag\",`yarn config set packageExtensions --json '{ \"@babel/parser@*\": { \"dependencies\": { \"@babel/types\": \"*\" } } }'`],[\"Set a nested configuration setting\",'yarn config set npmScopes.company.npmRegistryServer \"https://npm.example.com\"'],[\"Set a nested configuration setting using indexed access for non-simple keys\",`yarn config set 'npmRegistries[\"//npm.example.com\"].npmAuthToken' \"ffffffff-ffff-ffff-ffff-ffffffffffff\"`]]});var Coe=Pe(yT()),moe=Pe(_C()),Eoe=Pe(doe()),ru=class extends De{constructor(){super(...arguments);this.home=z.Boolean(\"-H,--home\",!1,{description:\"Update the home configuration instead of the project configuration\"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=()=>{if(!t.projectCwd)throw new be(\"This command must be run from within a project folder\");return t.projectCwd},n=this.name.replace(/[.[].*$/,\"\"),s=this.name.replace(/^[^.[]*\\.?/,\"\");if(typeof t.settings.get(n)>\"u\")throw new be(`Couldn't find a configuration settings named \"${n}\"`);let a=this.home?c=>ye.updateHomeConfiguration(c):c=>ye.updateConfiguration(i(),c);return(await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout},async c=>{let u=!1;await a(g=>{if(!(0,moe.default)(g,this.name))return c.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),u=!0,g;let f=s?(0,Coe.default)(g):{...g};return(0,Eoe.default)(f,this.name),f}),u||c.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};ru.paths=[[\"config\",\"unset\"]],ru.usage=ve.Usage({description:\"unset a configuration setting\",details:`\n      This command will unset a configuration setting.\n    `,examples:[[\"Unset a simple configuration setting\",\"yarn config unset initScope\"],[\"Unset a complex configuration setting\",\"yarn config unset packageExtensions\"],[\"Unset a nested configuration setting\",\"yarn config unset npmScopes.company.npmRegistryServer\"]]});var BT=J(\"util\"),iu=class extends De{constructor(){super(...arguments);this.verbose=z.Boolean(\"-v,--verbose\",!1,{description:\"Print the setting description on top of the regular key/value information\"});this.why=z.Boolean(\"--why\",!1,{description:\"Print the reason why a setting is set a particular way\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{if(t.invalid.size>0&&!this.json){for(let[s,o]of t.invalid)n.reportError(34,`Invalid configuration key \"${s}\" in ${o}`);n.reportSeparator()}if(this.json){let s=Ie.sortMap(t.settings.keys(),o=>o);for(let o of s){let a=t.settings.get(o),l=t.getSpecial(o,{hideSecrets:!0,getNativePaths:!0}),c=t.sources.get(o);this.verbose?n.reportJson({key:o,effective:l,source:c}):n.reportJson({key:o,effective:l,source:c,...a})}}else{let s=Ie.sortMap(t.settings.keys(),l=>l),o=s.reduce((l,c)=>Math.max(l,c.length),0),a={breakLength:1/0,colors:t.get(\"enableColors\"),maxArrayLength:2};if(this.why||this.verbose){let l=s.map(u=>{let g=t.settings.get(u);if(!g)throw new Error(`Assertion failed: This settings (\"${u}\") should have been registered`);let f=this.why?t.sources.get(u)||\"<default>\":g.description;return[u,f]}),c=l.reduce((u,[,g])=>Math.max(u,g.length),0);for(let[u,g]of l)n.reportInfo(null,`${u.padEnd(o,\" \")}   ${g.padEnd(c,\" \")}   ${(0,BT.inspect)(t.getSpecial(u,{hideSecrets:!0,getNativePaths:!0}),a)}`)}else for(let l of s)n.reportInfo(null,`${l.padEnd(o,\" \")}   ${(0,BT.inspect)(t.getSpecial(l,{hideSecrets:!0,getNativePaths:!0}),a)}`)}})).exitCode()}};iu.paths=[[\"config\"]],iu.usage=ve.Usage({description:\"display the current configuration\",details:`\n      This command prints the current active configuration settings.\n    `,examples:[[\"Print the active configuration settings\",\"$0 config\"]]});ns();var fQ={};ut(fQ,{Strategy:()=>Nm,acceptedStrategies:()=>fWe,dedupe:()=>QT});var Ioe=Pe(yn()),Nm=(e=>(e.HIGHEST=\"highest\",e))(Nm||{}),fWe=new Set(Object.values(Nm)),hWe={highest:async(r,e,{resolver:t,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of r.storedResolutions){let c=r.storedDescriptors.get(a);if(typeof c>\"u\")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);Ie.getSetWithDefault(o,c.identHash).add(l)}return Array.from(r.storedDescriptors.values(),async a=>{if(e.length&&!Ioe.default.isMatch(P.stringifyIdent(a),e))return null;let l=r.storedResolutions.get(a.descriptorHash);if(typeof l>\"u\")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=r.originalPackages.get(l);if(typeof c>\"u\"||!t.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u>\"u\")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(y=>{let B=r.originalPackages.get(y);if(typeof B>\"u\")throw new Error(`Assertion failed: The package (${y}) should have been registered`);return B.reference}),f=await t.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h>\"u\")return null;let p=h.locatorHash,C=r.originalPackages.get(p);if(typeof C>\"u\")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:C}})}};async function QT(r,{strategy:e,patterns:t,cache:i,report:n}){let{configuration:s}=r,o=new ti,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:r.storedChecksums,fetcher:l,project:r,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:r,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise(\"Deduplication step\",async()=>{let g=hWe[e],f=await g(r,t,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=Si.progressViaCounter(f.length);await n.reportProgress(h);let p=0;await Promise.all(f.map(B=>B.then(v=>{if(v===null)return;p++;let{descriptor:D,currentPackage:L,updatedPackage:H}=v;n.reportInfo(0,`${P.prettyDescriptor(s,D)} can be deduped from ${P.prettyLocator(s,L)} to ${P.prettyLocator(s,H)}`),n.reportJson({descriptor:P.stringifyDescriptor(D),currentResolution:P.stringifyLocator(L),updatedResolution:P.stringifyLocator(H)}),r.storedResolutions.set(D.descriptorHash,H.locatorHash)}).finally(()=>h.tick())));let C;switch(p){case 0:C=\"No packages\";break;case 1:C=\"One package\";break;default:C=`${p} packages`}let y=ee.pretty(s,e,ee.Type.CODE);return n.reportInfo(0,`${C} can be deduped using the ${y} strategy`),p})}var nu=class extends De{constructor(){super(...arguments);this.strategy=z.String(\"-s,--strategy\",\"highest\",{description:\"The strategy to use when deduping dependencies\",validator:Wi(Nm)});this.check=z.Boolean(\"-c,--check\",!1,{description:\"Exit with exit code 1 when duplicates are found, without persisting the dependency tree\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.mode=z.String(\"--mode\",{description:\"Change what artifacts installs generate\",validator:Wi(Xn)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=await Rt.find(t);await i.restoreInstallState({restoreResolutions:!1});let s=0,o=await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout,json:this.json},async a=>{s=await QT(i,{strategy:this.strategy,patterns:this.patterns,cache:n,report:a})});return o.hasErrors()?o.exitCode():this.check?s?1:0:(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async l=>{await i.install({cache:n,report:l,mode:this.mode})})).exitCode()}};nu.paths=[[\"dedupe\"]],nu.usage=ve.Usage({description:\"deduplicate dependencies with overlapping ranges\",details:\"\\n      Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\\n\\n      This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\\n\\n      - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\\n\\n      **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\\n\\n      If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\\n\\n      If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\\n\\n      - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\\n\\n      - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\\n\\n      This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\\n\\n      ### In-depth explanation:\\n\\n      Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\\n\\n      **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\\n\\n      Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\\n\\n      **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\\n    \",examples:[[\"Dedupe all packages\",\"$0 dedupe\"],[\"Dedupe all packages using a specific strategy\",\"$0 dedupe --strategy highest\"],[\"Dedupe a specific package\",\"$0 dedupe lodash\"],[\"Dedupe all packages with the `@babel/*` scope\",\"$0 dedupe '@babel/*'\"],[\"Check for duplicates (can be used as a CI step)\",\"$0 dedupe --check\"]]});var Oh=class extends De{async execute(){let{plugins:e}=await ye.find(this.context.cwd,this.context.plugins),t=[];for(let o of e){let{commands:a}=o[1];if(a){let c=Kn.from(a).definitions();t.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(\" \").slice(1).join()===a.split(\" \").slice(1).join(),s=yoe()[\"@yarnpkg/builder\"].bundles.standard;for(let o of t){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)}\n`)}};Oh.paths=[[\"--clipanion=definitions\"]];var Mh=class extends De{async execute(){this.context.stdout.write(this.cli.usage(null))}};Mh.paths=[[\"help\"],[\"--help\"],[\"-h\"]];var Lm=class extends De{constructor(){super(...arguments);this.leadingArgument=z.String();this.args=z.Proxy()}async execute(){if(this.leadingArgument.match(/[\\\\/]/)&&!P.tryParseIdent(this.leadingArgument)){let t=x.resolve(this.context.cwd,K.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:t})}else return await this.cli.run([\"run\",this.leadingArgument,...this.args])}};var Kh=class extends De{async execute(){this.context.stdout.write(`${Lr||\"<unknown>\"}\n`)}};Kh.paths=[[\"-v\"],[\"--version\"]];var su=class extends De{constructor(){super(...arguments);this.commandName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,locator:n}=await je.find(t,this.context.cwd);return await i.restoreInstallState(),await Jt.executePackageShellcode(n,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:i})}};su.paths=[[\"exec\"]],su.usage=ve.Usage({description:\"execute a shell script\",details:`\n      This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell.\n\n      It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).\n    `,examples:[[\"Execute a single shell command\",\"$0 exec echo Hello World\"],[\"Execute a shell script\",'$0 exec \"tsc & babel src --out-dir lib\"']]});ns();var ou=class extends De{constructor(){super(...arguments);this.hash=z.String({required:!1,validator:zp(Wp(),[Vp(/^p[0-9a-f]{5}$/)])})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return await i.restoreInstallState({restoreResolutions:!1}),await i.applyLightResolution(),typeof this.hash<\"u\"?await dWe(this.hash,i,{stdout:this.context.stdout}):(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{var a;let o=[([,l])=>P.stringifyLocator(i.storedPackages.get(l.subject)),([,l])=>P.stringifyIdent(l.requested)];for(let[l,c]of Ie.sortMap(i.peerRequirements,o)){let u=i.storedPackages.get(c.subject);if(typeof u>\"u\")throw new Error(\"Assertion failed: Expected the subject package to have been registered\");let g=i.storedPackages.get(c.rootRequester);if(typeof g>\"u\")throw new Error(\"Assertion failed: Expected the root package to have been registered\");let f=(a=u.dependencies.get(c.requested.identHash))!=null?a:null,h=ee.pretty(t,l,ee.Type.CODE),p=P.prettyLocator(t,u),C=P.prettyIdent(t,c.requested),y=P.prettyIdent(t,g),B=c.allRequesters.length-1,v=`descendant${B===1?\"\":\"s\"}`,D=B>0?` and ${B} ${v}`:\"\",L=f!==null?\"provides\":\"doesn't provide\";s.reportInfo(null,`${h} \\u2192 ${p} ${L} ${C} to ${y}${D}`)}})).exitCode()}};ou.paths=[[\"explain\",\"peer-requirements\"]],ou.usage=ve.Usage({description:\"explain a set of peer requirements\",details:`\n      A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants.\n\n      When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not.\n\n      When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set.\n\n      **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\\`yarn explain peer-requirements\\`).\n    `,examples:[[\"Explain the corresponding set of peer requirements for a hash\",\"$0 explain peer-requirements p1a4ed\"],[\"List all sets of peer requirements\",\"$0 explain peer-requirements\"]]});async function dWe(r,e,t){let{configuration:i}=e,n=e.peerRequirements.get(r);if(typeof n>\"u\")throw new Error(`No peerDependency requirements found for hash: \"${r}\"`);return(await Ge.start({configuration:i,stdout:t.stdout,includeFooter:!1},async o=>{var B,v;let a=e.storedPackages.get(n.subject);if(typeof a>\"u\")throw new Error(\"Assertion failed: Expected the subject package to have been registered\");let l=e.storedPackages.get(n.rootRequester);if(typeof l>\"u\")throw new Error(\"Assertion failed: Expected the root package to have been registered\");let c=(B=a.dependencies.get(n.requested.identHash))!=null?B:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u>\"u\")throw new Error(\"Assertion failed: Expected the resolution to have been registered\");let g=u!==null?e.storedPackages.get(u):null;if(typeof g>\"u\")throw new Error(\"Assertion failed: Expected the provided package to have been registered\");let f=[...n.allRequesters.values()].map(D=>{let L=e.storedPackages.get(D);if(typeof L>\"u\")throw new Error(\"Assertion failed: Expected the package to be registered\");let H=P.devirtualizeLocator(L),j=e.storedPackages.get(H.locatorHash);if(typeof j>\"u\")throw new Error(\"Assertion failed: Expected the package to be registered\");let $=j.peerDependencies.get(n.requested.identHash);if(typeof $>\"u\")throw new Error(\"Assertion failed: Expected the peer dependency to be registered\");return{pkg:L,peerDependency:$}});if(g!==null){let D=f.every(({peerDependency:L})=>vt.satisfiesWithPrereleases(g.version,L.range));o.reportInfo(0,`${P.prettyLocator(i,a)} provides ${P.prettyLocator(i,g)} with version ${P.prettyReference(i,(v=g.version)!=null?v:\"<missing>\")}, which ${D?\"satisfies\":\"doesn't satisfy\"} the following requirements:`)}else o.reportInfo(0,`${P.prettyLocator(i,a)} doesn't provide ${P.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ee.mark(i),p=[];for(let{pkg:D,peerDependency:L}of Ie.sortMap(f,H=>P.stringifyLocator(H.pkg))){let j=(g!==null?vt.satisfiesWithPrereleases(g.version,L.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:P.stringifyLocator(D),prettyLocator:P.prettyLocator(i,D),prettyRange:P.prettyRange(i,L.range),mark:j})}let C=Math.max(...p.map(({stringifiedLocator:D})=>D.length)),y=Math.max(...p.map(({prettyRange:D})=>D.length));for(let{stringifiedLocator:D,prettyLocator:L,prettyRange:H,mark:j}of Ie.sortMap(p,({stringifiedLocator:$})=>$))o.reportInfo(null,`${L.padEnd(C+(L.length-D.length),\" \")} \\u2192 ${H.padEnd(y,\" \")} ${j}`);p.length>1&&(o.reportSeparator(),o.reportInfo(0,`Note: these requirements start with ${P.prettyLocator(e.configuration,l)}`))})).exitCode()}ns();var woe=Pe(Xr()),au=class extends De{constructor(){super(...arguments);this.onlyIfNeeded=z.Boolean(\"--only-if-needed\",!1,{description:\"Only lock the Yarn version if it isn't already locked\"});this.version=z.String()}async execute(){var o;let t=await ye.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&t.get(\"yarnPath\")){let a=t.sources.get(\"yarnPath\");if(!a)throw new Error(\"Assertion failed: Expected 'yarnPath' to have a source\");let l=(o=t.projectCwd)!=null?o:t.startingCwd;if(x.contains(l,a))return 0}let i=()=>{if(typeof Lr>\"u\")throw new be(\"The --install flag can only be used without explicit version specifier from the Yarn CLI\");return`file://${process.argv[1]}`},n;if(this.version===\"self\")n=i();else if(this.version===\"latest\"||this.version===\"berry\"||this.version===\"stable\")n=`https://repo.yarnpkg.com/${await Tm(t,\"stable\")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version===\"canary\")n=`https://repo.yarnpkg.com/${await Tm(t,\"canary\")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version===\"classic\")n=\"https://classic.yarnpkg.com/latest.js\";else if(this.version.match(/^https?:/))n=this.version;else if(this.version.match(/^\\.{0,2}[\\\\/]/)||K.isAbsolute(this.version))n=`file://${K.resolve(this.version)}`;else if(vt.satisfiesWithPrereleases(this.version,\">=2.0.0\"))n=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(vt.satisfiesWithPrereleases(this.version,\"^0.x || ^1.x\"))n=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(vt.validRange(this.version))n=`https://repo.yarnpkg.com/${await CWe(t,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new be(`Invalid version descriptor \"${this.version}\"`);return(await Ge.start({configuration:t,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{let l=\"file://\",c;n.startsWith(l)?(a.reportInfo(0,`Downloading ${ee.pretty(t,n,vi.URL)}`),c=await M.readFilePromise(K.toPortablePath(n.slice(l.length)))):(a.reportInfo(0,`Retrieving ${ee.pretty(t,n,vi.PATH)}`),c=await Vt.get(n,{configuration:t})),await bT(t,null,c,{report:a})})).exitCode()}};au.paths=[[\"set\",\"version\"]],au.usage=ve.Usage({description:\"lock the Yarn version used by the project\",details:\"\\n      This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\\n\\n      A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\\n\\n      The version specifier can be:\\n\\n      - a tag:\\n        - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\\n        - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\\n        - `classic` -> the most recent classic (`^0.x || ^1.x`) release\\n\\n      - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\\n\\n      - a semver version (e.g. `2.4.1`, `1.22.1`)\\n\\n      - a local file referenced through either a relative or absolute path\\n\\n      - `self` -> the version used to invoke the command\\n    \",examples:[[\"Download the latest release from the Yarn repository\",\"$0 set version latest\"],[\"Download the latest canary release from the Yarn repository\",\"$0 set version canary\"],[\"Download the latest classic release from the Yarn repository\",\"$0 set version classic\"],[\"Download the most recent Yarn 3 build\",\"$0 set version 3.x\"],[\"Download a specific Yarn 2 build\",\"$0 set version 2.0.0-rc.30\"],[\"Switch back to a specific Yarn 1 release\",\"$0 set version 1.22.1\"],[\"Use a release from the local filesystem\",\"$0 set version ./yarn.cjs\"],[\"Use a release from a URL\",\"$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js\"],[\"Download the version used to invoke the command\",\"$0 set version self\"]]});async function CWe(r,e){let i=(await Vt.get(\"https://repo.yarnpkg.com/tags\",{configuration:r,jsonResponse:!0})).tags.filter(n=>vt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new be(`No matching release found for range ${ee.pretty(r,e,ee.Type.RANGE)}.`);return i[0]}async function Tm(r,e){let t=await Vt.get(\"https://repo.yarnpkg.com/tags\",{configuration:r,jsonResponse:!0});if(!t.latest[e])throw new be(`Tag ${ee.pretty(r,e,ee.Type.RANGE)} not found`);return t.latest[e]}async function bT(r,e,t,{report:i}){var h;e===null&&await M.mktempPromise(async p=>{let C=x.join(p,\"yarn.cjs\");await M.writeFilePromise(C,t);let{stdout:y}=await Cr.execvp(process.execPath,[K.fromPortablePath(C),\"--version\"],{cwd:p,env:{...process.env,YARN_IGNORE_PATH:\"1\"}});if(e=y.trim(),!woe.default.valid(e))throw new Error(`Invalid semver version. ${ee.pretty(r,\"yarn --version\",ee.Type.CODE)} returned:\n${e}`)});let n=(h=r.projectCwd)!=null?h:r.startingCwd,s=x.resolve(n,\".yarn/releases\"),o=x.resolve(s,`yarn-${e}.cjs`),a=x.relative(r.startingCwd,o),l=x.relative(n,o);i.reportInfo(0,`Saving the new release in ${ee.pretty(r,a,\"magenta\")}`),await M.removePromise(x.dirname(o)),await M.mkdirPromise(x.dirname(o),{recursive:!0}),await M.writeFilePromise(o,t,{mode:493}),await ye.updateConfiguration(n,{yarnPath:l});let c=await ot.tryFind(n)||new ot;c.packageManager=`yarn@${e&&Ie.isTaggedYarnVersion(e)?e:await Tm(r,\"stable\")}`;let u={};c.exportTo(u);let g=x.join(n,ot.fileName),f=`${JSON.stringify(u,null,c.indent)}\n`;await M.changeFilePromise(g,f,{automaticNewlines:!0})}function Boe(r){return Ct[QI(r)]}var mWe=/## (?<code>YN[0-9]{4}) - `(?<name>[A-Z_]+)`\\n\\n(?<details>(?:.(?!##))+)/gs;async function EWe(r){let t=`https://repo.yarnpkg.com/${Ie.isTaggedYarnVersion(Lr)?Lr:await Tm(r,\"canary\")}/packages/gatsby/content/advanced/error-codes.md`,i=await Vt.get(t,{configuration:r});return new Map(Array.from(i.toString().matchAll(mWe),({groups:n})=>{if(!n)throw new Error(\"Assertion failed: Expected the match to have been successful\");let s=Boe(n.code);if(n.name!==s)throw new Error(`Assertion failed: Invalid error code data: Expected \"${n.name}\" to be named \"${s}\"`);return[n.code,n.details]}))}var Au=class extends De{constructor(){super(...arguments);this.code=z.String({required:!1,validator:zp(Wp(),[Vp(/^YN[0-9]{4}$/)])});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);if(typeof this.code<\"u\"){let i=Boe(this.code),n=ee.pretty(t,i,ee.Type.CODE),s=this.cli.format().header(`${this.code} - ${n}`),a=(await EWe(t)).get(this.code),l=typeof a<\"u\"?ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.MARKDOWN,{text:a,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description.\n\nYou can help us by editing this page on GitHub \\u{1F642}:\n${ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.URL,\"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md\"))}\n`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:i,details:l})}\n`):this.context.stdout.write(`${s}\n\n${l}\n`)}else{let i={children:Ie.mapAndFilter(Object.entries(Ct),([n,s])=>Number.isNaN(Number(n))?Ie.mapAndFilter.skip:{label:QA(Number(n)),value:ee.tuple(ee.Type.CODE,s)})};Vn.emitTree(i,{configuration:t,stdout:this.context.stdout,json:this.json})}}};Au.paths=[[\"explain\"]],Au.usage=ve.Usage({description:\"explain an error code\",details:`\n      When the code argument is specified, this command prints its name and its details.\n\n      When used without arguments, this command lists all error codes and their names.\n    `,examples:[[\"Explain an error code\",\"$0 explain YN0006\"],[\"List all error codes\",\"$0 explain\"]]});var Qoe=Pe(yn()),lu=class extends De{constructor(){super(...arguments);this.all=z.Boolean(\"-A,--all\",!1,{description:\"Print versions of a package from the whole project\"});this.recursive=z.Boolean(\"-R,--recursive\",!1,{description:\"Print information for all packages, including transitive dependencies\"});this.extra=z.Array(\"-X,--extra\",[],{description:\"An array of requests of extra data provided by plugins\"});this.cache=z.Boolean(\"--cache\",!1,{description:\"Print information about the cache entry of a package (path, size, checksum)\"});this.dependents=z.Boolean(\"--dependents\",!1,{description:\"Print all dependents for each matching package\"});this.manifest=z.Boolean(\"--manifest\",!1,{description:\"Print data obtained by looking at the package archive (license, homepage, ...)\"});this.nameOnly=z.Boolean(\"--name-only\",!1,{description:\"Only print the name for the matching packages\"});this.virtuals=z.Boolean(\"--virtuals\",!1,{description:\"Print each instance of the virtual packages\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n&&!this.all)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=new Set(this.extra);this.cache&&o.add(\"cache\"),this.dependents&&o.add(\"dependents\"),this.manifest&&o.add(\"manifest\");let a=(L,{recursive:H})=>{let j=L.anchoredLocator.locatorHash,$=new Map,V=[j];for(;V.length>0;){let W=V.shift();if($.has(W))continue;let Z=i.storedPackages.get(W);if(typeof Z>\"u\")throw new Error(\"Assertion failed: Expected the package to be registered\");if($.set(W,Z),P.isVirtualLocator(Z)&&V.push(P.devirtualizeLocator(Z).locatorHash),!(!H&&W!==j))for(let A of Z.dependencies.values()){let ae=i.storedResolutions.get(A.descriptorHash);if(typeof ae>\"u\")throw new Error(\"Assertion failed: Expected the resolution to be registered\");V.push(ae)}}return $.values()},l=({recursive:L})=>{let H=new Map;for(let j of i.workspaces)for(let $ of a(j,{recursive:L}))H.set($.locatorHash,$);return H.values()},c=({all:L,recursive:H})=>L&&H?i.storedPackages.values():L?l({recursive:H}):a(n,{recursive:H}),u=({all:L,recursive:H})=>{let j=c({all:L,recursive:H}),$=this.patterns.map(Z=>{let A=P.parseLocator(Z),ae=Qoe.default.makeRe(P.stringifyIdent(A)),ge=P.isVirtualLocator(A),re=ge?P.devirtualizeLocator(A):A;return O=>{let F=P.stringifyIdent(O);if(!ae.test(F))return!1;if(A.reference===\"unknown\")return!0;let ue=P.isVirtualLocator(O),he=ue?P.devirtualizeLocator(O):O;return!(ge&&ue&&A.reference!==O.reference||re.reference!==he.reference)}}),V=Ie.sortMap([...j],Z=>P.stringifyLocator(Z));return{selection:V.filter(Z=>$.length===0||$.some(A=>A(Z))),sortedLookup:V}},{selection:g,sortedLookup:f}=u({all:this.all,recursive:this.recursive});if(g.length===0)throw new be(\"No package matched your request\");let h=new Map;if(this.dependents)for(let L of f)for(let H of L.dependencies.values()){let j=i.storedResolutions.get(H.descriptorHash);if(typeof j>\"u\")throw new Error(\"Assertion failed: Expected the resolution to be registered\");Ie.getArrayWithDefault(h,j).push(L)}let p=new Map;for(let L of f){if(!P.isVirtualLocator(L))continue;let H=P.devirtualizeLocator(L);Ie.getArrayWithDefault(p,H.locatorHash).push(L)}let C={},y={children:C},B=t.makeFetcher(),v={project:i,fetcher:B,cache:s,checksums:i.storedChecksums,report:new ti,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},D=[async(L,H,j)=>{var W,Z;if(!H.has(\"manifest\"))return;let $=await B.fetch(L,v),V;try{V=await ot.find($.prefixPath,{baseFs:$.packageFs})}finally{(W=$.releaseFs)==null||W.call($)}j(\"Manifest\",{License:ee.tuple(ee.Type.NO_HINT,V.license),Homepage:ee.tuple(ee.Type.URL,(Z=V.raw.homepage)!=null?Z:null)})},async(L,H,j)=>{var ae;if(!H.has(\"cache\"))return;let $={mockedPackages:i.disabledLocators,unstablePackages:i.conditionalLocators},V=(ae=i.storedChecksums.get(L.locatorHash))!=null?ae:null,W=s.getLocatorPath(L,V,$),Z;if(W!==null)try{Z=M.statSync(W)}catch{}let A=typeof Z<\"u\"?[Z.size,ee.Type.SIZE]:void 0;j(\"Cache\",{Checksum:ee.tuple(ee.Type.NO_HINT,V),Path:ee.tuple(ee.Type.PATH,W),Size:A})}];for(let L of g){let H=P.isVirtualLocator(L);if(!this.virtuals&&H)continue;let j={},$={value:[L,ee.Type.LOCATOR],children:j};if(C[P.stringifyLocator(L)]=$,this.nameOnly){delete $.children;continue}let V=p.get(L.locatorHash);typeof V<\"u\"&&(j.Instances={label:\"Instances\",value:ee.tuple(ee.Type.NUMBER,V.length)}),j.Version={label:\"Version\",value:ee.tuple(ee.Type.NO_HINT,L.version)};let W=(A,ae)=>{let ge={};if(j[A]=ge,Array.isArray(ae))ge.children=ae.map(re=>({value:re}));else{let re={};ge.children=re;for(let[O,F]of Object.entries(ae))typeof F>\"u\"||(re[O]={label:O,value:F})}};if(!H){for(let A of D)await A(L,o,W);await t.triggerHook(A=>A.fetchPackageInfo,L,o,W)}L.bin.size>0&&!H&&W(\"Exported Binaries\",[...L.bin.keys()].map(A=>ee.tuple(ee.Type.PATH,A)));let Z=h.get(L.locatorHash);typeof Z<\"u\"&&Z.length>0&&W(\"Dependents\",Z.map(A=>ee.tuple(ee.Type.LOCATOR,A))),L.dependencies.size>0&&!H&&W(\"Dependencies\",[...L.dependencies.values()].map(A=>{var re;let ae=i.storedResolutions.get(A.descriptorHash),ge=typeof ae<\"u\"&&(re=i.storedPackages.get(ae))!=null?re:null;return ee.tuple(ee.Type.RESOLUTION,{descriptor:A,locator:ge})})),L.peerDependencies.size>0&&H&&W(\"Peer dependencies\",[...L.peerDependencies.values()].map(A=>{var O,F;let ae=L.dependencies.get(A.identHash),ge=typeof ae<\"u\"&&(O=i.storedResolutions.get(ae.descriptorHash))!=null?O:null,re=ge!==null&&(F=i.storedPackages.get(ge))!=null?F:null;return ee.tuple(ee.Type.RESOLUTION,{descriptor:A,locator:re})}))}Vn.emitTree(y,{configuration:t,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};lu.paths=[[\"info\"]],lu.usage=ve.Usage({description:\"see information related to packages\",details:\"\\n      This command prints various information related to the specified packages, accepting glob patterns.\\n\\n      By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\\n\\n      Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\\n\\n      Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\\n    \",examples:[[\"Show information about Lodash\",\"$0 info lodash\"]]});var hQ=Pe(Vl());ns();var cu=class extends De{constructor(){super(...arguments);this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.immutable=z.Boolean(\"--immutable\",{description:\"Abort with an error exit code if the lockfile was to be modified\"});this.immutableCache=z.Boolean(\"--immutable-cache\",{description:\"Abort with an error exit code if the cache folder was to be modified\"});this.checkCache=z.Boolean(\"--check-cache\",!1,{description:\"Always refetch the packages and ensure that their checksums are consistent\"});this.inlineBuilds=z.Boolean(\"--inline-builds\",{description:\"Verbosely print the output of the build steps of dependencies\"});this.mode=z.String(\"--mode\",{description:\"Change what artifacts installs generate\",validator:Wi(Xn)});this.cacheFolder=z.String(\"--cache-folder\",{hidden:!0});this.frozenLockfile=z.Boolean(\"--frozen-lockfile\",{hidden:!0});this.ignoreEngines=z.Boolean(\"--ignore-engines\",{hidden:!0});this.nonInteractive=z.Boolean(\"--non-interactive\",{hidden:!0});this.preferOffline=z.Boolean(\"--prefer-offline\",{hidden:!0});this.production=z.Boolean(\"--production\",{hidden:!0});this.registry=z.String(\"--registry\",{hidden:!0});this.silent=z.Boolean(\"--silent\",{hidden:!0});this.networkTimeout=z.String(\"--network-timeout\",{hidden:!0})}async execute(){var f;let t=await ye.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<\"u\"&&t.useWithSource(\"<cli>\",{enableInlineBuilds:this.inlineBuilds},t.startingCwd,{overwrite:!0});let i=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,n=async(h,{error:p})=>{let C=await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async y=>{p?y.reportError(50,h):y.reportWarning(50,h)});return C.hasErrors()?C.exitCode():null};if(typeof this.ignoreEngines<\"u\"){let h=await n(\"The --ignore-engines option is deprecated; engine checking isn't a core feature anymore\",{error:!hQ.default.VERCEL});if(h!==null)return h}if(typeof this.registry<\"u\"){let h=await n(\"The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file\",{error:!1});if(h!==null)return h}if(typeof this.preferOffline<\"u\"){let h=await n(\"The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead\",{error:!hQ.default.VERCEL});if(h!==null)return h}if(typeof this.production<\"u\"){let h=await n(\"The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead\",{error:!0});if(h!==null)return h}if(typeof this.nonInteractive<\"u\"){let h=await n(\"The --non-interactive option is deprecated\",{error:!i});if(h!==null)return h}if(typeof this.frozenLockfile<\"u\"&&(await n(\"The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead\",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder<\"u\"){let h=await n(\"The cache-folder option has been deprecated; use rc settings instead\",{error:!hQ.default.NETLIFY});if(h!==null)return h}let s=this.mode===\"update-lockfile\";if(s&&(this.immutable||this.immutableCache))throw new be(`${ee.pretty(t,\"--immutable\",ee.Type.CODE)} and ${ee.pretty(t,\"--immutable-cache\",ee.Type.CODE)} cannot be used with ${ee.pretty(t,\"--mode=update-lockfile\",ee.Type.CODE)}`);let o=((f=this.immutable)!=null?f:t.get(\"enableImmutableInstalls\"))&&!s,a=this.immutableCache&&!s;if(t.projectCwd!==null){let h=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async p=>{await BWe(t,o)&&(p.reportInfo(48,\"Automatically fixed merge conflicts \\u{1F44D}\"),p.reportSeparator())});if(h.hasErrors())return h.exitCode()}if(t.projectCwd!==null&&typeof t.sources.get(\"nodeLinker\")>\"u\"){let h=t.projectCwd,p;try{p=await M.readFilePromise(x.join(h,xt.lockfile),\"utf8\")}catch{}if(p!=null&&p.includes(\"yarn lockfile v1\")){let C=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async y=>{y.reportInfo(70,\"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \\u{1F44D}\"),y.reportSeparator(),t.use(\"<compat>\",{nodeLinker:\"node-modules\"},h,{overwrite:!0}),await ye.updateConfiguration(h,{nodeLinker:\"node-modules\"})});if(C.hasErrors())return C.exitCode()}}if(t.projectCwd!==null){let h=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async p=>{var C;(C=ye.telemetry)!=null&&C.isNew&&(p.reportInfo(65,\"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry\"),p.reportInfo(65,`Run ${ee.pretty(t,\"yarn config set --home enableTelemetry 0\",ee.Type.CODE)} to disable`),p.reportSeparator())});if(h.hasErrors())return h.exitCode()}let{project:l,workspace:c}=await je.find(t,this.context.cwd),u=await Rt.find(t,{immutable:a,check:this.checkCache});if(!c)throw new ct(l.cwd,this.context.cwd);return await l.restoreInstallState({restoreResolutions:!1}),(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!0},async h=>{await l.install({cache:u,report:h,immutable:o,mode:this.mode})})).exitCode()}};cu.paths=[[\"install\"],ve.Default],cu.usage=ve.Usage({description:\"install the project dependencies\",details:`\n      This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics:\n\n      - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n      - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \\`cacheFolder\\` in \\`yarn config\\` to see where the cache files are stored).\n\n      - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know).\n\n      - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail.\n\n      Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n      If the \\`--immutable\\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \\`immutablePatterns\\` configuration setting). For backward compatibility we offer an alias under the name of \\`--frozen-lockfile\\`, but it will be removed in a later release.\n\n      If the \\`--immutable-cache\\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n      If the \\`--check-cache\\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n      If the \\`--inline-builds\\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n      If the \\`--mode=<mode>\\` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n      - \\`skip-build\\` will not run the build scripts at all. Note that this is different from setting \\`enableScripts\\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n      - \\`update-lockfile\\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n    `,examples:[[\"Install the project\",\"$0 install\"],[\"Validate a project when using Zero-Installs\",\"$0 install --immutable --immutable-cache\"],[\"Validate a project when using Zero-Installs (slightly safer if you accept external PRs)\",\"$0 install --immutable --immutable-cache --check-cache\"]]});var IWe=\"|||||||\",yWe=\">>>>>>>\",wWe=\"=======\",boe=\"<<<<<<<\";async function BWe(r,e){if(!r.projectCwd)return!1;let t=x.join(r.projectCwd,r.get(\"lockfileFilename\"));if(!await M.existsPromise(t))return!1;let i=await M.readFilePromise(t,\"utf8\");if(!i.includes(boe))return!1;if(e)throw new at(47,\"Cannot autofix a lockfile when running an immutable install\");let[n,s]=QWe(i),o,a;try{o=Ii(n),a=Ii(s)}catch{throw new at(46,\"The individual variants of the lockfile failed to parse\")}let l={...o,...a};for(let[c,u]of Object.entries(l))typeof u==\"string\"&&delete l[c];return await M.changeFilePromise(t,Ca(l),{automaticNewlines:!0}),!0}function QWe(r){let e=[[],[]],t=r.split(/\\r?\\n/g),i=!1;for(;t.length>0;){let n=t.shift();if(typeof n>\"u\")throw new Error(\"Assertion failed: Some lines should remain\");if(n.startsWith(boe)){for(;t.length>0;){let s=t.shift();if(typeof s>\"u\")throw new Error(\"Assertion failed: Some lines should remain\");if(s===wWe){i=!1;break}else if(i||s.startsWith(IWe)){i=!0;continue}else e[0].push(s)}for(;t.length>0;){let s=t.shift();if(typeof s>\"u\")throw new Error(\"Assertion failed: Some lines should remain\");if(s.startsWith(yWe))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(`\n`),e[1].join(`\n`)]}var uu=class extends De{constructor(){super(...arguments);this.all=z.Boolean(\"-A,--all\",!1,{description:\"Link all workspaces belonging to the target project to the current one\"});this.private=z.Boolean(\"-p,--private\",!1,{description:\"Also link private workspaces belonging to the target project to the current one\"});this.relative=z.Boolean(\"-r,--relative\",!1,{description:\"Link workspaces using relative paths instead of absolute paths\"});this.destination=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=x.resolve(this.context.cwd,K.toPortablePath(this.destination)),a=await ye.find(o,this.context.plugins,{useRc:!1,strict:!1}),{project:l,workspace:c}=await je.find(a,o);if(i.cwd===l.cwd)throw new be(\"Invalid destination; Can't link the project to itself\");if(!c)throw new ct(l.cwd,o);let u=i.topLevelWorkspace,g=[];if(this.all){for(let h of l.workspaces)h.manifest.name&&(!h.manifest.private||this.private)&&g.push(h);if(g.length===0)throw new be(\"No workspace found to be linked in the target project\")}else{if(!c.manifest.name)throw new be(\"The target workspace doesn't have a name and thus cannot be linked\");if(c.manifest.private&&!this.private)throw new be(\"The target workspace is marked private - use the --private flag to link it anyway\");g.push(c)}for(let h of g){let p=P.stringifyIdent(h.locator),C=this.relative?x.relative(i.cwd,h.cwd):h.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:p}},reference:`portal:${C}`})}return(await Ge.start({configuration:t,stdout:this.context.stdout},async h=>{await i.install({cache:s,report:h})})).exitCode()}};uu.paths=[[\"link\"]],uu.usage=ve.Usage({description:\"connect the local project to another one\",details:\"\\n      This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\\n    \",examples:[[\"Register a remote workspace for use in the current project\",\"$0 link ~/ts-loader\"],[\"Register all workspaces from a remote project for use in the current project\",\"$0 link ~/jest --all\"]]});var gu=class extends De{constructor(){super(...arguments);this.args=z.Proxy()}async execute(){return this.cli.run([\"exec\",\"node\",...this.args])}};gu.paths=[[\"node\"]],gu.usage=ve.Usage({description:\"run node with the hook already setup\",details:`\n      This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).\n\n      The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version.\n    `,examples:[[\"Run a Node script\",\"$0 node ./my-script.js\"]]});var koe=J(\"os\");var Soe=J(\"os\");var bWe=\"https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml\";async function hu(r){let e=await Vt.get(bWe,{configuration:r});return Ii(e.toString())}var fu=class extends De{constructor(){super(...arguments);this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{let s=await hu(t);for(let[o,{experimental:a,...l}]of Object.entries(s)){let c=o;a&&(c+=\" [experimental]\"),n.reportJson({name:o,experimental:a,...l}),n.reportInfo(null,c)}})).exitCode()}};fu.paths=[[\"plugin\",\"list\"]],fu.usage=ve.Usage({category:\"Plugin-related commands\",description:\"list the available official plugins\",details:\"\\n      This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\\n    \",examples:[[\"List the official plugins\",\"$0 plugin list\"]]});var SWe=/^[0-9]+$/;function voe(r){return SWe.test(r)?`pull/${r}/head`:r}var vWe=({repository:r,branch:e},t)=>[[\"git\",\"init\",K.fromPortablePath(t)],[\"git\",\"remote\",\"add\",\"origin\",r],[\"git\",\"fetch\",\"origin\",\"--depth=1\",voe(e)],[\"git\",\"reset\",\"--hard\",\"FETCH_HEAD\"]],xWe=({branch:r})=>[[\"git\",\"fetch\",\"origin\",\"--depth=1\",voe(r),\"--force\"],[\"git\",\"reset\",\"--hard\",\"FETCH_HEAD\"],[\"git\",\"clean\",\"-dfx\"]],PWe=({plugins:r,noMinify:e},t)=>[[\"yarn\",\"build:cli\",...new Array().concat(...r.map(i=>[\"--plugin\",x.resolve(t,i)])),...e?[\"--no-minify\"]:[],\"|\"]],pu=class extends De{constructor(){super(...arguments);this.installPath=z.String(\"--path\",{description:\"The path where the repository should be cloned to\"});this.repository=z.String(\"--repository\",\"https://github.com/yarnpkg/berry.git\",{description:\"The repository that should be cloned\"});this.branch=z.String(\"--branch\",\"master\",{description:\"The branch of the repository that should be cloned\"});this.plugins=z.Array(\"--plugin\",[],{description:\"An array of additional plugins that should be included in the bundle\"});this.noMinify=z.Boolean(\"--no-minify\",!1,{description:\"Build a bundle for development (debugging) - non-minified and non-mangled\"});this.force=z.Boolean(\"-f,--force\",!1,{description:\"Always clone the repository instead of trying to fetch the latest commits\"});this.skipPlugins=z.Boolean(\"--skip-plugins\",!1,{description:\"Skip updating the contrib plugins\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.installPath<\"u\"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,Soe.tmpdir)()),\"yarnpkg-sources\",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async o=>{await ST(this,{configuration:t,report:o,target:n}),o.reportSeparator(),o.reportInfo(0,\"Building a fresh bundle\"),o.reportSeparator(),await Om(PWe(this,n),{configuration:t,context:this.context,target:n}),o.reportSeparator();let a=x.resolve(n,\"packages/yarnpkg-cli/bundles/yarn.js\"),l=await M.readFilePromise(a);await bT(t,\"sources\",l,{report:o}),this.skipPlugins||await DWe(this,{project:i,report:o,target:n})})).exitCode()}};pu.paths=[[\"set\",\"version\",\"from\",\"sources\"]],pu.usage=ve.Usage({description:\"build Yarn from master\",details:`\n      This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project.\n\n      By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \\`--skip-plugins\\` flag.\n    `,examples:[[\"Build Yarn from master\",\"$0 set version from sources\"]]});async function Om(r,{configuration:e,context:t,target:i}){for(let[n,...s]of r){let o=s[s.length-1]===\"|\";if(o&&s.pop(),o)await Cr.pipevp(n,s,{cwd:i,stdin:t.stdin,stdout:t.stdout,stderr:t.stderr,strict:!0});else{t.stdout.write(`${ee.pretty(e,`  $ ${[n,...s].join(\" \")}`,\"grey\")}\n`);try{await Cr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw t.stdout.write(a.stdout||a.stack),a}}}}async function ST(r,{configuration:e,report:t,target:i}){let n=!1;if(!r.force&&M.existsSync(x.join(i,\".git\"))){t.reportInfo(0,\"Fetching the latest commits\"),t.reportSeparator();try{await Om(xWe(r),{configuration:e,context:r.context,target:i}),n=!0}catch{t.reportSeparator(),t.reportWarning(0,\"Repository update failed; we'll try to regenerate it\")}}n||(t.reportInfo(0,\"Cloning the remote repository\"),t.reportSeparator(),await M.removePromise(i),await M.mkdirPromise(i,{recursive:!0}),await Om(vWe(r,i),{configuration:e,context:r.context,target:i}))}async function DWe(r,{project:e,report:t,target:i}){let n=await hu(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await vT(o,r,{project:e,report:t,target:i})}var xoe=Pe(Xr()),Poe=J(\"url\"),Doe=J(\"vm\");var du=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,stdout:this.context.stdout},async n=>{let{project:s}=await je.find(t,this.context.cwd),o,a;if(this.name.match(/^\\.{0,2}[\\\\/]/)||K.isAbsolute(this.name)){let l=x.resolve(this.context.cwd,K.toPortablePath(this.name));n.reportInfo(0,`Reading ${ee.pretty(t,l,ee.Type.PATH)}`),o=x.relative(s.cwd,l),a=await M.readFilePromise(l)}else{let l;if(this.name.match(/^https?:/)){try{new Poe.URL(this.name)}catch{throw new at(52,`Plugin specifier \"${this.name}\" is neither a plugin name nor a valid url`)}o=this.name,l=this.name}else{let c=P.parseLocator(this.name.replace(/^((@yarnpkg\\/)?plugin-)?/,\"@yarnpkg/plugin-\"));if(c.reference!==\"unknown\"&&!xoe.default.valid(c.reference))throw new at(0,\"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.\");let u=P.stringifyIdent(c),g=await hu(t);if(!Object.prototype.hasOwnProperty.call(g,u))throw new at(51,`Couldn't find a plugin named \"${u}\" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);o=u,l=g[u].url,c.reference!==\"unknown\"?l=l.replace(/\\/master\\//,`/${u}/${c.reference}/`):Lr!==null&&(l=l.replace(/\\/master\\//,`/@yarnpkg/cli/${Lr}/`))}n.reportInfo(0,`Downloading ${ee.pretty(t,l,\"green\")}`),a=await Vt.get(l,{configuration:t})}await xT(o,a,{project:s,report:n})})).exitCode()}};du.paths=[[\"plugin\",\"import\"]],du.usage=ve.Usage({category:\"Plugin-related commands\",description:\"download a plugin\",details:`\n      This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations.\n\n      Three types of plugin references are accepted:\n\n      - If the plugin is stored within the Yarn repository, it can be referenced by name.\n      - Third-party plugins can be referenced directly through their public urls.\n      - Local plugins can be referenced by their path on the disk.\n\n      Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \\`@yarnpkg/builder\\` package).\n    `,examples:[['Download and activate the \"@yarnpkg/plugin-exec\" plugin',\"$0 plugin import @yarnpkg/plugin-exec\"],['Download and activate the \"@yarnpkg/plugin-exec\" plugin (shorthand)',\"$0 plugin import exec\"],[\"Download and activate a community plugin\",\"$0 plugin import https://example.org/path/to/plugin.js\"],[\"Activate a local plugin\",\"$0 plugin import ./path/to/plugin.js\"]]});async function xT(r,e,{project:t,report:i}){let{configuration:n}=t,s={},o={exports:s};(0,Doe.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=x.resolve(t.cwd,l);i.reportInfo(0,`Saving the new plugin in ${ee.pretty(n,l,\"magenta\")}`),await M.mkdirPromise(x.dirname(c),{recursive:!0}),await M.writeFilePromise(c,e);let u={path:l,spec:r};await ye.updateConfiguration(t.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let C=typeof p!=\"string\"?p.path:p,y=x.resolve(t.cwd,K.toPortablePath(C)),{name:B}=Ie.dynamicRequire(y);B!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),{...g,plugins:f}})}var kWe=({pluginName:r,noMinify:e},t)=>[[\"yarn\",`build:${r}`,...e?[\"--no-minify\"]:[],\"|\"]],Cu=class extends De{constructor(){super(...arguments);this.installPath=z.String(\"--path\",{description:\"The path where the repository should be cloned to\"});this.repository=z.String(\"--repository\",\"https://github.com/yarnpkg/berry.git\",{description:\"The repository that should be cloned\"});this.branch=z.String(\"--branch\",\"master\",{description:\"The branch of the repository that should be cloned\"});this.noMinify=z.Boolean(\"--no-minify\",!1,{description:\"Build a plugin for development (debugging) - non-minified and non-mangled\"});this.force=z.Boolean(\"-f,--force\",!1,{description:\"Always clone the repository instead of trying to fetch the latest commits\"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.installPath<\"u\"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,koe.tmpdir)()),\"yarnpkg-sources\",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let{project:o}=await je.find(t,this.context.cwd),a=P.parseIdent(this.name.replace(/^((@yarnpkg\\/)?plugin-)?/,\"@yarnpkg/plugin-\")),l=P.stringifyIdent(a),c=await hu(t);if(!Object.prototype.hasOwnProperty.call(c,l))throw new at(51,`Couldn't find a plugin named \"${l}\" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let u=l;await ST(this,{configuration:t,report:s,target:i}),await vT(u,this,{project:o,report:s,target:i})})).exitCode()}};Cu.paths=[[\"plugin\",\"import\",\"from\",\"sources\"]],Cu.usage=ve.Usage({category:\"Plugin-related commands\",description:\"build a plugin from sources\",details:`\n      This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations.\n\n      The plugins can be referenced by their short name if sourced from the official Yarn repository.\n    `,examples:[['Build and activate the \"@yarnpkg/plugin-exec\" plugin',\"$0 plugin import from sources @yarnpkg/plugin-exec\"],['Build and activate the \"@yarnpkg/plugin-exec\" plugin (shorthand)',\"$0 plugin import from sources exec\"]]});async function vT(r,{context:e,noMinify:t},{project:i,report:n,target:s}){let o=r.replace(/@yarnpkg\\//,\"\"),{configuration:a}=i;n.reportSeparator(),n.reportInfo(0,`Building a fresh ${o}`),n.reportSeparator(),await Om(kWe({pluginName:o,noMinify:t},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=x.resolve(s,`packages/${o}/bundles/${r}.js`),c=await M.readFilePromise(l);await xT(r,c,{project:i,report:n})}var mu=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let o=this.name,a=P.parseIdent(o);if(!t.plugins.has(o))throw new be(`${P.prettyIdent(t,a)} isn't referenced by the current configuration`);let l=`.yarn/plugins/${o}.cjs`,c=x.resolve(i.cwd,l);M.existsSync(c)&&(s.reportInfo(0,`Removing ${ee.pretty(t,l,ee.Type.PATH)}...`),await M.removePromise(c)),s.reportInfo(0,\"Updating the configuration...\"),await ye.updateConfiguration(i.cwd,u=>{if(!Array.isArray(u.plugins))return u;let g=u.plugins.filter(f=>f.path!==l);return u.plugins.length===g.length?u:{...u,plugins:g}})})).exitCode()}};mu.paths=[[\"plugin\",\"remove\"]],mu.usage=ve.Usage({category:\"Plugin-related commands\",description:\"remove a plugin\",details:`\n      This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration.\n\n      **Note:** The plugins have to be referenced by their name property, which can be obtained using the \\`yarn plugin runtime\\` command. Shorthands are not allowed.\n   `,examples:[[\"Remove a plugin imported from the Yarn repository\",\"$0 plugin remove @yarnpkg/plugin-typescript\"],[\"Remove a plugin imported from a local file\",\"$0 plugin remove my-local-plugin\"]]});var Eu=class extends De{constructor(){super(...arguments);this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{for(let s of t.plugins.keys()){let o=this.context.plugins.plugins.has(s),a=s;o&&(a+=\" [builtin]\"),n.reportJson({name:s,builtin:o}),n.reportInfo(null,`${a}`)}})).exitCode()}};Eu.paths=[[\"plugin\",\"runtime\"]],Eu.usage=ve.Usage({category:\"Plugin-related commands\",description:\"list the active plugins\",details:`\n      This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins.\n    `,examples:[[\"List the currently active plugins\",\"$0 plugin runtime\"]]});var Iu=class extends De{constructor(){super(...arguments);this.idents=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);let o=new Set;for(let l of this.idents)o.add(P.parseIdent(l).identHash);if(await i.restoreInstallState({restoreResolutions:!1}),await i.resolveEverything({cache:s,report:new ti}),o.size>0)for(let l of i.storedPackages.values())o.has(l.identHash)&&i.storedBuildState.delete(l.locatorHash);else i.storedBuildState.clear();return(await Ge.start({configuration:t,stdout:this.context.stdout,includeLogs:!this.context.quiet},async l=>{await i.install({cache:s,report:l})})).exitCode()}};Iu.paths=[[\"rebuild\"]],Iu.usage=ve.Usage({description:\"rebuild the project's native packages\",details:`\n      This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again.\n\n      Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future).\n\n      By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory.\n    `,examples:[[\"Rebuild all packages\",\"$0 rebuild\"],[\"Rebuild fsevents only\",\"$0 rebuild fsevents\"]]});var PT=Pe(yn());ns();var yu=class extends De{constructor(){super(...arguments);this.all=z.Boolean(\"-A,--all\",!1,{description:\"Apply the operation to all workspaces from the current project\"});this.mode=z.String(\"--mode\",{description:\"Change what artifacts installs generate\",validator:Wi(Xn)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=this.all?i.workspaces:[n],a=[\"dependencies\",\"devDependencies\",\"peerDependencies\"],l=[],c=!1,u=[];for(let p of this.patterns){let C=!1,y=P.parseIdent(p);for(let B of o){let v=[...B.manifest.peerDependenciesMeta.keys()];for(let D of(0,PT.default)(v,p))B.manifest.peerDependenciesMeta.delete(D),c=!0,C=!0;for(let D of a){let L=B.manifest.getForScope(D),H=[...L.values()].map(j=>P.stringifyIdent(j));for(let j of(0,PT.default)(H,P.stringifyIdent(y))){let{identHash:$}=P.parseIdent(j),V=L.get($);if(typeof V>\"u\")throw new Error(\"Assertion failed: Expected the descriptor to be registered\");B.manifest[D].delete($),u.push([B,D,V]),c=!0,C=!0}}}C||l.push(p)}let g=l.length>1?\"Patterns\":\"Pattern\",f=l.length>1?\"don't\":\"doesn't\",h=this.all?\"any\":\"this\";if(l.length>0)throw new be(`${g} ${ee.prettyList(t,l,vi.CODE)} ${f} match any packages referenced by ${h} workspace`);return c?(await t.triggerMultipleHooks(C=>C.afterWorkspaceDependencyRemoval,u),(await Ge.start({configuration:t,stdout:this.context.stdout},async C=>{await i.install({cache:s,report:C,mode:this.mode})})).exitCode()):0}};yu.paths=[[\"remove\"]],yu.usage=ve.Usage({description:\"remove dependencies from the project\",details:`\n      This command will remove the packages matching the specified patterns from the current workspace.\n\n      If the \\`--mode=<mode>\\` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n      - \\`skip-build\\` will not run the build scripts at all. Note that this is different from setting \\`enableScripts\\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n      - \\`update-lockfile\\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n      This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n    `,examples:[[\"Remove a dependency from the current project\",\"$0 remove lodash\"],[\"Remove a dependency from all workspaces at once\",\"$0 remove lodash --all\"],[\"Remove all dependencies starting with `eslint-`\",\"$0 remove 'eslint-*'\"],[\"Remove all dependencies with the `@babel` scope\",\"$0 remove '@babel/*'\"],[\"Remove all dependencies matching `react-dom` or `react-helmet`\",\"$0 remove 'react-{dom,helmet}'\"]]});var Roe=J(\"util\"),Uh=class extends De{async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await je.find(e,this.context.cwd);if(!i)throw new ct(t.cwd,this.context.cwd);return(await Ge.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=Ie.sortMap(o.keys(),u=>u),l={breakLength:1/0,colors:e.get(\"enableColors\"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c,\" \")}   ${(0,Roe.inspect)(g,l)}`)})).exitCode()}};Uh.paths=[[\"run\"]];var wu=class extends De{constructor(){super(...arguments);this.inspect=z.String(\"--inspect\",!1,{tolerateBoolean:!0,description:\"Forwarded to the underlying Node process when executing a binary\"});this.inspectBrk=z.String(\"--inspect-brk\",!1,{tolerateBoolean:!0,description:\"Forwarded to the underlying Node process when executing a binary\"});this.topLevel=z.Boolean(\"-T,--top-level\",!1,{description:\"Check the root workspace for scripts and/or binaries instead of the current one\"});this.binariesOnly=z.Boolean(\"-B,--binaries-only\",!1,{description:\"Ignore any user defined scripts and only check for binaries\"});this.silent=z.Boolean(\"--silent\",{hidden:!0});this.scriptName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n,locator:s}=await je.find(t,this.context.cwd);await i.restoreInstallState();let o=this.topLevel?i.topLevelWorkspace.anchoredLocator:s;if(!this.binariesOnly&&await Jt.hasPackageScript(o,this.scriptName,{project:i}))return await Jt.executePackageScript(o,this.scriptName,this.args,{project:i,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let a=await Jt.getPackageAccessibleBinaries(o,{project:i});if(a.get(this.scriptName)){let c=[];return this.inspect&&(typeof this.inspect==\"string\"?c.push(`--inspect=${this.inspect}`):c.push(\"--inspect\")),this.inspectBrk&&(typeof this.inspectBrk==\"string\"?c.push(`--inspect-brk=${this.inspectBrk}`):c.push(\"--inspect-brk\")),await Jt.executePackageAccessibleBinary(o,this.scriptName,this.args,{cwd:this.context.cwd,project:i,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:c,packageAccessibleBinaries:a})}if(!this.topLevel&&!this.binariesOnly&&n&&this.scriptName.includes(\":\")){let u=(await Promise.all(i.workspaces.map(async g=>g.manifest.scripts.has(this.scriptName)?g:null))).filter(g=>g!==null);if(u.length===1)return await Jt.executeWorkspaceScript(u[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName===\"node-gyp\"?new be(`Couldn't find a script name \"${this.scriptName}\" in the top-level (used by ${P.prettyLocator(t,s)}). This typically happens because some package depends on \"node-gyp\" to build itself, but didn't list it in their dependencies. To fix that, please run \"yarn add node-gyp\" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new be(`Couldn't find a script name \"${this.scriptName}\" in the top-level (used by ${P.prettyLocator(t,s)}).`);{if(this.scriptName===\"global\")throw new be(\"The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead\");let c=[this.scriptName].concat(this.args);for(let[u,g]of ph)for(let f of g)if(c.length>=f.length&&JSON.stringify(c.slice(0,f.length))===JSON.stringify(f))throw new be(`Couldn't find a script named \"${this.scriptName}\", but a matching command can be found in the ${u} plugin. You can install it with \"yarn plugin import ${u}\".`);throw new be(`Couldn't find a script named \"${this.scriptName}\".`)}}};wu.paths=[[\"run\"]],wu.usage=ve.Usage({description:\"run a script defined in the package.json\",details:`\n      This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace:\n\n      - If the \\`scripts\\` field from your local package.json contains a matching script name, its definition will get executed.\n\n      - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed.\n\n      - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed.\n\n      Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax).\n    `,examples:[[\"Run the tests from the local workspace\",\"$0 run test\"],['Same thing, but without the \"run\" keyword',\"$0 test\"],[\"Inspect Webpack while running\",\"$0 run --inspect-brk webpack\"]]});var Bu=class extends De{constructor(){super(...arguments);this.save=z.Boolean(\"-s,--save\",!1,{description:\"Persist the resolution inside the top-level manifest\"});this.descriptor=z.String();this.resolution=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(await i.restoreInstallState({restoreResolutions:!1}),!n)throw new ct(i.cwd,this.context.cwd);let o=P.parseDescriptor(this.descriptor,!0),a=P.makeDescriptor(o,this.resolution);return i.storedDescriptors.set(o.descriptorHash,o),i.storedDescriptors.set(a.descriptorHash,a),i.resolutionAliases.set(o.descriptorHash,a.descriptorHash),(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{await i.install({cache:s,report:c})})).exitCode()}};Bu.paths=[[\"set\",\"resolution\"]],Bu.usage=ve.Usage({description:\"enforce a package resolution\",details:'\\n      This command updates the resolution table so that `descriptor` is resolved by `resolution`.\\n\\n      Note that by default this command only affect the current resolution table - meaning that this \"manual override\" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\\n\\n      Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\\n    ',examples:[[\"Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0\",\"$0 set resolution lodash@npm:^1.2.3 1.5.0\"]]});var Foe=Pe(yn()),Qu=class extends De{constructor(){super(...arguments);this.all=z.Boolean(\"-A,--all\",!1,{description:\"Unlink all workspaces belonging to the target project from the current one\"});this.leadingArguments=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);let o=i.topLevelWorkspace,a=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:c,reference:u}of o.manifest.resolutions)u.startsWith(\"portal:\")&&a.add(c.descriptor.fullName);if(this.leadingArguments.length>0)for(let c of this.leadingArguments){let u=x.resolve(this.context.cwd,K.toPortablePath(c));if(Ie.isPathLike(c)){let g=await ye.find(u,this.context.plugins,{useRc:!1,strict:!1}),{project:f,workspace:h}=await je.find(g,u);if(!h)throw new ct(f.cwd,u);if(this.all){for(let p of f.workspaces)p.manifest.name&&a.add(P.stringifyIdent(p.locator));if(a.size===0)throw new be(\"No workspace found to be unlinked in the target project\")}else{if(!h.manifest.name)throw new be(\"The target workspace doesn't have a name and thus cannot be unlinked\");a.add(P.stringifyIdent(h.locator))}}else{let g=[...o.manifest.resolutions.map(({pattern:f})=>f.descriptor.fullName)];for(let f of(0,Foe.default)(g,c))a.add(f)}}return o.manifest.resolutions=o.manifest.resolutions.filter(({pattern:c})=>!a.has(c.descriptor.fullName)),(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{await i.install({cache:s,report:c})})).exitCode()}};Qu.paths=[[\"unlink\"]],Qu.usage=ve.Usage({description:\"disconnect the local project from another one\",details:`\n      This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments.\n    `,examples:[[\"Unregister a remote workspace in the current project\",\"$0 unlink ~/ts-loader\"],[\"Unregister all workspaces from a remote project in the current project\",\"$0 unlink ~/jest --all\"],[\"Unregister all previously linked workspaces\",\"$0 unlink --all\"],[\"Unregister all workspaces matching a glob\",\"$0 unlink '@babel/*' 'pkg-{a,b}'\"]]});var Noe=Pe(Pm()),DT=Pe(yn());ns();var Al=class extends De{constructor(){super(...arguments);this.interactive=z.Boolean(\"-i,--interactive\",{description:\"Offer various choices, depending on the detected upgrade paths\"});this.exact=z.Boolean(\"-E,--exact\",!1,{description:\"Don't use any semver modifier on the resolved range\"});this.tilde=z.Boolean(\"-T,--tilde\",!1,{description:\"Use the `~` semver modifier on the resolved range\"});this.caret=z.Boolean(\"-C,--caret\",!1,{description:\"Use the `^` semver modifier on the resolved range\"});this.recursive=z.Boolean(\"-R,--recursive\",!1,{description:\"Resolve again ALL resolutions for those packages\"});this.mode=z.String(\"--mode\",{description:\"Change what artifacts installs generate\",validator:Wi(Xn)});this.patterns=z.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=[...i.storedDescriptors.values()],a=o.map(g=>P.stringifyIdent(g)),l=new Set;for(let g of this.patterns){if(P.parseDescriptor(g).range!==\"unknown\")throw new be(\"Ranges aren't allowed when using --recursive\");for(let f of(0,DT.default)(a,g)){let h=P.parseIdent(f);l.add(h.identHash)}}let c=o.filter(g=>l.has(g.identHash));for(let g of c)i.storedDescriptors.delete(g.descriptorHash),i.storedResolutions.delete(g.descriptorHash);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{await i.install({cache:s,report:g})})).exitCode()}async executeUpClassic(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get(\"preferInteractive\"),a=km(this,i),l=o?[\"keep\",\"reuse\",\"project\",\"latest\"]:[\"project\",\"latest\"],c=[],u=[];for(let B of this.patterns){let v=!1,D=P.parseDescriptor(B);for(let L of i.workspaces)for(let H of[\"dependencies\",\"devDependencies\"]){let $=[...L.manifest.getForScope(H).values()].map(V=>P.stringifyIdent(V));for(let V of(0,DT.default)($,P.stringifyIdent(D))){let W=P.parseIdent(V),Z=L.manifest[H].get(W.identHash);if(typeof Z>\"u\")throw new Error(\"Assertion failed: Expected the descriptor to be registered\");let A=P.makeDescriptor(W,D.range);c.push(Promise.resolve().then(async()=>[L,H,Z,await Rm(A,{project:i,workspace:L,cache:s,target:H,modifier:a,strategies:l})])),v=!0}}v||u.push(B)}if(u.length>1)throw new be(`Patterns ${ee.prettyList(t,u,vi.CODE)} don't match any packages referenced by any workspace`);if(u.length>0)throw new be(`Pattern ${ee.prettyList(t,u,vi.CODE)} doesn't match any packages referenced by any workspace`);let g=await Promise.all(c),f=await _o.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let[,,v,{suggestions:D,rejections:L}]of g){let H=D.filter(j=>j.descriptor!==null);if(H.length===0){let[j]=L;if(typeof j>\"u\")throw new Error(\"Assertion failed: Expected an error to have been set\");let $=this.cli.error(j);i.configuration.get(\"enableNetwork\")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range\n\n${$}`):B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range (note: network resolution has been disabled)\n\n${$}`)}else H.length>1&&!o&&B.reportError(27,`${P.prettyDescriptor(t,v)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(f.hasErrors())return f.exitCode();let h=!1,p=[];for(let[B,v,,{suggestions:D}]of g){let L,H=D.filter(W=>W.descriptor!==null),j=H[0].descriptor,$=H.every(W=>P.areDescriptorsEqual(W.descriptor,j));H.length===1||$?L=j:(h=!0,{answer:L}=await(0,Noe.prompt)({type:\"select\",name:\"answer\",message:`Which range to you want to use in ${P.prettyWorkspace(t,B)} \\u276F ${v}?`,choices:D.map(({descriptor:W,name:Z,reason:A})=>W?{name:Z,hint:A,descriptor:W}:{name:Z,hint:A,disabled:!0}),onCancel:()=>process.exit(130),result(W){return this.find(W,\"descriptor\")},stdin:this.context.stdin,stdout:this.context.stdout}));let V=B.manifest[v].get(L.identHash);if(typeof V>\"u\")throw new Error(\"Assertion failed: This descriptor should have a matching entry\");if(V.descriptorHash!==L.descriptorHash)B.manifest[v].set(L.identHash,L),p.push([B,v,V,L]);else{let W=t.makeResolver(),Z={project:i,resolver:W},A=W.bindDescriptor(V,B.anchoredLocator,Z);i.forgetResolution(A)}}return await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyReplacement,p),h&&this.context.stdout.write(`\n`),(await Ge.start({configuration:t,stdout:this.context.stdout},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};Al.paths=[[\"up\"]],Al.usage=ve.Usage({description:\"upgrade dependencies across the project\",details:\"\\n      This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\\n\\n      If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\\n\\n      If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\\n\\n      The, `-C,--caret`, `-E,--exact` and  `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\\n\\n      If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\\n\\n      - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\\n\\n      - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\\n\\n      Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\\n\\n      This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\\n\\n      **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\\n    \",examples:[[\"Upgrade all instances of lodash to the latest release\",\"$0 up lodash\"],[\"Upgrade all instances of lodash to the latest release, but ask confirmation for each\",\"$0 up lodash -i\"],[\"Upgrade all instances of lodash to 1.2.3\",\"$0 up lodash@1.2.3\"],[\"Upgrade all instances of packages with the `@babel` scope to the latest release\",\"$0 up '@babel/*'\"],[\"Upgrade all instances of packages containing the word `jest` to the latest release\",\"$0 up '*jest*'\"],[\"Upgrade all instances of packages with the `@babel` scope to 7.0.0\",\"$0 up '@babel/*@7.0.0'\"]]}),Al.schema=[JS(\"recursive\",Xl.Forbids,[\"interactive\",\"exact\",\"tilde\",\"caret\"],{ignore:[void 0,!1]})];var bu=class extends De{constructor(){super(...arguments);this.recursive=z.Boolean(\"-R,--recursive\",!1,{description:\"List, for each workspace, what are all the paths that lead to the dependency\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.peers=z.Boolean(\"--peers\",!1,{description:\"Also print the peer dependencies that match the specified name\"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=P.parseIdent(this.package).identHash,o=this.recursive?FWe(i,s,{configuration:t,peers:this.peers}):RWe(i,s,{configuration:t,peers:this.peers});Vn.emitTree(o,{configuration:t,stdout:this.context.stdout,json:this.json,separators:1})}};bu.paths=[[\"why\"]],bu.usage=ve.Usage({description:\"display the reason why a package is needed\",details:`\n      This command prints the exact reasons why a package appears in the dependency tree.\n\n      If \\`-R,--recursive\\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named \"Foo\" when looking for \"Bar\", it means that \"Foo\" already got printed higher in the tree.\n    `,examples:[[\"Explain why lodash is used in your project\",\"$0 why lodash\"]]});function RWe(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.storedPackages.values(),a=>P.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={};for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=r.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(\"Assertion failed: The resolution should have been registered\");let f=r.storedPackages.get(g);if(!f)throw new Error(\"Assertion failed: The package should have been registered\");if(f.identHash!==e)continue;{let p=P.stringifyLocator(a);s[p]={value:[a,ee.Type.LOCATOR],children:l}}let h=P.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ee.Type.DEPENDENT]}}}return o}function FWe(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.workspaces,f=>P.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let C=r.storedResolutions.get(p.descriptorHash);if(!C)throw new Error(\"Assertion failed: The resolution should have been registered\");let y=r.storedPackages.get(C);if(!y)throw new Error(\"Assertion failed: The package should have been registered\");a(y)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error(\"Assertion failed: The package should have been registered\");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let C=p!==null?ee.tuple(ee.Type.DEPENDENT,{locator:f,descriptor:p}):ee.tuple(ee.Type.LOCATOR,f),y={},B={value:C,children:y},v=P.stringifyLocator(f);if(h[v]=B,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&r.tryWorkspaceByLocator(f))))for(let D of f.dependencies.values()){if(!i&&f.peerDependencies.has(D.identHash))continue;let L=r.storedResolutions.get(D.descriptorHash);if(!L)throw new Error(\"Assertion failed: The resolution should have been registered\");let H=r.storedPackages.get(L);if(!H)throw new Error(\"Assertion failed: The package should have been registered\");g(H,y,D)}};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error(\"Assertion failed: The package should have been registered\");g(h,c,null)}return u}var HT={};ut(HT,{default:()=>$We,gitUtils:()=>$a});var $a={};ut($a,{TreeishProtocols:()=>pQ,clone:()=>UT,fetchBase:()=>tae,fetchChangedFiles:()=>rae,fetchChangedWorkspaces:()=>_We,fetchRoot:()=>eae,isGitUrl:()=>Gh,lsRemote:()=>$oe,normalizeLocator:()=>MT,normalizeRepoUrl:()=>Km,resolveUrl:()=>KT,splitRepoUrl:()=>Mm});var OT=Pe(zoe()),_oe=Pe(dB()),Hh=Pe(J(\"querystring\")),LT=Pe(Xr());function NT(r,e,t){let i=r.indexOf(t);return r.lastIndexOf(e,i>-1?i:1/0)}function Voe(r){try{return new URL(r)}catch{return}}function VWe(r){let e=NT(r,\"@\",\"#\"),t=NT(r,\":\",\"#\");return t>e&&(r=`${r.slice(0,t)}/${r.slice(t+1)}`),NT(r,\":\",\"#\")===-1&&r.indexOf(\"//\")===-1&&(r=`ssh://${r}`),r}function Xoe(r){return Voe(r)||Voe(VWe(r))}function Zoe(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||\"ssh\"} -o BatchMode=yes`}}var XWe=[/^ssh:/,/^git(?:\\+[^:]+)?:/,/^(?:git\\+)?https?:[^#]+\\/[^#]+(?:\\.git)(?:#.*)?$/,/^git@[^#]+\\/[^#]+\\.git(?:#.*)?$/,/^(?:github:|https:\\/\\/github\\.com\\/)?(?!\\.{1,2}\\/)([a-zA-Z._0-9-]+)\\/(?!\\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\\.git)?(?:#.*)?$/,/^https:\\/\\/github\\.com\\/(?!\\.{1,2}\\/)([a-zA-Z0-9._-]+)\\/(?!\\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\\/tarball\\/(.+)?$/],pQ=(n=>(n.Commit=\"commit\",n.Head=\"head\",n.Tag=\"tag\",n.Semver=\"semver\",n))(pQ||{});function Gh(r){return r?XWe.some(e=>!!r.match(e)):!1}function Mm(r){r=Km(r);let e=r.indexOf(\"#\");if(e===-1)return{repo:r,treeish:{protocol:\"head\",request:\"HEAD\"},extra:{}};let t=r.slice(0,e),i=r.slice(e+1);if(i.match(/^[a-z]+=/)){let n=Hh.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!=\"string\")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(pQ).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s<\"u\"?(o=s,a=n[s]):(o=\"head\",a=\"HEAD\");for(let l of Object.values(pQ))delete n[l];return{repo:t,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(\":\"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:t,treeish:{protocol:s,request:o},extra:{}}}}function Km(r,{git:e=!1}={}){if(r=r.replace(/^git\\+https:/,\"https:\"),r=r.replace(/^(?:github:|https:\\/\\/github\\.com\\/)?(?!\\.{1,2}\\/)([a-zA-Z0-9._-]+)\\/(?!\\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\\.git)?(#.*)?$/,\"https://github.com/$1/$2.git$3\"),r=r.replace(/^https:\\/\\/github\\.com\\/(?!\\.{1,2}\\/)([a-zA-Z0-9._-]+)\\/(?!\\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\\/tarball\\/(.+)?$/,\"https://github.com/$1/$2.git#$3\"),e){let t=Xoe(r);t&&(r=t.href),r=r.replace(/^git\\+([^:]+):/,\"$1:\")}return r}function MT(r){return P.makeLocator(r,Km(r.reference))}async function $oe(r,e){let t=Km(r,{git:!0});if(!Vt.getNetworkSettings(`https://${(0,OT.default)(t).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${t}' has been blocked because of your configuration settings`);let n=await TT(\"listing refs\",[\"ls-remote\",t],{cwd:e.startingCwd,env:Zoe()},{configuration:e,normalizedRepoUrl:t}),s=new Map,o=/^([a-f0-9]{40})\\t([^\\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function KT(r,e){let{repo:t,treeish:{protocol:i,request:n},extra:s}=Mm(r),o=await $oe(t,e),a=(c,u)=>{switch(c){case\"commit\":{if(!u.match(/^[a-f0-9]{40}$/))throw new Error(\"Invalid commit hash\");return Hh.default.stringify({...s,commit:u})}case\"head\":{let g=o.get(u===\"HEAD\"?u:`refs/heads/${u}`);if(typeof g>\"u\")throw new Error(`Unknown head (\"${u}\")`);return Hh.default.stringify({...s,commit:g})}case\"tag\":{let g=o.get(`refs/tags/${u}`);if(typeof g>\"u\")throw new Error(`Unknown tag (\"${u}\")`);return Hh.default.stringify({...s,commit:g})}case\"semver\":{let g=vt.validRange(u);if(!g)throw new Error(`Invalid range (\"${u}\")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith(\"refs/tags/\")).map(([p,C])=>[LT.default.parse(p.slice(10)),C]).filter(p=>p[0]!==null)),h=LT.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range (\"${u}\")`);return Hh.default.stringify({...s,commit:f.get(h)})}case null:{let g;if((g=l(\"commit\",u))!==null||(g=l(\"tag\",u))!==null||(g=l(\"head\",u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve \"${u}\" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve \"${u}\" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol (\"${c}\")`)}},l=(c,u)=>{try{return a(c,u)}catch{return null}};return`${t}#${a(i,n)}`}async function UT(r,e){return await e.getLimit(\"cloneConcurrency\")(async()=>{let{repo:t,treeish:{protocol:i,request:n}}=Mm(r);if(i!==\"commit\")throw new Error(\"Invalid treeish protocol when cloning\");let s=Km(t,{git:!0});if(Vt.getNetworkSettings(`https://${(0,OT.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await M.mktempPromise(),a={cwd:o,env:Zoe()};return await TT(\"cloning the repository\",[\"clone\",\"-c core.autocrlf=false\",s,K.fromPortablePath(o)],a,{configuration:e,normalizedRepoUrl:s}),await TT(\"switching branch\",[\"checkout\",`${n}`],a,{configuration:e,normalizedRepoUrl:s}),o})}async function eae(r){let e=null,t,i=r;do t=i,await M.existsPromise(x.join(t,\".git\"))&&(e=t),i=x.dirname(t);while(e===null&&i!==t);return e}async function tae(r,{baseRefs:e}){if(e.length===0)throw new be(\"Can't run this command with zero base refs specified.\");let t=[];for(let a of e){let{code:l}=await Cr.execvp(\"git\",[\"merge-base\",a,\"HEAD\"],{cwd:r});l===0&&t.push(a)}if(t.length===0)throw new be(`No ancestor could be found between any of HEAD and ${e.join(\", \")}`);let{stdout:i}=await Cr.execvp(\"git\",[\"merge-base\",\"HEAD\",...t],{cwd:r,strict:!0}),n=i.trim(),{stdout:s}=await Cr.execvp(\"git\",[\"show\",\"--quiet\",\"--pretty=format:%s\",n],{cwd:r,strict:!0}),o=s.trim();return{hash:n,title:o}}async function rae(r,{base:e,project:t}){let i=Ie.buildIgnorePattern(t.configuration.get(\"changesetIgnorePatterns\")),{stdout:n}=await Cr.execvp(\"git\",[\"diff\",\"--name-only\",`${e}`],{cwd:r,strict:!0}),s=n.split(/\\r\\n|\\r|\\n/).filter(c=>c.length>0).map(c=>x.resolve(r,K.toPortablePath(c))),{stdout:o}=await Cr.execvp(\"git\",[\"ls-files\",\"--others\",\"--exclude-standard\"],{cwd:r,strict:!0}),a=o.split(/\\r\\n|\\r|\\n/).filter(c=>c.length>0).map(c=>x.resolve(r,K.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!x.relative(t.cwd,c).match(i)):l}async function _We({ref:r,project:e}){if(e.configuration.projectCwd===null)throw new be(\"This command can only be run from within a Yarn project\");let t=[x.resolve(e.cwd,e.configuration.get(\"cacheFolder\")),x.resolve(e.cwd,e.configuration.get(\"installStatePath\")),x.resolve(e.cwd,e.configuration.get(\"lockfileFilename\")),x.resolve(e.cwd,e.configuration.get(\"virtualFolder\"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&t.push(o)});let i=await eae(e.configuration.projectCwd);if(i==null)throw new be(\"This command can only be run on Git repositories\");let n=await tae(i,{baseRefs:typeof r==\"string\"?[r]:e.configuration.get(\"changesetBaseRefs\")}),s=await rae(i,{base:n.hash,project:e});return new Set(Ie.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?Ie.mapAndFilter.skip:t.some(l=>o.startsWith(l))?Ie.mapAndFilter.skip:a}))}async function TT(r,e,t,{configuration:i,normalizedRepoUrl:n}){try{return await Cr.execvp(\"git\",e,{...t,strict:!0})}catch(s){if(!(s instanceof Cr.ExecError))throw s;let o=s.reportExtra,a=s.stderr.toString();throw new at(1,`Failed ${r}`,l=>{l.reportError(1,`  ${ee.prettyField(i,{label:\"Repository URL\",value:ee.tuple(ee.Type.URL,n)})}`);for(let c of a.matchAll(/^(.+?): (.*)$/gm)){let[,u,g]=c;u=u.toLowerCase();let f=u===\"error\"?\"Error\":`${(0,_oe.default)(u)} Error`;l.reportError(1,`  ${ee.prettyField(i,{label:f,value:ee.tuple(ee.Type.NO_HINT,g)})}`)}o==null||o(l)})}}var dQ=class{supports(e,t){return Gh(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,n=MT(e),s=new Map(t.checksums);s.set(n.locatorHash,i);let o={...t,checksums:s},a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:l,releaseFs:c,prefixPath:P.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,t){return t.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,t)}async cloneFromRemote(e,t){let i=await UT(e.reference,t.project.configuration),n=Mm(e.reference),s=x.join(i,\"package.tgz\");await Jt.prepareExternalProject(i,s,{configuration:t.project.configuration,report:t.report,workspace:n.extra.workspace,locator:e});let o=await M.readFilePromise(s);return await Ie.releaseAfterUseAsync(async()=>await Ci.convertToZip(o,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}))}};var CQ=class{supportsDescriptor(e,t){return Gh(e.range)}supportsLocator(e,t){return Gh(e.reference)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=await KT(e.range,i.project.configuration);return[P.makeLocator(e,n)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||\"0.0.0\",languageName:n.languageName||t.project.configuration.get(\"defaultLanguageName\"),linkType:\"HARD\",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var ZWe={configuration:{changesetBaseRefs:{description:\"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.\",type:\"STRING\",isArray:!0,isNullable:!1,default:[\"master\",\"origin/master\",\"upstream/master\",\"main\",\"origin/main\",\"upstream/main\"]},changesetIgnorePatterns:{description:\"Array of glob patterns; files matching them will be ignored when fetching the changed files\",type:\"STRING\",default:[],isArray:!0},cloneConcurrency:{description:\"Maximal number of concurrent clones\",type:\"NUMBER\",default:2}},fetchers:[dQ],resolvers:[CQ]};var $We=ZWe;var Su=class extends De{constructor(){super(...arguments);this.since=z.String(\"--since\",{description:\"Only include workspaces that have been changed since the specified ref.\",tolerateBoolean:!0});this.recursive=z.Boolean(\"-R,--recursive\",!1,{description:\"Find packages via dependencies/devDependencies instead of using the workspaces field\"});this.noPrivate=z.Boolean(\"--no-private\",{description:\"Exclude workspaces that have the private field set to true\"});this.verbose=z.Boolean(\"-v,--verbose\",!1,{description:\"Also return the cross-dependencies between workspaces\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async s=>{let o=this.since?await $a.fetchChangedWorkspaces({ref:this.since,project:i}):i.workspaces,a=new Set(o);if(this.recursive)for(let l of[...o].map(c=>c.getRecursiveWorkspaceDependents()))for(let c of l)a.add(c);for(let l of a){let{manifest:c}=l;if(c.private&&this.noPrivate)continue;let u;if(this.verbose){let g=new Set,f=new Set;for(let h of ot.hardDependencies)for(let[p,C]of c.getForScope(h)){let y=i.tryWorkspaceByDescriptor(C);y===null?i.workspacesByIdent.has(p)&&f.add(C):g.add(y)}u={workspaceDependencies:Array.from(g).map(h=>h.relativeCwd),mismatchedWorkspaceDependencies:Array.from(f).map(h=>P.stringifyDescriptor(h))}}s.reportInfo(null,`${l.relativeCwd}`),s.reportJson({location:l.relativeCwd,name:c.name?P.stringifyIdent(c.name):null,...u})}})).exitCode()}};Su.paths=[[\"workspaces\",\"list\"]],Su.usage=ve.Usage({category:\"Workspace-related commands\",description:\"list all available workspaces\",details:\"\\n      This command will print the list of all workspaces in the project.\\n\\n      - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\\n\\n      - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\\n\\n      - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\\n\\n      - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\\n    \"});var vu=class extends De{constructor(){super(...arguments);this.workspaceName=z.String();this.commandName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=i.workspaces,o=new Map(s.map(l=>[P.stringifyIdent(l.locator),l])),a=o.get(this.workspaceName);if(a===void 0){let l=Array.from(o.keys()).sort();throw new be(`Workspace '${this.workspaceName}' not found. Did you mean any of the following:\n  - ${l.join(`\n  - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:a.cwd})}};vu.paths=[[\"workspace\"]],vu.usage=ve.Usage({category:\"Workspace-related commands\",description:\"run a command within the specified workspace\",details:`\n      This command will run a given sub-command on a single workspace.\n    `,examples:[[\"Add a package to a single workspace\",\"yarn workspace components add -D react\"],[\"Run build script on a single workspace\",\"yarn workspace components run build\"]]});var e3e={configuration:{enableImmutableInstalls:{description:\"If true (the default on CI), prevents the install command from modifying the lockfile\",type:\"BOOLEAN\",default:iae.isCI},defaultSemverRangePrefix:{description:\"The default save prefix: '^', '~' or ''\",type:\"STRING\",values:[\"^\",\"~\",\"\"],default:\"^\"}},commands:[$c,eu,tu,ru,Bu,pu,au,Su,Oh,Mh,Lm,Kh,_c,Zc,iu,nu,su,ou,Au,lu,cu,uu,Qu,gu,Cu,du,mu,fu,Eu,Iu,yu,Uh,wu,Al,bu,vu]},t3e=e3e;var WT={};ut(WT,{default:()=>i3e});var Le={optional:!0},YT=[[\"@tailwindcss/aspect-ratio@<0.2.1\",{peerDependencies:{tailwindcss:\"^2.0.2\"}}],[\"@tailwindcss/line-clamp@<0.2.1\",{peerDependencies:{tailwindcss:\"^2.0.2\"}}],[\"@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0\",{peerDependencies:{postcss:\"^8.0.0\"}}],[\"@samverschueren/stream-to-observable@<0.3.1\",{peerDependenciesMeta:{rxjs:Le,zenObservable:Le}}],[\"any-observable@<0.5.1\",{peerDependenciesMeta:{rxjs:Le,zenObservable:Le}}],[\"@pm2/agent@<1.0.4\",{dependencies:{debug:\"*\"}}],[\"debug@<4.2.0\",{peerDependenciesMeta:{[\"supports-color\"]:Le}}],[\"got@<11\",{dependencies:{[\"@types/responselike\"]:\"^1.0.0\",[\"@types/keyv\"]:\"^3.1.1\"}}],[\"cacheable-lookup@<4.1.2\",{dependencies:{[\"@types/keyv\"]:\"^3.1.1\"}}],[\"http-link-dataloader@*\",{peerDependencies:{graphql:\"^0.13.1 || ^14.0.0\"}}],[\"typescript-language-server@*\",{dependencies:{[\"vscode-jsonrpc\"]:\"^5.0.1\",[\"vscode-languageserver-protocol\"]:\"^3.15.0\"}}],[\"postcss-syntax@*\",{peerDependenciesMeta:{[\"postcss-html\"]:Le,[\"postcss-jsx\"]:Le,[\"postcss-less\"]:Le,[\"postcss-markdown\"]:Le,[\"postcss-scss\"]:Le}}],[\"jss-plugin-rule-value-function@<=10.1.1\",{dependencies:{[\"tiny-warning\"]:\"^1.0.2\"}}],[\"ink-select-input@<4.1.0\",{peerDependencies:{react:\"^16.8.2\"}}],[\"license-webpack-plugin@<2.3.18\",{peerDependenciesMeta:{webpack:Le}}],[\"snowpack@>=3.3.0\",{dependencies:{[\"node-gyp\"]:\"^7.1.0\"}}],[\"promise-inflight@*\",{peerDependenciesMeta:{bluebird:Le}}],[\"reactcss@*\",{peerDependencies:{react:\"*\"}}],[\"react-color@<=2.19.0\",{peerDependencies:{react:\"*\"}}],[\"gatsby-plugin-i18n@*\",{dependencies:{ramda:\"^0.24.1\"}}],[\"useragent@^2.0.0\",{dependencies:{request:\"^2.88.0\",yamlparser:\"0.0.x\",semver:\"5.5.x\"}}],[\"@apollographql/apollo-tools@<=0.5.2\",{peerDependencies:{graphql:\"^14.2.1 || ^15.0.0\"}}],[\"material-table@^2.0.0\",{dependencies:{\"@babel/runtime\":\"^7.11.2\"}}],[\"@babel/parser@*\",{dependencies:{\"@babel/types\":\"^7.8.3\"}}],[\"fork-ts-checker-webpack-plugin@<=6.3.4\",{peerDependencies:{eslint:\">= 6\",typescript:\">= 2.7\",webpack:\">= 4\",\"vue-template-compiler\":\"*\"},peerDependenciesMeta:{eslint:Le,\"vue-template-compiler\":Le}}],[\"rc-animate@<=3.1.1\",{peerDependencies:{react:\">=16.9.0\",\"react-dom\":\">=16.9.0\"}}],[\"react-bootstrap-table2-paginator@*\",{dependencies:{classnames:\"^2.2.6\"}}],[\"react-draggable@<=4.4.3\",{peerDependencies:{react:\">= 16.3.0\",\"react-dom\":\">= 16.3.0\"}}],[\"apollo-upload-client@<14\",{peerDependencies:{graphql:\"14 - 15\"}}],[\"react-instantsearch-core@<=6.7.0\",{peerDependencies:{algoliasearch:\">= 3.1 < 5\"}}],[\"react-instantsearch-dom@<=6.7.0\",{dependencies:{\"react-fast-compare\":\"^3.0.0\"}}],[\"ws@<7.2.1\",{peerDependencies:{bufferutil:\"^4.0.1\",\"utf-8-validate\":\"^5.0.2\"},peerDependenciesMeta:{bufferutil:Le,\"utf-8-validate\":Le}}],[\"react-portal@<4.2.2\",{peerDependencies:{\"react-dom\":\"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0\"}}],[\"react-scripts@<=4.0.1\",{peerDependencies:{react:\"*\"}}],[\"testcafe@<=1.10.1\",{dependencies:{\"@babel/plugin-transform-for-of\":\"^7.12.1\",\"@babel/runtime\":\"^7.12.5\"}}],[\"testcafe-legacy-api@<=4.2.0\",{dependencies:{\"testcafe-hammerhead\":\"^17.0.1\",\"read-file-relative\":\"^1.2.0\"}}],[\"@google-cloud/firestore@<=4.9.3\",{dependencies:{protobufjs:\"^6.8.6\"}}],[\"gatsby-source-apiserver@*\",{dependencies:{[\"babel-polyfill\"]:\"^6.26.0\"}}],[\"@webpack-cli/package-utils@<=1.0.1-alpha.4\",{dependencies:{[\"cross-spawn\"]:\"^7.0.3\"}}],[\"gatsby-remark-prismjs@<3.3.28\",{dependencies:{lodash:\"^4\"}}],[\"gatsby-plugin-favicon@*\",{peerDependencies:{webpack:\"*\"}}],[\"gatsby-plugin-sharp@<=4.6.0-next.3\",{dependencies:{debug:\"^4.3.1\"}}],[\"gatsby-react-router-scroll@<=5.6.0-next.0\",{dependencies:{[\"prop-types\"]:\"^15.7.2\"}}],[\"@rebass/forms@*\",{dependencies:{[\"@styled-system/should-forward-prop\"]:\"^5.0.0\"},peerDependencies:{react:\"^16.8.6\"}}],[\"rebass@*\",{peerDependencies:{react:\"^16.8.6\"}}],[\"@ant-design/react-slick@<=0.28.3\",{peerDependencies:{react:\">=16.0.0\"}}],[\"mqtt@<4.2.7\",{dependencies:{duplexify:\"^4.1.1\"}}],[\"vue-cli-plugin-vuetify@<=2.0.3\",{dependencies:{semver:\"^6.3.0\"},peerDependenciesMeta:{\"sass-loader\":Le,\"vuetify-loader\":Le}}],[\"vue-cli-plugin-vuetify@<=2.0.4\",{dependencies:{\"null-loader\":\"^3.0.0\"}}],[\"vue-cli-plugin-vuetify@>=2.4.3\",{peerDependencies:{vue:\"*\"}}],[\"@vuetify/cli-plugin-utils@<=0.0.4\",{dependencies:{semver:\"^6.3.0\"},peerDependenciesMeta:{\"sass-loader\":Le}}],[\"@vue/cli-plugin-typescript@<=5.0.0-alpha.0\",{dependencies:{\"babel-loader\":\"^8.1.0\"}}],[\"@vue/cli-plugin-typescript@<=5.0.0-beta.0\",{dependencies:{\"@babel/core\":\"^7.12.16\"},peerDependencies:{\"vue-template-compiler\":\"^2.0.0\"},peerDependenciesMeta:{\"vue-template-compiler\":Le}}],[\"cordova-ios@<=6.3.0\",{dependencies:{underscore:\"^1.9.2\"}}],[\"cordova-lib@<=10.0.1\",{dependencies:{underscore:\"^1.9.2\"}}],[\"git-node-fs@*\",{peerDependencies:{\"js-git\":\"^0.7.8\"},peerDependenciesMeta:{\"js-git\":Le}}],[\"consolidate@<0.16.0\",{peerDependencies:{mustache:\"^3.0.0\"},peerDependenciesMeta:{mustache:Le}}],[\"consolidate@<=0.16.0\",{peerDependencies:{velocityjs:\"^2.0.1\",tinyliquid:\"^0.2.34\",\"liquid-node\":\"^3.0.1\",jade:\"^1.11.0\",\"then-jade\":\"*\",dust:\"^0.3.0\",\"dustjs-helpers\":\"^1.7.4\",\"dustjs-linkedin\":\"^2.7.5\",swig:\"^1.4.2\",\"swig-templates\":\"^2.0.3\",\"razor-tmpl\":\"^1.3.1\",atpl:\">=0.7.6\",liquor:\"^0.0.5\",twig:\"^1.15.2\",ejs:\"^3.1.5\",eco:\"^1.1.0-rc-3\",jazz:\"^0.0.18\",jqtpl:\"~1.1.0\",hamljs:\"^0.6.2\",hamlet:\"^0.3.3\",whiskers:\"^0.4.0\",\"haml-coffee\":\"^1.14.1\",\"hogan.js\":\"^3.0.2\",templayed:\">=0.2.3\",handlebars:\"^4.7.6\",underscore:\"^1.11.0\",lodash:\"^4.17.20\",pug:\"^3.0.0\",\"then-pug\":\"*\",qejs:\"^3.0.5\",walrus:\"^0.10.1\",mustache:\"^4.0.1\",just:\"^0.1.8\",ect:\"^0.5.9\",mote:\"^0.2.0\",toffee:\"^0.3.6\",dot:\"^1.1.3\",\"bracket-template\":\"^1.1.5\",ractive:\"^1.3.12\",nunjucks:\"^3.2.2\",htmling:\"^0.0.8\",\"babel-core\":\"^6.26.3\",plates:\"~0.4.11\",\"react-dom\":\"^16.13.1\",react:\"^16.13.1\",\"arc-templates\":\"^0.5.3\",vash:\"^0.13.0\",slm:\"^2.0.0\",marko:\"^3.14.4\",teacup:\"^2.0.0\",\"coffee-script\":\"^1.12.7\",squirrelly:\"^5.1.0\",twing:\"^5.0.2\"},peerDependenciesMeta:{velocityjs:Le,tinyliquid:Le,\"liquid-node\":Le,jade:Le,\"then-jade\":Le,dust:Le,\"dustjs-helpers\":Le,\"dustjs-linkedin\":Le,swig:Le,\"swig-templates\":Le,\"razor-tmpl\":Le,atpl:Le,liquor:Le,twig:Le,ejs:Le,eco:Le,jazz:Le,jqtpl:Le,hamljs:Le,hamlet:Le,whiskers:Le,\"haml-coffee\":Le,\"hogan.js\":Le,templayed:Le,handlebars:Le,underscore:Le,lodash:Le,pug:Le,\"then-pug\":Le,qejs:Le,walrus:Le,mustache:Le,just:Le,ect:Le,mote:Le,toffee:Le,dot:Le,\"bracket-template\":Le,ractive:Le,nunjucks:Le,htmling:Le,\"babel-core\":Le,plates:Le,\"react-dom\":Le,react:Le,\"arc-templates\":Le,vash:Le,slm:Le,marko:Le,teacup:Le,\"coffee-script\":Le,squirrelly:Le,twing:Le}}],[\"vue-loader@<=16.3.3\",{peerDependencies:{\"@vue/compiler-sfc\":\"^3.0.8\",webpack:\"^4.1.0 || ^5.0.0-0\"},peerDependenciesMeta:{\"@vue/compiler-sfc\":Le}}],[\"vue-loader@^16.7.0\",{peerDependencies:{\"@vue/compiler-sfc\":\"^3.0.8\",vue:\"^3.2.13\"},peerDependenciesMeta:{\"@vue/compiler-sfc\":Le,vue:Le}}],[\"scss-parser@<=1.0.5\",{dependencies:{lodash:\"^4.17.21\"}}],[\"query-ast@<1.0.5\",{dependencies:{lodash:\"^4.17.21\"}}],[\"redux-thunk@<=2.3.0\",{peerDependencies:{redux:\"^4.0.0\"}}],[\"skypack@<=0.3.2\",{dependencies:{tar:\"^6.1.0\"}}],[\"@npmcli/metavuln-calculator@<2.0.0\",{dependencies:{\"json-parse-even-better-errors\":\"^2.3.1\"}}],[\"bin-links@<2.3.0\",{dependencies:{\"mkdirp-infer-owner\":\"^1.0.2\"}}],[\"rollup-plugin-polyfill-node@<=0.8.0\",{peerDependencies:{rollup:\"^1.20.0 || ^2.0.0\"}}],[\"snowpack@<3.8.6\",{dependencies:{\"magic-string\":\"^0.25.7\"}}],[\"elm-webpack-loader@*\",{dependencies:{temp:\"^0.9.4\"}}],[\"winston-transport@<=4.4.0\",{dependencies:{logform:\"^2.2.0\"}}],[\"jest-vue-preprocessor@*\",{dependencies:{\"@babel/core\":\"7.8.7\",\"@babel/template\":\"7.8.6\"},peerDependencies:{pug:\"^2.0.4\"},peerDependenciesMeta:{pug:Le}}],[\"redux-persist@*\",{peerDependencies:{react:\">=16\"},peerDependenciesMeta:{react:Le}}],[\"sodium@>=3\",{dependencies:{\"node-gyp\":\"^3.8.0\"}}],[\"babel-plugin-graphql-tag@<=3.1.0\",{peerDependencies:{graphql:\"^14.0.0 || ^15.0.0\"}}],[\"@playwright/test@<=1.14.1\",{dependencies:{\"jest-matcher-utils\":\"^26.4.2\"}}],...[\"babel-plugin-remove-graphql-queries@<3.14.0-next.1\",\"babel-preset-gatsby-package@<1.14.0-next.1\",\"create-gatsby@<1.14.0-next.1\",\"gatsby-admin@<0.24.0-next.1\",\"gatsby-cli@<3.14.0-next.1\",\"gatsby-core-utils@<2.14.0-next.1\",\"gatsby-design-tokens@<3.14.0-next.1\",\"gatsby-legacy-polyfills@<1.14.0-next.1\",\"gatsby-plugin-benchmark-reporting@<1.14.0-next.1\",\"gatsby-plugin-graphql-config@<0.23.0-next.1\",\"gatsby-plugin-image@<1.14.0-next.1\",\"gatsby-plugin-mdx@<2.14.0-next.1\",\"gatsby-plugin-netlify-cms@<5.14.0-next.1\",\"gatsby-plugin-no-sourcemaps@<3.14.0-next.1\",\"gatsby-plugin-page-creator@<3.14.0-next.1\",\"gatsby-plugin-preact@<5.14.0-next.1\",\"gatsby-plugin-preload-fonts@<2.14.0-next.1\",\"gatsby-plugin-schema-snapshot@<2.14.0-next.1\",\"gatsby-plugin-styletron@<6.14.0-next.1\",\"gatsby-plugin-subfont@<3.14.0-next.1\",\"gatsby-plugin-utils@<1.14.0-next.1\",\"gatsby-recipes@<0.25.0-next.1\",\"gatsby-source-shopify@<5.6.0-next.1\",\"gatsby-source-wikipedia@<3.14.0-next.1\",\"gatsby-transformer-screenshot@<3.14.0-next.1\",\"gatsby-worker@<0.5.0-next.1\"].map(r=>[r,{dependencies:{\"@babel/runtime\":\"^7.14.8\"}}]),[\"gatsby-core-utils@<2.14.0-next.1\",{dependencies:{got:\"8.3.2\"}}],[\"gatsby-plugin-gatsby-cloud@<=3.1.0-next.0\",{dependencies:{\"gatsby-core-utils\":\"^2.13.0-next.0\"}}],[\"gatsby-plugin-gatsby-cloud@<=3.2.0-next.1\",{peerDependencies:{webpack:\"*\"}}],[\"babel-plugin-remove-graphql-queries@<=3.14.0-next.1\",{dependencies:{\"gatsby-core-utils\":\"^2.8.0-next.1\"}}],[\"gatsby-plugin-netlify@3.13.0-next.1\",{dependencies:{\"gatsby-core-utils\":\"^2.13.0-next.0\"}}],[\"clipanion-v3-codemod@<=0.2.0\",{peerDependencies:{jscodeshift:\"^0.11.0\"}}],[\"react-live@*\",{peerDependencies:{\"react-dom\":\"*\",react:\"*\"}}],[\"webpack@<4.44.1\",{peerDependenciesMeta:{\"webpack-cli\":Le,\"webpack-command\":Le}}],[\"webpack@<5.0.0-beta.23\",{peerDependenciesMeta:{\"webpack-cli\":Le}}],[\"webpack-dev-server@<3.10.2\",{peerDependenciesMeta:{\"webpack-cli\":Le}}],[\"@docusaurus/responsive-loader@<1.5.0\",{peerDependenciesMeta:{sharp:Le,jimp:Le}}],[\"eslint-module-utils@*\",{peerDependenciesMeta:{\"eslint-import-resolver-node\":Le,\"eslint-import-resolver-typescript\":Le,\"eslint-import-resolver-webpack\":Le,\"@typescript-eslint/parser\":Le}}],[\"eslint-plugin-import@*\",{peerDependenciesMeta:{\"@typescript-eslint/parser\":Le}}],[\"critters-webpack-plugin@<3.0.2\",{peerDependenciesMeta:{\"html-webpack-plugin\":Le}}],[\"terser@<=5.10.0\",{dependencies:{acorn:\"^8.5.0\"}}],[\"babel-preset-react-app@10.0.x\",{dependencies:{\"@babel/plugin-proposal-private-property-in-object\":\"^7.16.0\"}}],[\"eslint-config-react-app@*\",{peerDependenciesMeta:{typescript:Le}}],[\"@vue/eslint-config-typescript@<11.0.0\",{peerDependenciesMeta:{typescript:Le}}],[\"unplugin-vue2-script-setup@<0.9.1\",{peerDependencies:{\"@vue/composition-api\":\"^1.4.3\",\"@vue/runtime-dom\":\"^3.2.26\"}}],[\"@cypress/snapshot@*\",{dependencies:{debug:\"^3.2.7\"}}],[\"auto-relay@<=0.14.0\",{peerDependencies:{\"reflect-metadata\":\"^0.1.13\"}}],[\"vue-template-babel-compiler@<1.2.0\",{peerDependencies:{[\"vue-template-compiler\"]:\"^2.6.0\"}}],[\"@parcel/transformer-image@<2.5.0\",{peerDependencies:{[\"@parcel/core\"]:\"*\"}}],[\"@parcel/transformer-js@<2.5.0\",{peerDependencies:{[\"@parcel/core\"]:\"*\"}}],[\"parcel@*\",{peerDependenciesMeta:{[\"@parcel/core\"]:Le}}],[\"react-scripts@*\",{peerDependencies:{eslint:\"*\"}}],[\"focus-trap-react@^8.0.0\",{dependencies:{tabbable:\"^5.3.2\"}}],[\"react-rnd@<10.3.7\",{peerDependencies:{react:\">=16.3.0\",\"react-dom\":\">=16.3.0\"}}],[\"connect-mongo@*\",{peerDependencies:{\"express-session\":\"^1.17.1\"}}],[\"vue-i18n@<9\",{peerDependencies:{vue:\"^2\"}}],[\"vue-router@<4\",{peerDependencies:{vue:\"^2\"}}],[\"unified@<10\",{dependencies:{\"@types/unist\":\"^2.0.0\"}}],[\"react-github-btn@<=1.3.0\",{peerDependencies:{react:\">=16.3.0\"}}],[\"react-dev-utils@*\",{peerDependencies:{typescript:\">=2.7\",webpack:\">=4\"},peerDependenciesMeta:{typescript:Le}}],[\"@asyncapi/react-component@<=1.0.0-next.39\",{peerDependencies:{react:\">=16.8.0\",\"react-dom\":\">=16.8.0\"}}],[\"xo@*\",{peerDependencies:{webpack:\">=1.11.0\"},peerDependenciesMeta:{webpack:Le}}],[\"babel-plugin-remove-graphql-queries@<=4.20.0-next.0\",{dependencies:{\"@babel/types\":\"^7.15.4\"}}],[\"gatsby-plugin-page-creator@<=4.20.0-next.1\",{dependencies:{\"fs-extra\":\"^10.1.0\"}}],[\"gatsby-plugin-utils@<=3.14.0-next.1\",{dependencies:{fastq:\"^1.13.0\"},peerDependencies:{graphql:\"^15.0.0\"}}],[\"gatsby-plugin-mdx@<3.1.0-next.1\",{dependencies:{mkdirp:\"^1.0.4\"}}],[\"gatsby-plugin-mdx@^2\",{peerDependencies:{gatsby:\"^3.0.0-next\"}}],[\"fdir@<=5.2.0\",{peerDependencies:{picomatch:\"2.x\"},peerDependenciesMeta:{picomatch:Le}}],[\"babel-plugin-transform-typescript-metadata@<=0.3.2\",{peerDependencies:{\"@babel/core\":\"^7\",\"@babel/traverse\":\"^7\"},peerDependenciesMeta:{\"@babel/traverse\":Le}}],[\"graphql-compose@>=9.0.10\",{peerDependencies:{graphql:\"^14.2.0 || ^15.0.0 || ^16.0.0\"}}]];var jT;function nae(){return typeof jT>\"u\"&&(jT=J(\"zlib\").brotliDecompressSync(Buffer.from(\"G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==\",\"base64\")).toString()),jT}var qT;function sae(){return typeof qT>\"u\"&&(qT=J(\"zlib\").brotliDecompressSync(Buffer.from(\"G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=\",\"base64\")).toString()),qT}var JT;function oae(){return typeof JT>\"u\"&&(JT=J(\"zlib\").brotliDecompressSync(Buffer.from(\"m79FLINtw09vVvGA74e+qRgbQ+t2OsSphYJr/ffl78ANxQ1TYXjF67xR1OmmKDegXga4wzQcNwjSFcKiImProZpXscOWeXOVKEW6Cy1QCmGJxNWis/n5p8EW2sZdoLK2+2nshrZ12l0RkslYBv8aQMetvwQIQhiZrBxtJuVaZiMOtUXT902hH/qmqr9nmfC77KPtlL7VLme2Ckha+RLEw4MrlnKkz2sOfJe/Vv/vz1eTuWJQm5DMRW0W33GcjhsSgrN4YUl8VD2mfb+cdvfl9MtSqsgF9Cy5nKJLkDfOxmrqAsndZaLJeUIHHn9LvFTZ9xkfgp6KrmiUxHacaBHtcf0Stk5U9LzmSQDC+s4la7fGIFO2UwUUwDlV8O2T4mzgkeD7OVHZulIoVYPpGV11hYMeZHmQT0RsskppmgbmA5zc+/5/39RsIUgiNjlkWRwn0rmSi46HIuWQUmXXCXPfve9yBzPACoE4C5DcwJV8TGnpmN699933BjMDaMEgkVTwOsXUVG7aEEJX/xmAe6jknLXOuSga/9/SSqqnd12fqH77bUvakLXOqASY48wCdITZWbtVPaEdIg4hwUOTVG1nfjbAfkZnND2AoDPDmpsqlUP9LoeuLifp2JmQ+z9VdaVrB9zu3ADXjcvgsgxOWxa9B3wAR7m18nYUHpBa1zZlmK0M8wrg7iTHIcUUUHL0cK4AlVanxFWXx2fQixRSjt+J6snOXqlWpv+S7jzwht2QmZ530OX8JNFVLhdFVzWE9uo3l4uk6Lhy3AtiWbCUZDZWqHA3iNPdB0DKgG+nAZnuGRkOIOMh0wM7UHimz5K1otoOaFB2SLNEaVD/rqnHMKvdvcz7RAEREI2atif07xzeWzqIG2J0bXqNfLGQs+J7cZuK2BLhBkUXM8fllaDNaszKvZC9r9I9xREBGcOsjwFsoUKmOYs/6aQWvrmIs1idhP0Yc59/ToV9wjFNqqeKOLW2HYAKJCe3q1iM5fuxqW3/kd4qLMshEFxRnjjLmFa9Ln/sisgWqQSjcC8aCF+cfTPtp4MeAOZpG8uWlSWQahMfKi9M9kSTvgsIiGe3M+MB5dJPPSfcYj5/jcFN9qnSWH39Lvi3uQTrdwrC907k/h3z+6k/tRv5e79JZg75Bnc/TDH04Kextt94/7nf8bxT734bzecYPpJEmmL5Zn4J87zlia4n/emJ3CcE+XE6Vqh92kbJt+8nlkZbLyjgO3Tz+qgcxj4ANl1kJwQk5eX7HnGUh59Cfn2ijHEiPvSVwymWNg0YnBCQ306yhy/8As4bJUOuADSTHl/FusUQoCuYiajvSM9cnqKLwV3e9foJ+ZpwZbh9t8BYwYjcXgto57K1XGprvqD4H09xFLGlekuivs3z+LUFnmxOsCCi6+i/JIz/Rg/p5S3hsrmtkIsDBOwpfurjLPhI3t6AM2SZ2WZEKMy95C8/qqHlNpyymU2PyDiOzmFF7jFE/NBZY7Oyw0Iuzw53tw0LtpygkNIkZfweFj3JNmsFS/XNrR/iGxevNw2lJxeEa48++lHFgik4juU3m0OGgGli/CFO/bWXajKJ+Ejz1GTBwhip9mx3jACXloKmi+s+79dRfaaRAkOGECN+l66dTCqTfu0BGYjA5/RqohIBZ2ONn6+RHCDcQtgQqmMT+16zeKyDOXk93AIkFnxamiBrUw5xH/+usUPykdt2Ms2ygGTKt9tTr23bHW7afvVEf2eWjLtcxt2OfkkmSwbEwxvmAW67viBxxBqcgS+4TwLgWmLSE4GJUgmbD0nr/c4xyXf6fcAuKRUZaGVkLOZdmahSwNnJUJzmAQsvFrAg3Bqgef4rtYV/zDQN19jD4HobUv3nSFm1YpFtUO9veEqWj5YWMzCXIRoQNiIjuq1r75FZcwQqd2XZp2Vrfb+gT/MOc0HADGHzRVaYuUgGC965toAvn3S9tCzuglkvEhcXrlAyuXLIKRDn6GMzEC5HOcPB1aQ+oh/faHHyyx4BZdZLbc1AQQ7aqXGGt096znGbXcYxdXgAqmNa84ZkkbEgOR1LG++ljkIEDIo99nN5aJfrTAL6zPNHhIDTjRigyzyMN9hmkNvEw0lueci164irz5ydkeTLR1V+0gbaHx/6/B/7SDIqN+mjH66jM7sB6Y8sc85kqUUwP+qf1kqIBEUuhLEL7fMJUeOR8FxCHzCLfDI3lnqZWVDgid+Fy2XjVyVojSatfFlIIq4tPvnuqH4B7RLWAbTlRhcCdjOT8y3F0uu2jM8vaOrade5Zch/XZtkPZ2ND9CiX4qaS3I11zifGTT6FnFiZSZZSDiQ51nd9Wr/hzIehCT9Z2fuOo9TmmYZp0kxvWjiFeXNCzT/D/EKF0rRiCYUg4flJ8GuuX2tLJzAH3f224OphkcKbX5MaQqAOeTSCJkHI6mkTlt7GHCumlzW6lxpd1vPVNdeAskv48MuNyV28+EngA3LybDe1/VGgD8MPIFAQIjoKUtV7wV7s4zrm7a26oNh/uTCS26erKSWOeR12grPOR8yOlTA+986DvBihwFVW6XKqKgD4DoYuu3I8jcjx1F+zWIXI1T4TGK3X7S77OJef/A460O7kNqd6Rl56npwLxKC0tp8pKZ1Xh/E4X3Je23tRe8bF9dETYuzEHcYHHq/Fj5aenbiaHY7hXsytI3d04gU4s7X4wYnPZe7yq9ss+op/AsnwwV1OFjbOWmq1Haxyh0Z0QTUDhOc0CaEWvVGZBlYVd8FPGQ0LCdntUUkuMxDAGFGJREesiO9c2cKU8HblcnnlAbvgq97qpENHFiyzyCsXDtB4rZVL0oYMZbm1OqCdQrW+xwA46VqkDP3pNl0g0gR/fJiEAwqCjEcQoOqZFZYdVbvVZWhUubsSRiNHD8h0ibAJEWD8kmGk2pAQfi8rJfmSwmLBSLJFwxaPvMj+thlAHwFmNDjoJS5HsdsZThBT2/RSYbYvaCRKinJl7iBMcgmW30FJlEiejKqjlekR9as89lddLT3Jmfwqd/1+VVeudI+GcgS/mHxw+zKaT9rbpm41DM/0jqEQndtAwK8+JnsJmEQ/iOXFyks3ZYgtoC/CcLi+50QeyQiX0p184CIIOS9ErifExsF5UIbiJ8yXkwifSBKttKZRHxo8/TdoIot4p+KqRcS5vI/+npsNwnjfqFoEJgfGBh9xgMxz6XuokuVeXwsiNHispWk3xNgZ9c7otPthrR0ZHdvqpT9friUwE/W0uaUybHdU0+57q1IN+i8VW6M5XNIyuoXJG1j1cj6w+8/kNKuaVtFSqkhvpQVCumKoWB0ubkRlFlwDTPaskPtzwt5z0xa3/ZeS7jqB3YfmY7crmbuT+RdczhNW4ZzbyyRivXk97h5FcX8uMdftllCwqZ9hiC+ww2Ja/zrVEIV1xXJynMV5exfeR7Ivc93eXc9z7+WvcI0Dd+5aNjp/nV022Ny8z5/lfYvQ9VHU76pQ0dTugjaAec708BpsIuOKJUZn+AD42nnKEJYNfGeFpd+LrW2oeM8kUx1/QeMrdY4YnPxGJ9etapm1Goh2DbQivzqY3umATDRBS40loY7/nuq6XwAXsnEthKOQGaDSX0y+RSsBSiuO7Yfg7S0G/3vvtn+q4h+DD8/ByoAJAk4xWvt9Hp7DEM/oyyrrBeeXhgzxr1uFctr3iQjLWO1eJe22iG8pH6jtyb9JRCgg3O3HYtoW0N05ie8iCjuNGyen7aNfjBaK+SBgVGugYgOTX//6cwsFxNUK1U5TnhzzyTPbqnJ5NnHygf1hhcAqnzxYyWVxnUFx8xAFT0MfL6iI6gaVYz79hEo14ymFCwCcKG5JCSo84UbUblNsQRFqBACc8ietvX8GVpb52PFKMIsq+96ttCc38cb0Y1hdu3LLJ49VWhlxSVwAAAcnY+E0vCdu18DbqUcAQEtVodlperkarzSzmKC87RKeHvjCvIz3q+5xFt1cneMEKwC089f++Lff//tl9Ko5mE8drZSz6J6HFiqf1L7CDdGdfIdqP/2MaseZFC4AMMM4u5vCuYYzUTuP4m6UCDUCAJezlXAs3nuku9Fi4nuyAd8cWO1+JdOCorZp9fpkAABCikD+e67++9+6/vNJ6caooyl/dkYgVKfMjpJBUKpzPXSgOjK5+2r17GDoe0EYHvqGxmWr1/cWABA/UcYnSjZGk7p8YsI3pxErglJ7ZfZ0HyjeGS4TAEhQVPNCch5+PUFE/qzlpHKEDRSzKlhK2gIAJdiS4cDWai/VWJEldAkAdISnNZL3NILY83nbz6Gtod0eHfd6DlsAQCdPfBMLw/AZ0l6TmEr4ONQIAFTqKNFYBPwBjX/UBDfvwqZerq+5vAoA3ay3NOMBf5utmbmWn4D+TNJbt6Z2VDODXLYAwMOx0UeGARu7famsJGzcjQBAzlSSsUhHxyx+PthdMDp+JW0w0nYkt1G8vZ6TAQDIlXRBjcdNbn52is/BVZlx3G7Czz32t4iL9DDVS5s7l0u6HxA9y++3U9N7PfcWABDDsp7G4x5vBqPI5xIXaBy1ZyluW4lgJgBwEZcJF+Bz3v7RSW6eW653OY2xJoULANQwTs+GcFAUiVUm7ZvithWBSwBgM4/+yJNrOueHH8YP2y/XsWE5hQsAlCnSUZkIX4pECtI+KW5LEdgEACaiF2yF4Xfur/VNaU9/Wt/mBCsArLPezJm+Cpruh2udsM9Y+lP3WhoXlSp7blwA4InZWaLhPpiI+8AUagQAhnf9u5tCoSJzaHWVHCLZHrG00y8J+D6LCSaz9Ba5jl4B0dTrpgT6pojfCwf2JISyHVxIUoQGBiwlHT4RniRjV2SYebDQzAvITLx348PvCh37EoGrAZf8+j2zITJLHzJV/9+9WpAPer3Q38dmXVjgs3g2BRcqR55R3beavDpGX6Fa5q2iyFvx+FlpdMD5+cf5EIW7/rV7PqRotri8XUScDo9qPSQzjjQSmEk/Jkfb0ZhaBCfo88lbiTsDhe9ZvIHhApyH53+q/Rg91c1BzumWIAlje+H1XBh6VR+yAM1G1nTOX/joynmao4ECZAgT7xTlFX7CYTf2QxKFBBnsWn/bGP6GMNRqpFxmXLBpw93J6gUsMWOfzIF0nHkfta6uxuyYdC4cJ+yD7virDb83S72WIC8azP92HXrFuKaAo2v/wESzBF1zIaGXGxQZ/Dv0FwMUSel41NXVfrPdhmEHJkQv33HFSypMvC+BEhLrIiqwSFcPNONveTT4mGoKDxl4j9Ad655YHAc8YqVmSpA6eB1xc8Tzvb29H0q+g19+2wlTEoawUuPcs8Nk6aAspVJ00yxlcZJEDTGKYSoDdR5chrZfRRulWhEYUULZ4bwf/TVhFPJ2nDKJjMz+a8CyyBJYASETO5a+1rQyJZGWDJHjTTOHzPKkPKWHezQMT0YKMtcFQseXYv/055ZnRc/DP6zfp/cnIfz8q06VysdniAi/z/3+5HVb0MTBAK+jo56IRkDVoB03dRIgIuiPzH3VFrn1cWpGaRxyViu5X7g2ioWBj81UYqofIzs+p37Ti0FH4F2g+mhMYHe8hI2hTb7GjS83Ra5LSS2yXiaPZwk4r9rzifufyPMNK6rU2vzrRcyu8QaSg7bDH++LG9zJfln8r7zBcVFhjau/nW8wJvRuY+IwOj0dR0nzw2YkAOBP+23aMGzanFoXW1o2rvPX3Z02Xnc6oDUUTdr/v+jiyPoYc2MfN7doTfXXLiHCN2Fl70gLgJDQgWl+EvotTw3+99hUAFY0WYpU5QiTOkKzI4AZvPEtBZPne3U0uNEqzAms6RTwptEUlGiy7GAV8Dhj8SQxXSCsg+KeLRPYkAlKYUBInAMGiW6Yu/yCTDbOjKonlc00ohcqVMNpMcGbemwWyGAaxhdp1GYf4akx983a/CM8lb+3eCX8n/sf1hHwVycPxe9nJoslLe1cxA9c5/P8JhzKMVjrL3JUzW97JaAlIVoEmFiAuB4sBP2em0HRwnmj+rfwySKdRtGX7Al4p9e8eAXvISHOsBtrrkMSXgNPFhKAVcvlyM/2CuIAEb3BCEJQ5nw+BjBItbCYJnG9tQl3ROf5op8b6HLKasAPy3ANjk1rXO+JBs/5JT1m+SjbI33q8y9JSExfMsal58KdYIzCh/1Gn7QiOLBpSKjcKh3LTqCEIPLshtBc5qEY1zXhALOHyj19Whi79JOxodoTC5OTOzHbc1f2IQ8Uw86ClsXkrCwpGc6gL8WTRGoKleocMxOvrBl5xf3SRU8bK4rWI+4Qcw4K8OQa+hqez0bFeE045x25J3ob07krRS76bOX3vTY7NelcgbmukveMflgp9zIYw6vEbcEANmfKAhxJcmA9n2c1U6dwIdVJxHndp5RpzbfNnCVqKZ396pft3AzjA/75WOoXFPnU2C0LaFxx9ccunbCqHG/rsJdmBMsGCtGT9duWc4VR1dEvBsCcxpdgo46912mpzUq0KGTzjF0aoWxdpXEyesxidge8yfs8nWF2bctZaUZAxwpwzOMzTmYAQEdNQ0OFV0dE2qOjCmgCABHPdeVz8GGfwIJ70s6WPm+4K91taUobzUY2Wgx13q581zA7veVsM6O6jrUOxKWZAQCKI6ZIIscHaXdl8h1VQhMAcA58pyvfgqN7BXrJJ719Y3C376lEPUbdWszUDPObbpjdWyemAnCxmtqMCLeYOsPf+tkwu7PVxWlG5Y61DM4kmQGAWY6ZWs4WVqWoXaUjSmgCAFfiZlcewj39AAm66pZlnq2/IvOLhYB/8BI52GdDp25RhbLYhOg2b06ppBkAsNBt1fB/E+ra7szmXFyK2yVuazevmK+D+Myorh7Lq4Hd0YpQgHPdxR4Yk7JihQ56y83QzQ4sNEaN5WBEfU8Wkdol6AHdZrq7/JHdUZmsoi1ps/v9g8y3C5uYVMs+m4ysNe0LrrtHLBSdM85e2WaZMopWiaEKJ7+YEPKsld5ip/jJMR6dGRpptYD793sfmSGJaTHXjlkj+pLGHZsUFdKKy/5J2gly0Elm6l7q8FjQMEzkKgkrd2oKhUJT3HMBajkEGU4DlDLUSq+vlRVCEIqPHgVO81HCq7lbmiS7N9f7Z6NR89BBp60sZAKyTAIMLTvDDPK4UPYTtAYvghrqzDKZH7LO8gc7iQ2kmtnWZXPpWNGoQYWjXzowdADYI7pp1q50AA/hnuqOWx+USq2jTe4KCeO5jk4b6/V0xs6ghmmNDNyxHGodO7QuHQRkGVHVQ+7t8Ce23jW2V2D4pJ1IYW6Hwy4QbwrsqAfMPTLC0tDtU3nu1Vd6xDYUUh1ceO/2fGBUd5H7ixMbvoLLsBKSCVGaxrFqsE6lY3A8mMJtZo90t2bBaFyVd5PhihEd5KsMxsFJr8Wn6b2xI4LN3Thu9y5bGkkMgqoJ07MD9rt7MvUvawSxPTA9Zo1h7rkq0KoAZa2YAYABWlck4bWCXjx/b6fMzir42tRYWv1eJgDAMmxnurT0h/9xd2nv6AUfGCcYNWIFUWP1qab5FMecrBjeWBnPdTGIdfjSB20+cdc3CAbz7jt4L8T/cfqszMn265MGVsXi9mLADU988t5p6pcmLYWj+Dq0CcX/WEaMzw3p/lX6emTpVWKjNEnywqK/fdbntSu7sQ5+Ut+7XJ9Nqnt9GA4zVMCj8P/ucNQ+qUyeNvruGugc+v6R7ebQbLAi/L2hgVCApa3URzHyr7fyiuxnd6cYO5M2WlITknLUxMHutPEY9O6esaca8N9K7BAYWePBddL/FMe/7FVvnYnAhUVkrrgPDxXftogGGIurUI0b+S6Tj2e2e8b/CnM+L4zsuqre0ZDgRa8draV59U7grzi/HJHq0WGNux+OQ8C9ZgBYwJW9qL6sWYgG3xDNg+fPf/76CsBTRK0obqFjveU3Au00MwBgG4+JcBKl9DVWE3F7j/EwpQkAZAzP2+5dMrx9eZQAwF02HdWWyR3YZIwtTVdtOqLLJyag8MbW5sHtlz/t9haxPJxVDoCPCI2h1BTH4/dyp84fId18JnxG1Af3lAPgQ0Jv3HDFtHlqZO/885XtIrL/iJpxbdRlsVmNZ8SE1y/LDADwMkomOhNhWkVR4pO4vQUfJjQBgBbX59x3v0uOpE0CAA26arNa3KB7HXs++Nrx4RdzTad2pK+Nuiw2IHrEclTmITMAYDRjxavcUJiM25hPM3ZhVYrYQ83Ympa25rtOnyFqo7+o5KHPYdnzvy78IUpGQ8UNQkgtxNa+UINtdIDXAjoMtrtPdWFkf+CsBqhOoAAYXq+WNLcJ3wCn3XA3ncMs+HrFllDynGsyrcQSsgV4avYbFutmiyKCyP9MqEVwbggZcgTKfkE2rJABgOwJiCT7DkLoAF50UT1MMi3Vb2hHAw6qA9HSF1S4UvXuEa+772n78rqnxbzKrYnUPENp9kBgXGcyv6GiQx9D3y09grq8aHCu/wyCOchmA7c/LaoH6PoJy/n7+1E7Zcceh2l2j8eL+qGcTvl3tLKnaqjcoZnkvgNPY+RtDW1DRd/ffR4ja2SPju1Wcu4e3eICEIVYD1E6LDJ9OkNGQjgduq4wONkGswnYtBRl5h0wuMkkcej95br3rn2cHxymAABfq4OaNBb3QWjQDsKoNH2t7zysTK6lhtRqtdRKD5Liuban9GHsDzwpHSGHkKFeM74PIL/isOYTHliCIphl0H+1DEJ/8huYRXaRsC1Ggbw6SvrPFJBsaIGRkA5UEv4DLTRvt23aYGIMvhYvgGt1hNNiFxmTWdXqNNwxxQX7XqmynYwFt2nUIlL98x33Tb0U80k7ADg6Gca1GuQmTnS2UiEkm3MkYapxXILlly/FFShsNgNC2N3a72kVKZ5D7VNhQEFT7aOre0rSgVTRzKnZznoQnDJTIcUu5KF7B+EjFsP3TVS7I3QhI+oehTaYESACbsVUKPAeylwgLvp39UAPXAAy/LEu1cvj/XpGa8ptWzPFpgkOsEO2dNFuVO80cjwIbJIN5e1C5UoB1omw4AtW5GzB1D5Bo5QAxHDv55lI7Nis0HU2QSOs6rOBRhLF03zW5YMASIlYaYvB2y7j6lBJHtJv/HLjis+AVKKMPX7Tl2Hp82yq0D4fiRo+SmcEbPsodxTld6pWFPKOci/p6XRxU0hQTBfRKj8++kIudi4NWsMSGtAEjLzmqafJXo6QAdY62BFkkItswWCcxZdVEYwTfncmgx06mtg+LCWcT2Tww4NYUg5U0VEIipsleGNmXb3byF6Jqmlu/qI0mxxhWjGr4owapCwbPhFdQquTSP/KGFBTBkRoxkiGGMi2Ga0dL++KF3OPe7JG25adSzk6WjajKKIyeHj08/Ts2nUeR0RhpR0Qza3iPnJC73StgXev5ncQm6eBGanlcQCdLTNLfEgetJwOcSXixaIeXQGGzB3TE9Snt0yuAzHtL6iakMsgOu94YNmlWU3oJ2fBVlF5PsJo3nzE7spPvzNpem1E+bOEvp5jeF5bzBWxDx8gWW93iQPWW6Ju0lJzVOyHPoHOL2MYw/8STxslExyQf06bYIKNLhTz9+msvM1E5Cn8fNQjIqYfJnvw0Yrjw0shCx90dBCiiUvr2wMMflOsyiDNb73qMj5Mv4aBufNPnYGLv9zMNeRp1iEz1cO12wyrmYb/+mIGACakxm06p7i9xgkVd5raTpmpqZ2NqtE622CwTACAuL9JVjnzEf57uaudGv/G9w7DagNwrQtai4+c/Qi9+ghuKNpI3AeIOgyI52hVT3LX8wRbx7qNv9cSLlBd3tgbgmm6AvBkHdv1b7YCU5qdJvyOpzkH7wQH9QEduGD1CrYwDBGEEB81cABK0iFhbN38VfRcBbqZvx+fHtMeAOrXTNjcXOI+RHzQreGusd/LIWiBM9AQRFpDwrhlQLJiC7Y9d7emJ+P2twCRxp6uTTTOtVlNYD6l9cDEe7mdeHWIIcyNZvxXgk4coycO4WcE5y/Xtjof6u+vhS+q+yfx8l88r9uSI4hAH3ZPnyuE7lW08jzKPZSAl2JmOBP2fAJtTFW9/e5nmImLj37S/qV4zAWT3FbPGBBFQr8ee+D06BHM/zswuQVb711vPar4Dtqzw+g7i+LatclpWatHU0kEs/MOFDZlmHs7/WnRzhWCjfFk7CwJOU8YhDoiQXcnK/zVdTx+Jt04G9CbA10L850zLQik+xHX7tOXIfnuo0hduxHR5+N6tClAh3HloN36LvHgVXBkrwLpIlLWBtFQz9Q+yx9Lb13/hwvccG5QtFsUdW0mu9KsE95JEoyGM87m4sUD8owwj0M3RX96WS/JZhldZzC1lytaNCv1+CZGnPtVdflJq2B5HtlrK8LjGmw5YhIZNqU1P3rufeAXwmbHmpocWvcREjbc7Ws0Kh4SmEIHu74xfQOpYAoPKOBdbtF9bBUMTky9aJ7BWJZqRr5vGwnuwDTk2C/Z6fCr9aATYLftuxSUXM4YRItCeZysOU348b15rpiqO10CFdNDUDFQ94TohgPnni3UOiogCj0KWTGmmo7XKIjQ3EjzcYPFZaSsiPROejl/Qt/YBAWnQcVsYURemba84vzpyvGnw/JZD17LgR7zFv+VF+ifezuSSL80C6LKMg8RYRmXCfsy7TRGIafOCyxShrP7faOzqOI8UNW41zwnS2JPhMt0utyFKcOaQ4K9QMxbZ11s/kqaVsuA96I+LNSAd0IDy/7zJZZe5YInCPkxXl9Bd0/YlL3GID0cj2BFnI9pHX6TaTu8zU4CfeWOR65cxL98aA9ER3rajL6maerxsEvG6bOJdvwmtGoDUbxNiaNP+c/ji2DuNkroLo85KN9MIEbSrS7VvWogZUtcAu0DvCcWX0WRm0ZNEH0RvLShjNgpw8sZqRcex4ytTh49LUb06kpUFzRv80bZlyQu+zwxnDgDFE6ofIPotSnndjDBxGfJifykj+RSmJOnROYwNJBshf85b9DeQ+SzVbHrzU0EOdEIaon4sGarKm0DlwQtQgc7wifyvdjWFjDtupPXMD3n5ve6TPwUuftyJ0iiL1sulUZk+mUAQmwEN15Se20DxdBUsORwmGg41dG7Z8/dKiYuuzUtChkO0U20lBXRQwjwwBJs/42NwvhV9TBc0e+p2FN6G4kLIGzFnIrtF/eWpoxuI/eIL3uGxfR5wyeyf5/x6/DLysM2f9fT1H34Sy1mEz3aQsLn+rOU7g5/wwfhnCik2cPgjYGtUYXtGIsQAoiXDnDWhYAxNF6QXAS/yhELjr8ge/+NDapEGIQdnSBj7UUeX2dLZLkGB7EpaJQGJM4kLO898vU+OIqlg4j4wOBluvaidGAF0OjS4l201PLyOR7kCAtYZhk065JjK9ebknbqR0EScXMF9kb3JVzMSvJ3ngGdLP/2mWnQSPm3Sd2VpUfMtsrPADMAcNOMuV7lfsK4KXSJjsVWH4B3nF3k3cb2HNjLaCYAcPQz8grck7K5HXCuAnq7pth2rB8AOBqUoqE8BN0nfHGDpqQ4U6Bl9ZcFOCIn2A1ncwWO139fzY+FdzUtqeZAqsKUkjoBsytmOwC5EgvnQFXrbO+Awsh3miDlUJFJKHRs+DbxLa8NljfwvcM+gvU8LC+ngQRQcv9qNI+J55Tb93IwZDYXLr064nf1ybkgARSRqHezpYro/d4d7ga0PFfbNXpcs4rt61S3mzrMHSalVIgZAGjdZqaV02BpxtsnKWYHu0eO7/HmuoaPE5oAAME0e7HNAlz36W2RdyX7AQAWqI6ismCr61NAXGccg6r4bwbkRgZjuPk/71zQtVWOxfbQ5IO4mCvkH+zEsHcCaTJfWph7HtK+nDAbMmdLMwDAQmzK9ObPkcaejkkbu1sa0T6TAfNvdFiZjUtzcMlFo83KMdqJHq9d0cAnzh65OIaWEyCk8RQibxzMZorlgujy3bnOu/F6d/d8yoTa8tPl8OAmwE5w4UMlieCb2RJ61c/SsTWJldyqw1zcYurFCOlJQW6OtS1hTMvySGhbEgy5sA2c3ZK7jLaxENpWsEZIBMPDla2I3Vd7QgrVft7dxbwY5t3xOr/JrvSYn/I1WCNSWJ1XDSjrixkA2FEtEa/b9CZhA21VGZrZKdtFjatbw8MzAQDzjnvJ4P6Wayh36f34MIOPg2SR/dmxzH7QFrFMfl1xzMMxu3pduNp1LNFuzD1hvqy+67MYAMjVccJ9lJzpuiuX1Vj5qeIy/PWu6jY202v5KYFOipE/N4ZzB2ZjKqfNb1SGv94F2liJgAOACZvqyryPsLqdK7SRfA10lnSGwGCbO0CSJx03WdLd6/xSZpQKTHuKCo4ApkelbE4KzFQV3pwNWAY6FWm6CH8LHVdrdObL511TvKA9/RnZ6xwzxwPF3ErVnt6f0s4Xkz1eobOc0Gt+YMIzVxW+qRjvYMwAQLfQna584o7C4RMrhLZPTe57rQ0rOwqV7UMTAPBkEaaNkg0jr/vhKNR0UM4JhavjBQFA0DzoaoJBwc4schBlv0fKQaA8MS0HweZ+jBwUjhU4clCSL/eqSF1gMhCYroBSEM6NcknMQIHjFotjwMnq7LPAOcn3bYHTCRVdibdqbKdjnrtF3fmFJMSnr9A6LAgSQPn9b2ytY9bKaH61Mjbv0Befon1YGiSAghLL3ToE5aP69OMxNfj0dTFNHSHof/fVlLbmjztWLVgdYgYAqpnhKniZBkvf4709kXb4s1ziOylNAAALamIbFZj0yqW5jkvSIADogJgoygKruj4CbHfGbhCJ/0IQigzSIK/zXqBryx3P+4m9OycWMrSB2RliRzgadCMDJnN8zVzILDhLXyOx1Hbx/RiHRJegWyIxg/WoaHj6L4nniaUfaxBx2jlG/Ks/VCzqZ9DffH61FnP+c8fS+MfjXXcT1zIvahuORweWI8NASLt4SYDlFzPVPamEt7s+E/+Irz5tG17r4K64OVMt5ftUrb0otrcV4dEqfhXRbkm50Sx3ZExJMm/QjRjRH4a5HWc2skrUcj6mFoI0lGUnnE0x8/6x6nTp0cw9Z0hPdAGs6VBlVgGMCjqldMGW7inHX3FkKN8gPtt8wfvYiMlFIMIwdxYfx9/684lHO7IvdagYOPBmWbR6SQ6rHyb0Z/psLiFLTUCkOpDnNCqqjA2gKfmJEyTPipJCYdf1w7jzm2oKbSCCrI+e/AOwqck5mdJknKjAaEmCwxCTS/9KnL4AAtId+YuQmJbgeQSnU4/SN/RRkNsemP14RZc/KRc+IZyyfsBJ9ePGRCYGPLWkOy4qe/JJ5cuVxKmLjJBEXJWsMiYn0SJf5Hu61yGSMBqk3obamYyAnxpBzIFzhgWqxgWDBGlivzvPas7KoPjGcUyFEznHnPjvr7aFIACZsEUogXfUg+awSbLe/ELoumfp01k0fyOWzegDKz1RXDvbkVSOFMumsh9/sU6WihPlxlyRoKiP/8PgBa9x5u7ubo9SLBovFRP/7bLd9j2zrd7+FxR3OYOdcttn7x2Kf748oh4Ii2YitlIZuHrAVHSCQXAzMkzQfOQsmkVgTwdnR9QpdM4nFG2z8IDNxVFqS/fy79Xe+z7Fkn3ypz274sR1hnckdbq4yLUUAxe92hYEV9Usa69EODvp2zvevq21DgAwQPDlPsW01SktRkZJrzZ3iFNjJInVRkj0tIlZWR3Lp6jEDl3PhwYLHTrwvI5PEZRKbYQsi2FsjR1FrstoH+sFwubKBLiTIeyqnMBqW3XhQHmhd02FPmeQz0isZU6GslXI8BZ77hbTH8JYlH0MslwSVPsSPiwUhtfdCWu4mDQZFq+XibLNrG4bMGzwHUk298hJd0WINn3Z3QZMbAgWsm7QnlAS3ls9kEt0ENGED4AapC/I0dFojFH2cVWgTyN5bPBfULqhn3hpOvev1HIhSIdCq+vkuL9N15lp6TbUgIEdNuXkMFqgiajOgL+D1kM4rU0R8gD17XZSMnFkJQ+OOWJI5OUUOgWDN0N8c3UhsEWFDaN4yxEDDtIBXOdDwPDs3aifVUXo8nzOcgBJSbBE9O+3MzmpYjQE0GF+lXMV2gPB03XZ66oiGDkyRDmrwcTVRSwJCdCkREiUykRTfyUs5sgEUrVa+22HMkEXwO4N2TTN2QIj6EgfX+y+BC+yBef8AyByjUetPV3A0oXOjjzVGv8TsbwTKEFOMelOEkX4o4Vc2uW8xV3LbKbWo/fwa1I76W3dvrRbmeWWHlhYHGWVlnDLKtbaNXLhwBLxMZwJ416wjtqbchvtfqpKLOHehEzQx4/MHXBhU2sbJ369S2ydwbohWSC61AfbaeFrcfqxvHG5MYEF8QIhBxELDZ1UNtc+AmhlCXTXIzchSvZQ3J2UEUlwYQ8okkL6BFX/jfiXssBzgoqLCNE7hUuNuSc3ebeY17JAABJpWZxRKUzJ62tMSCThrgIDKOU5R9Oz/P/JccL6TAUo0/KJfmkLo0tPp2Je7jCfKUzbTDgqlnNZrediNpKSJIRNmzKINE6dRGsm9sO9Eb0fR6QuWgLn/iB5AzcmsW3F2ub6zu8/KPWUvKtqQxtPnEVq9wYR0q5z2t00/yhhuk5jcNXiCi12En5F1Y+D1zeF6TpfPAFWNgkkIa1fCO+DIlXmSQ5rEAb04wGNQUFRxcHNSet5CgmcRdmhShkJMDrdk+3tobgpvWuG9YY0PLfw+QZjdb/TEwakvuOW7ajxU4QLzOhnJ/Ktwf96OWvvBT/TLR/oew0WunpGs7ejCMY+LU8p/4z2kloDuN2D+ZG8h7Nv7mGpE77KbxLd14ZXrGY6HNBcE25CU81VIXvBLwDsnj7FfDuB3O9bS9el9FyymsaCJBms94ppRAZlna+3XKXtd86snPeo3CC5HyqZqwerEZAuZeP39n1os0LnjLIP/oAnZUdck3HoLfUxgxgkBnxxiEqJ/zn8yXXbUjziOrf+d0Pdzj3FqF2Qz4fkOx7EBm6zzhNkkwRMxyHXT9i7uM+sIXqAAF0nHM5chJSVAFwEweQEVTMd7bS4FZgRL3r+dDFQCyKadkeim1lZFER3R99RAz/wMlm59v+/0dU6u5cXXP97+ZndfIOLMYv+n8ri8e16yqS+il19wPXkC06//uHIlC+i4AvxNh1FPuYfDRl4/4BQhhbMuosQ609CY671SGuylGY7K0zaWcnQ+tRr+U228AVnkzPXfZR/C/r2XaoxkBzGm13JAUU74Xz9FRtwMzElyGBe9TCEhsFSaxSpfdMClexSvPZsnlkOJSfP46aKV21yycmdLM+cXANXbtOauYI7UP2V3LRJuqLz2za7qsrRo83RFV9NqYGjuGyT1665PFUudFzhuyTAvEm3OkXAQmNAj4e3J4AU6zpjRBNF0G4F7hplJRJId2iXMCqbLwJuFpdX+pQOmauRc2coC+hAiw74dAFwJCqm9qLJMnIgPrLeXppEg+30vTE7qsZPvjfqxqgqCLRow9JkzzHK1HSe3aQVEO6Qol501cNvus06KB2y4LACc8wjhl5RBCmGZOXl+4Le2Rkt17quD8IgMpmK1+j3sBL9O6STpt0B/ho3naf8DSSQpvxVLm8RMC0UyLMC1dyPF0HQYQMHtrFsGCUoqthbpChLFN04xM7ZU2Za57X1NUGVxa6kdafrA8IBtctPPN2G29ZxvJreIWcf6tmf7VhAY32Qi/XXNlu18UXTzQGbjY0N+H3S1Ga+sYjx8U3Xqu+j6q+4cYK1wnSTJfctgeuMl8QO7v9kwW4j2l2FryUVqGr9MMpXvsghd1W4X29FjC6fu1dX7ceO6s8BsKuuoDMue1nDbR7BcHW7bj9CUHySA4srbqtH6/IHlDoQN/ZMwasTQ8fJ+f4Jra2ekfvUSY6PF7s7ZtocHWtPy4t/MHGB3eB4zhFdNcoxt4hKaJGtXJ+ezpanHe1Zk9M6F6jDFQ8Auix+6wYkXghHQT06dU23hFOUbjEcKz4amcrO46Gd+tNs1mcZ1EVN4eUg606J8uvhwL1D+F/3WZT/JY/5qeYscxt5tXiJj1rV6GeXcpqFSS0j7brU6fVWsEp/YLndRDl52aO/8NnBG303gwM1AclVASaJXHzeQRogv9/Yq8s+Av5D+ogne52ep+zTnRoxPHcEuxC8aDgDpruiaLggHJdQWT4tMBIrm3y02yQIAi68941Q0igAWyZ4cU2MAWEy5al7NAK83xgKNWUtlclH0LfP9XuNAwgXbxH0VuIZsIwocDRLTclpwN5ThkKL7SPYR9roGZunbmR4ys65IQ0Z3nQHDM+UQuckcvBHEMu0bMQiZ1BqYbU6u+i5EuSfQQ7J8u85sajlE/bmzaS9aIxe4JbI5WUWtpal33solgSmDYLPVcTyhMK44VPqSqnUKonozlMYKmuw0j6NfcCIVxd1C/3bo35BpCTA20fgYLPUFr2jI2X9rA/a6Nj1ZCFhgibYJZswABI/mqgOQsm5F24TGHiq2wkmhxUUdqQPBPOOUmMg3/OKAUOM7RmjvCDyB63uvnQDjZkZM6CO92W/MA6J1NjXjfsdpLSOTB9JmmVmjVMdjDZ5JbL51fYcBvyh5SkpvkOAt/WkIkdmtnpUnpMkPZe7EEurw7yyuqWDiAYsN07AvoKrB+uJJZCZ7UIzRHG/uNfI3pJFL/KFTNs+L2mzQQDKSgEirin9t8WcuMXv70cMEdqoaY0O3CpskFFoMYhvLMH8Vr5Xh39pv2Dyx9dOiWItaaR4BH4J6N92PsRogI2Z5z32US8v26UIsv+2SpcTKSPDjBCWYTiKNqRYOFOoWow8Yhbs0CaGltm0ip3norFn024LYPpgRnpoGeOxOtVdKiVl+zQAsImpu/dkDanftnT0w133Pu6e99Fwex942Pq+jvOAmF04PRtAONf9v3dRlugPAVbD0xf0SuSAF8dntXZ9i4lA3AkCRC/mk7aV7eJZ5U5VYuxMqXfnnIXsR+ENh5i0IxDg273bRGLpnzi0Gv0qwOWknSlACJ33DzLzoxy0ZQv6gn87g++wBiv42WGcr5XbrQ3RnKw5Fnx8yM1ZaqXfNfzBFuXZzKuusEB4NifotYYQu1laPEMVw0+Du/Z5l7CYxuJWFdlFEaD1uZBlEVObMQsD+PfJ//4CG8T24iBjU1EKDUSc2DqgcGOvyG3FjDngRyebjXTn2BUI1zwpjXFc0Lv5ObnpF0DfG8hUslyV4ttDXxGcYqOdIFjAH9tc4w/nR5yyY5aExeTnDGyeIki6/skO6AOFBtYZ2ekN91kHkLcZDbeQ/QnikW5qnq79MzE8PCcKGhxwwCAasYYjoQrg3iHLdKS9M0lIci7KUQXtAzKnmg0BYLcDdETViA+ekRs+5uuA5s9hv+PIfzxb+3iYxis2r9fDgd9nDhCWnBslk2UhY/ukcsfD6bnbzGeCdu4289WS4QrkiP3IwLbrdZVOilYnKKqUKvmgPFQhpfrt8PkGNppQzlcsX1Zl73PieDt7//B5geRx0ln8qgQt4LluAGDBCl4MiPN0jJ1I2nPBNr3dunEYdCv0mqqZlRismNXHVe326qir5ddpELCbRTApQm6nuzBVnGDKdi3XW7jD4N9tgVec/QcAUBSYk/pZNjg5cbsucHb98DFjb1VmI79jf/IEd5MUsEWI1UgE2BG4oPDeHLi0HrsDsO7/2A4AoKqWxYX/7EM1l8VNVx112E4je6idvjweoANqoumEAk5JVaYTrOsmmgcAsAccROJuC1QkM9MHaqGzhwO6VjdMCGonADUSA5/Zb1S/gb+yV8eCZPqjVjuvz83/Z6G7APvF8V/9DMYasApCY9JhqSsxlPeL/E3za2VelckifnY51TaAMJiWNjffb8lf2atja2EWuRSfmrKnyVDHqf0e/13ObnE+O2GtzBr9/Sfag3jdEi9Gq+8rxNcQu0fn2waw1mbNnbmLcAUZepsMb/qv+W51tfqdVjoCmf0qiNlCVWVv1w0AePsaQEN9XQ/5NNtzQWr7uwwHNbsVeo177JUYrBjqNe4pK4YkLoKusIh2RkzY6S7kmRO4TO16vYXJBv9mDOZ29h8A6MWB2lM/QUBH4jZl0EspHizok/obFTCHpADHhbA1x36cj7qM77oc/FMZ7/OIHtfLffoBfmJ043qRw8CbquztugCA04mL2K+H/10BU589jPjXbzm9E3/LV4at6Hn2blnP10j5VuJQ+NRsDoYaJs40CsM0ZgoAACbAbJFH/G2Ixye8Xc13RoamVpQOJLvndQAAJcQYW8rFvNJLtiJjuv+CtKbpXDtuKjwvIqysYf8Y+ygO60fnGIzVVOY/Hp4u7DjebeHfIwiE1SNzmRXbPnmdYmbaNtbRi2f+9e+dUQ41JNu3mapzADqz9jzSbCfItdb6y2tvlq/se/p9+O55rdYo7ImfrpnVN2xfGsm1rFnkNlYZKJOuqiKUteYGAFZI1TRFg2FKueHwFTkRy5JyNFXWhZ1q0JfiiRXS1EWYov+KMc4rUpdM+pM4KY0ytEIEACK8rJUJVt0FEyVaWDl3+tMWWKCBh/sHALQO2IakHyf+s8BOobj0iIXKQQfH1J8bxWOyV9VRTu85KMqcY7wom7BXlgt813aEsDeVn6QaZnGwxRl003ecc9FYiaE98zEErpzpD4Vq5sAPi2HU3zAiwNfqyw+7+bBa4pK5q8YGyeBaCAZLaHiNRVy1sUgFjw1CwZMPmeCx272CanVLb0qz07Qtnz92CASDs1ANcWA30sDVEQauiixw0Xn13EgCOxAEBuWtvjXzG7Yl8wsjBAzyabCb6kYCuA4CwHZMCAfP9d30XFhguNt+4dfnb7PrqU6VErLtKGFsu9Bl1UjKdSEasBgwEu1iKC0DVixBsBhaTQEAYClwdrHHTlgGXNjRjj3mlEtem4CpZJWMrVOBr+3h8gCA4xh0ExRwU9Web9WnvfklZnrVXJ1O6X+iHdsnbToscAnaGdbSB6npBDXYWKfCFh56Sj4TCjzpKVfN3jJr0fD8MbtnMfDWO35zQ+66inSVxbVpv96lLqP1W/f/AIbOAa7Cerw3A4uZuM5x0ZC7qsLEebyqOQyeKFV985+6AQAVCgF4AbG6mTGwc/3djauAuxYCIAELZAGohyRw5m+FVsUQAYCWoXVBE2yqN/y63hPu3uDfXas1KnQd/QcAXIY8vcmP1xbORTSPAy62J75uXXYFLs/T3xrFtdGKUjxVkN50633eKUv+BKUGo2Kqw3PrAacZetg1llzJridY8qLGvMdLVCPWDgCkjKUh4Rual2gibDcS1AUlKw0JpC6aBwA4B57j4dC+ZXVgtkQGxQZX5MDcqmyU5cBCqgE1cmCrJ6BYXh54z7es/MIeLsrLlCfnM7SgUoMhvKOGi1nZ0M+Q/ziDb7do+gXqtGBsAKEcveO91S+NyMegn8h3pc/4AZ2aEGsWbmbZSsqfD+BLM/6MofQr0KelYwNY83A5S59SdG3qlZntbnoiAr3aBijE5KrEgPYOUNaqGwCY2vlXGpSbO4WSUWY3PRovES2kFHrgiop1VA1KMQNJ1ErpvochAgANgRc3MsGq+i7PZE9qVg/8m2vUaQ37DwBoZVQ3pZ+4UH2daw6BGjArnthMVXWY03sWphX2Uu0FvkHvw5X26tRAKbGHQhzboVcJ+Rl8eocE6Q/5O+8pjtTrYc1XvFDMQaSTvIK8tQ0AQPOp2nnbtGZBVfKN1h+JzYyoiujunIHWlsIUBqScJc/fFUjIdMoQKyBhu+QsYkES2ojBCQCAaWnbVTBpMN9IUCk9JjTJPnBlJgmYVZ3cQ3YAgNkCRSxJKZaUuPLMBCgxc+LEKLGUJIwAjOCwSxyY9+9vwgX0KVCJ/yNxmaDUk2JfVZTByARZdzCBlzYjKP/OzvvwVW0ruwwv7xrP9eAVPFJr2ZPljFVGvcxghgDATSVI1FOoDV+I2Ql13eYM3SwnRyQR6pjyfOcMH39JqCp1rkAJIFS7gwQqRkHPQxABAADoXe4zViIKJDy1N/DftJsmpk0P/g8ADMBzUPvPlpVVp25lm9tM3cqMt5m69Q3dRiwptS4FIn3CC0MuWF4T81EXyf1XjXMd5PXs/vmFK/1ZtLIbBGYuf19wDZQAYJW1UYuaLkYtyA9NqMIxlJ0RyeUpfzsYFMvj37Ou9xdcYOmxMu7DPC/Wj0PhuLrT9u/Xn3W73X0nCfoVkixi/L3iqNoObvxXoIuDYGMhFscMb3y+l3894DIXW283uROEQfsamgv02OUqoD6xS3adTZNlJezeZAye4gFsSkN4mv1TAIBpU8lRhM8rPYBjhe28ZmOuW2mKKqDaeiufM/blAQBJerUcIutK4Nw8kBt1lDETyM1Nss0V5I6SBqsLSnunoqIKZbpwDvPBHSiNdXSV01rW6I/Dy/HRJF8Y/kJ8QA/dL8ZX/XQzTJu6rFfYQ1mPKGG+7e4Deqi+P25Zx7rOpbrTVdk+QwAg1+C3I2FnAQ66mThgNXx+t2vdcKBPXBi8eneNQ4C6kAR8AKdYhNDnCu90F05TE20viOXgHy8JlhTDjv4DACNB2738Z2Hg1Hzbby7JF954Sb64veyUTiiFE/iuROUKVNqfpOfmIhKmki4JgYTZyUCJglK7x91gGkpXJWPBCpvuzLUDAGEVFGCPfBELGzDTdhEPK5EHK7EqqgOrxPIAAJbTq6qDCiRuakC2ZMYpkITO9ixIr25ICaQxBJXKC/cPvTexZOEj+kzmFPHNjYaUHgxBDTWsisoiCm74y8x2nhYupPNarQEEMPSOQU+5ZXWN9M7g9wS/IwM5PSHWp1sUEzx2rfTN2MDuNyfk86qtAaxvt2tLUy5Yx5kHM80n3t5AZh8plFeVKFXnrNQYOACQrn98qB3d3BAQwdtlx/plHQtR317AothAlUISZQEdswh0j/+/013o2oOiZG4vmpoN/k1vZkMtpiv6DwAMCM01+c+WRU3zOb+5Tb7ljbfJt25vd0oPCLUu4A4IR/pVS2OljG16w+eK+gbrHafiId/de80H7zfNPG7y6yITXtaov45RhrKreBmY6P7j5GTM3ds+CAzcefEFzf6vIo8AzNnyeBjMUO6P3ScGqZDkgiOwEVhQ/JzPwKcoflhQmg6zj0idfXJqrs3yhOju/PPVJb+anY6+XiYzSgV7evF0DxveER4PKvYRprnhMpuiUsAr1Y19XHmq7EzGcOkQeqYT/T9KyC4DY0Svnu4RTbX6LESa8mNaWfaUxtsMaQCBskGwYY4Yehq9RY6VhAJvyYawRmlJgoHahVB8nGxbtYqzGTMkOSdvfVEqFwvhNkCvHonEe4Bap1IbJwJq1U9T4Gb0Rirt8tPpliT7i5KDUw+bbheq0GWEyVErG1KyH4ibQQXi7Ihy/h81/iycW7RwwsDr4DYO9dYm2ZgOCwGS5Zu6ywxfa3YlXCBxvrpNzGg9RiAUYHLOYakXYB2mAXSbrymcZ3SMjRT+HFfMz6fItcwD3NiXAnAF5oNtsgPw0x4WVk1qgZzYMo37/hVAdsDYpV7/GjcAf1WvUnPfYnFGZ0TYmNU3qAjOK7HAd6CVqyjfmcb1tLj98/yeDhdtHISKd3IeALYuVtM4t1TLcM0XtIsBF3iHDlOS0tGgIzrPPAl0nM2HTzcujTjzfPSSISdO9oRuRmYRCXr6bDhlxxud2cnW+1TewoXhewi1OuzC4DetenrPX8I/CFfeDP08y6Vc1SVWblxFLZRVprl35KSJqCmFn3HlIErvMWaTuAmT5HN+7x+BXYAI1Qqt6cv7SfHIsXhzwUG9YfhXQlGP5KEZQgzKKtqCkJg39iziXocxFv6KStI0VjJF1nin3SiuXRqJrxvvL+4GqmJfYUpvQuGm++psoJAfyupI9zWqZm+ZTGm/IFpAvgNmvoDAH3DTXfu5KwHVYWzhPADfZGziFcIgwG5XbEEzIURfbdjGw2bEtu4fqZu4+fNnwznldYp+OoKIF8fowBYAaAOKKgSrxACELQNm1Ns7CcaUcObWQaxo70xgKe3954o5mN2fBa5tbOyr2daZsCmbdyuEPwkb6mA3VcTESW3MS9xe3KgEMt7gB4reNQoto4nzCzfPMlFP2loVH7LkiGN5jIKmjDTxd6RfsrQPuEoPsgcAuCP+SkYhlVysIMUjEhnl97+2SCSSM03MX2CoZzeRYe5IR7avIEayR3JmFey9XDbaSLGTjlRmqQA5tLiqjlSpJICcAU+2S11TK/AkVGxNHQi8iETvFmZXxV4x590E2Dsjj22KBd7tGZvT7HA0G2libimK1HCwauTuVQ3duaoJdK0qfa1gkEqpJz89WmO0wi359Y5BjiMKwcqpofztYEgsfIBPidwHuMt3hri9/nXp/3jh15hG2jt5NXK/VAgmHqjAvmPBt53Fgs3sznbblWBXqqxidIF1UMe9KRV1nMEuLm6ooPldWMoXFbtRjAMF4DF8v25DHDoDuP7FXXndy/535/NampGqgJvNAi8ThcyOCF52lbJ33OAl/XS8cwt54jbskTTA6yh3bCE9R9bi3BwbMUPYgSZEbLmK0Wzzz0uwdPf/pWIVOCIH0IcoLh5qt+HRRPAgndo9rBVWYSE/jN+MF92w6Zn7VcnTd74JYPVlZndb+cfSjPoB6F+AxZnabPWoa7Kgol++iW9X47Js85iBRAClRVPPucyGd+zQXeRgfo/oJXF81T8vUtevZpf01PmK11F9KWFfAamJmAAA6QYGdfAxjZa6jRJwV/+JhWHpps5YRwwrSAvYLQxrlCKxsQBI1oatUa+d2sJcc6I517DS6TwheCmpMDm2BwAkmde+dRbSp350C4ojmt4CNfTEwf5TgYNaqdIQYE6sYOUgVgenjglsREld2pXJCNMTIJwxdsV43sBLrLTS6rENOVtFij8EAHFh1xPpmyWFV4G7OYDZ0SpXxKZxw3tU5rPvvgtHlrg7g76RmdWCaevsTcCoFcQewNABsd1ltDXtujoIEEm9lJoJ794qnsMwWn52h24AwRethgFVxfcWXz72huLOl9pxoznrn92mG8AaefV6tlVU1E/iEWu6/GOVTtzaePXPhUudqms3TOz7am5ZDCMWXsMLKRMAoAJvUw9nZDAjJb6MAWG41H+2C/fEBnXwXJQEwrGkbVOLxXpt8Q0p8L533+XWBFfbBHlHjk0BBABpuLX5gyNIdJtjMOuJewefRIFzUSmGqfZIAS0Fq8ASpbDmWzZmtHshFPrZ+vzYnP7R/tyRFDiI9iMYpQGseSVpsqsBDgyQH4JRsYRBFVP3dxwEvlGAIQGcvSO5cT27fQJWVAENgD1SzhiQHfkAAFzCUFsJCz0FrLTZ+3RNYGgY//lovwAuv/btgVmhTiyzHKy6moHA1qNFVjFJTpLGi0tZNyT/ZeNCILkUZzCPGYFxYMGsqySzTDkvO+tVzBXEVbrdWAt4IcuGTOSifWBBBTvwdqjP/oW2fF+ix0d+kO+8BOt+aKl7+DeZa654GLrlxblhHK620EzZzU6mS3xhJ/++Vhf7S+u97kl09aJ3VIW7hPtx/tzafHVuJQHWI+2Vjlq4vWSpMRMAIAVMj04fD6Au/ScDww6mzogKhj1OCQgMlQnLdjiSWkAlIgoAqBqkoIhoUqKovIqS3S6WKbb9jz94gWRd+QC8ShRXKxnTBgDco6tZamGJBnUb3fkJogubLZotg01JcevAprVUu6i95MIS7cnRFT0Y1QLXqMrQ5Nf9iYaqwM2lJe3S9EV3DZ3lWWlQEq5h2L1hmgu8gvAeGryiHjuA4soRiADgIPA60ncciusJ3B0X2vWxlauhQkA5s83pvdlCb2XbeZ9ohTu+beYoU9j+Z0zKBE9TuPuf4NgulSnCrtSDJyrT7HMCYh7o5KE8pS8pXDRlg1eKnJQvQ7N8N5j367n49AjjPL9wuOr/uKhCv1o3ryg4+QwXniWbGzMBALaA6+Ye5xGtSRslSIkBRm3byJDO5BlVJWDOVwpNGvJaCritkUQDVrEI3w2oC/sQAAAhA0XEAT+CslpuylslXnBchWdHtQGA6ZrpuqpCYZmLc3U+f1ChK6IZHWjBE2eHGCcO2uRSU7kZfwvCmfKu143JqF7hrJnAsX0Y4WzprrmAsx0inBvWF46EdwEwOj22NEXiCEQAsG5wZqTvVhSzDtvdEXua4irZoQcrzVYF+GYxZpLuvk8Y0MPt5G98BzX2MgM5qCPLHslB9ymImQLdDIhNwmjrcZOrCL7POHy0yY9Oqis4mqHlP7rlNoAYhlbktr08wT6YH7tpcnP2l9ZhRbb6fdnqvtsAVmyr+VZEQgF/3F6RTdJvy1VBr9S2Xnuz3prc/G91cgmp9fPtUSzsgftSJgCAj/FUIvVR9hQb824TUGr7VYzc28/6DI9igw58EiWxGNFRG2+8abheW9ghRLA3qwLp3kSJfBjUBgAqEVusrBAkLtlFMFpaWN1tSiCnM17BtZttuoCxd+0dKQbNwi3vz30jBl0WYX1R4Xjc8H3z1RiZ+W078pyc+qn2P/W+I7eQVOr3QyTRknSPIJMM9krZ2fhNlKfVf1wXhe6JPZh+7lkbg3uJ4QmaSQyK1kasgHlOUEqRbvseSjS0IEif/NGvYulh1vWiYgb0qMYjLwcj/82gGI7vEyCK8Htzgm5hSzQzeqX0e0MJfeLF/4EUEgpfcQT7Iy//nl8GAGjX/KoFGU+tNNhSn8Pjth5u22Ol9e41bpf+c+/p13Rgh8GZ6wZ25SuP03DiNRSuWshPh5nizXwAAFO7GMVIVzQCT7sqO/49wzQzfFSDyM/3fLLKKAsAsNhPqF1ULp2eS3S2I7VHktm50g6zrE6XFFfPFsTja9XBbxvsS7pTb6uH7Tqnt1apF9endOnS25xcNnw/GHBeNHlN3rgeR7qp+bHYK6+61wYw+ZaAwOqlw+DRAKtV/Ma3flsPI34n+dzn+h3jIrWbniK8hl2TALJ1wJ4Hz4434JUq4IWqC7sJhrTQqHZUhFq7Avt9CACApAUVkY5VW3SJ3ta/SUQfGMGX7TViewBA31bpJm2khCloH6xq94ANMFtKJg5ugO0oxLisjzQlsJhUCrihfokl+Vf2woZbq8TycQFircKlzTrp2hWhzXF6cNc9RixKlklXoju9lizLjuQP25NVXeaxWwJTzFXNvyl8tePtVvYlT+ea7f/UrLut7Gmy1sPkG+aZhn/+ufjEDeL1+m7SDY5qXJiLgA9ZdxEQwegyp5JZODogSM+tvxzZezH6sK6NiC8Aqc+08DjaqtcnzgM8wIlT9ZEez+rVa19gkxANy4S3WPI9Unl9UQCdp59TqeKb0HPEKWv74kzJ92+XgFQrhnYhItffMBUxk5Rwjoak6eIHyksrnMhBcaibGzxbEKDyZwwTP5hICwz3e6N+Vu3DJwPYz/X30VzoCBfsvNnVXp5ysJKd37HOlggdDsYYpld5R8ETndLGdQBNEQzIwq6DuTtadyfN/+4WjOurN8NNjjhdOUzqP+3diS2QMQG4BAhoF58Zxm6Cq7so/9QOpKpu3ZveUquIL2HDywijFsi8nwL30hZMMVTnBGPXxjA5ZeQHGt20MCR4Swe6AQ2KCBo968gJJphLWk4fSJESP1tCmkV42TPp0NzcAaAGJ6gVNENzzu+tEtVMXx6iU6KLagng3d3evSVCBW5R3wA5NkOjUCAMU7bEB6TTOoXgtWc/mEaGV50JgZt/6sdYoxzAtvNlKLnQTzMVOLsDQP7bEYpwXnOrB8iQuuNAf2iuj9FU6BQTccY9AZDjlfYyJBGiaE4aD/JtypqZAIy9r2Zx53yzJA5TLf+R6pUr9G8cGH3kKtdzgGUddRiRK3jHf9S2kX6d9gb1vL+pjoHQlg/T4eFDHL+5f9XbB29N8nZ6dolinY68iUp8k/7jskWCz5VHoeHdDj+6VsO5wARojbtfnB5uZtM5Hp5kd6t/Ym99ysFP3RL5+rluC0G9bgERl3qzS8W1OjzBds5eI7dF23A34EluHiMpVY7bzxt5CXLyFKTiLaiYxyBRP8j5jy5NMJnZDp16R7/tuB3bCg+IAD9jT7fSiVwNqbkbMvnLycnttBB0z/1QEhf0f5Stm88XUQx/RBY+iZTOSDffRP38Ez2EjyIbP0V0DeOrSvXBtBrq81lF7WWhOsef72qmDS8YmfcoA7ul79H2CQTHrahHaiuqNatXho3NZ44SlsY11iJ/HE7VAIPSmK5nibEPT+OgJ3FKcXUeMMcfXYelsQbHbdgchQ25a3Chf4DaHpWHFQk9sAcK7dGEgUMwADK7d02BVFVutAzccjTdGqxaf2TNFlF3NIlrcsILX+uy4572RTgM47abWfs9MU2vIMPx5X6V0q7EGpwr2TvDkjWc1RO0u7Tl1AnJynTPUlVs7lT/iRAASPXAMmXHlcAtIEHdIoPMxO5WBsK5Ydk5y0C2wx8GlqF0zpDYtCd/lKdVMYXbHMepMW3ClG/Py3IbJR/qu2j8bab3PA1DeKuPRa/8am+K1BPkJMJQOihh0GwcBQDQAkjJM0Qv03gnSGA1/6MyzLSqY+WNax/tlN+NuqAM1J66dY0aSJHUEwHbLILsxtztQwAAJFcPJ3LXFy4lULX/JhHoHi1Kie0BAOhZl6VaSWEv2ofFyg7BgRtJJrstweoSYrAr3KCq28jRrC13R3D7V3Ype+oVYfYoajz2NBfpcGFep2zuyo9DhCc27JaU3SYWNANit115fcrmcq/6l3zAeLxS92r2JABoTmEbhVm7AaAFQU2V8LWTOHclm9rqj/rWduOr0zarI1eZ9dVUUxXihAAAE2BcvVwX494Opuxndu6EgDobexCiUxC4hhgxJMZrtjTTHC815hvtc7+I/i/5DJ+uofpGCPg+6BAgdtQr0sQTXoovxD3pF136NUGnBBBU/8jM31cdAgQUVG8+TLwuKa/tk8tD+yHR620wQfU/FjvnVXe2oPYbAW5X1RGejCgBmFW8PQoAMGezEnjHPcSSWK+NEuqi/5qL4a6CZzzM+9/APWXAE4bXo5F4My9RgmpiogCAmpC2kRDp+qDe4kRiXwPbq47tAQB9U93stZEScq19sKwTODbA5JRMXLsBtqwnxvUmhr7bsOs7ZNONWKS4snePtlSrxNKKP1HbrqXa6svipanGA/s+Gv7EVm7DD91jHX4uB8hqyZCJhV0iYhd4WU1208DtxEsAgLvCuBu+wZ2gYh0HYRr8b3SEvNc49sgjx6kj1um7mXHWW06WtOPrZtV9ZStfTgijjXwAAHODmUZSlkEHAu2pGkjBgtezLAAAXICIUqJE9kHERDLJm7Jvqchy5YfFMoSj6jZu9UGRHvVnyATRNdLN8Bg4m6IB5YSxzcnXcz2fjFddgsfmrbMOd1NfTcCxaG2/2r25j42wXBNhrBjLF2wqjgIAbMSN4+ossgEDnADKBM80DSirDDQENKWSNAH2dNh2leP6Lm0p9GiiKKNSjGhlMJGZX8AtvZ6HBwA4vaAU9aMUJIt+U6n/N0geS7EGd5RXtWkIaW7EVaft3lKtkrahA3TZwS2dDEbvD5p17S7I68QaTimx9vjOqUe59ukbopbjY56MFI2f5RfYf6eDWfUub/xpgRDY82Lbug8lEY7sE0uTGURihJgpBpbHLwEgJJ49CQCwbiyynLUbAHBlCIsIH0u9fIlzYinDdiy7GXLXVIVBQTAzSwgAYLIQ2xI4ChvKqE1c3XoaI6slchfTNshdHMKE0ldTY5GP8uKYf4G7BMLZZd/vOJpP1y7rK5RP9l62N+jvgMdCB64/tSUWFPwqtbG3e8IiVMIs5towsBxHAQBYxrCPaTpBAodigJdFCsdos+Ko61JMq1t+h91WBkcCV82RznMxu3Ht8gh3b/1zHwIAIMbWRInJOYOJXCxnLqoNAPC6AEG6oqJi9aM5SMPxm9qSQ4Q0OSnWdRGBhJrVUjpQ/4101/7V3b1gq1VyVTyKuyXB1lgs2RRcaS5XWbLpcsJvrg0k2BBcR3YFSoQrYaMYiEgSHsrAELNO9CQAUKQlLrN2AwDdi6V4vi9JjeGCUuCOGUhVrVUE1jsobnBY44QAwOW2JrVKXFogyj2NMlEiN5i2RW5wCBsKV1NwicnUEzm2PwcDb6T7Ai3dkZ/qT0eJgmSnSrbwTL4rFqgqKrzxnnI5kQIA6OAr66MewTRS8m4K6BEkyNf9Z1fwndjgAN+LkU5IfC4kCgCwnpSTUKBEOvnjUs5uTyygUvEAQBHUEZedFr6WFrEmc5+4vScrQ/wogdOkrdOYV8oXxnUXIqTVu7qb7qTdSUe9ysjJDS9dw9Xb4HQH4rreFqiO2jCgJ+oRwVwCJQCwyXdSdwNAHax8n7NHQsq5LXfx67yDBAXToM1q3MQKzSeiXxeH/wxedXZB/+hPIQlHcAgQBJDejI8QOx4v5U8uYvTkE2MSAJD++o6maGy32qg/He5gezeGsRguekyhFABAsKHqTVY24MAWVjL3oOVgoQYNZq2kUtRBYmO3bVrK1msLpEUC0J5IIMl4ACAHUwTkBeA5A9gfFxDi1sD4b5DPeX+hK+0jxFqsJDUW965t1V5ROjnc//RXog/Z+JHBjeS6ScjcVRh3ZxVvYwIAnAC1Z8BUWkgdB2F5/G+nBkJyIHPBmekBcuUrhwtrzjUUpuLLx5Uo+JPZKf/Pu74/FTX/T2J1H6CrNT9W2FupUXVKY8ZQ0jLpySsJvKpgzZ3AY+ZZAACWC5wBc9nLrawtiavxmZfVrt6BnRNiVZWBIFTc/asqVccWsUmr/ms0Hi6nLNX46FpC1USmNVp1NPlVf4LJR/1N+Zlwrj9DJJYJn+6R1EXDj+I79eEj49TdY4S77+5V3RfGXws35/pNCeMGwN0q9qUAAN4gU+8B13cAWKufl3O/NHy2ivgr2+YGG7IlR9oDXHjeNexhmo7M8cJ23VWn4JQ5c6Jcz7qrhHru3yRCuI4rzAq9kXgAQHQqqZIbUT9GzigcGiWaptdYLzJUUmxesapLhvt3xiq6AVvN5vojBCPLJ95Onxs4a424QAiqWnc5AFX3vKd+kxjaDUc8hHkXEj8+aBa7rASRvT3xz1R0XQbXpodzgiEqtuUC5xvKsJoJlwzCo2joqe81fCv+8hzbaHpO05ynRanxaiFjHxLu46fu7y3Lqnppq8tzgYeNpyICD9Xr5cBbhM/ewAcZL2+FfgbNOF50F1wNvYmLBtg5Up6g0WkCziGJIQMKRVkR+hJ97AJBbT1JnRye9GMW/U94XqIoMqAxRPWQguiOvhWIlg0UU4yDNKN1a2nCfwvFje7oZkIVWXKZQAQ0wQcaLzSDwAUoU4UFl+2JN/n+00mUsBp6CHHdGA4eni2LUVbvhV0UVdCy76TfXpru3nHl5QgCY1YO1K5QutxOtwaGTclcjTl6EOxs9+ZsGQUv3seS444rrgCDcQhceKArJKbnQ0iUQDDYRI2MXeAzvN550xUNDqFR0C8LiEoKQofbpY88IV4+YEXjOmj7MKeAXK6y6wbtLuewGtJUinZAkS7EL4so3+/KKN/PEuV7/OsONb8ro3zPuT0TUuB/w/ktaYQUMAXhWuOlkDO9eOzHDWj/lDgX3x2UwJChwBidk8SDsKcdkkfhLojyfWIZsRph71OS49ntiYwcSi1PmzI3yLN8WIdfak9mh5WrujDuuUrWbkDk5qBq7e5SvhTr8iEpMA3EuuClu+tkqsiWkU8Dv8w5sZ6DQldI0PElXzsSCIjONc3IOJ4KF7Wfl1m3P0hATgTpUCqo46EXPhbRqOjlk6/7Rzg8UmVkJnzJ94ey/kJCACDMJW4m9kc1+HO4iEom+94eH+725zJBMWv5NI/IDtBZyzd85EOgyVrTtdcNVw/WN9vcP/47E8p+FZD32AmoWAOBI1Wi9LLrNDD5/svVvPhVKw8WkdV3zV30qo572XPlR6KuTkqAvICLsoPcFxVa6prrpMaDAGTlDXptAx73yYTmGu4MfQpB6HJL7oQKYrBVa32aFlG+Qg+VdHSiNbcU5TKb1U2twvmInXHFgwca9t48CgDAPsYqCsSqdGYxKlP/qe4FMHYWdxs8cyn/FMDVysAVwEWV5FoydHwXAMBQuD1NNHUjH2wtDh1K1D7/gWdSw5F4AMCSTBT/sdaC2bVVuImmtaCo3tiSJd+2O1JiTO+9VVB7rZ2sPGDhhqiWqgs9dUPOhijAyUT0Ejh2QqAGgBP9sLowyWmifvn8uwtjlIXLTW2r0+DtzpMJAOozpKaPp2KMVYuKQJyd7X4HXLgyW3FvUCgdjHZ4b9fuu4jEx5nVydg6DSoyvMGm1SpbbWw6oyCkBlnwWVI72VpTs+tX0GnIbTbvPeF7HU2IifoTXaAQ879VMUzaK1nCp7t4zF51u1EAACdkx+k0t1SSYgGucNxyitvrP3Ot1V/cFRu44K4oycVto+7/8QIARhRYIpRNtEThShj1Jk7Ii849AGCXlmUmxW7y45NqPDFP8pk8sTcKwp54VJCJpXbgUuc9d3qMJfR5//ZQLJOubIpwFWz2J45AICZogpQXRtq2XklFKWpkYNW7bZDPpcoEgA2IdKkOOUUI0ugyssCd7oUycRU2EHfisJ9T023eTitPSCH6dWd/ACGG6B2p828e0Z9X2jTb3DRG4YXU3gHEy9q0DtstMBk2bEIpAMDAmqqbjDHgLji7/mxdFuAayTZQYm0lKbEK8QIAhk1ctAu4NXF4rM+5BwB0o1LNpFD0R+S9npMATPG1uRWF0dfTl1gZO3AfYO/f6BrU8y9qLu8odvL/eCY/tS/wEV2+qmpP/1T7n3pc72qbbFfVKXFUmzI0LGbxDFuj0NgOcon+7R6rTOFr7whtP7N4WpWC8YeV89xqju953uhIU1S/Zf2alwN9PksiBwCA4Tq7pbQyuoODX7mG1WeeTrQAAGP4TeRyXQoY1CUOfOYdXUeaXskTU2l6rZhIzbSrvDcKyvivq9sSBSkyP3CUtR+u8zvMIfgdLceoD/V5NkR4h9CScmAiBQCoYtwq39CHIbKDbhjbf7voV4U3Ws9cX8ZLHCYGo4Qy7TnOdDCqwwDCOJHeBQB2mCwuKjqOpSVE9yYS5HAqHgDggp34hwVC3SYXxHTGAoiNpURQ131HoAvNBBKo1ZN0tWehFjyZ2N4ApBICGgaouIuxcf0y/bsLY9QKHExt0xHI63kyAYC+hWju8ZSTxdKKIuBMq8ikAy6wVqvIav5EO6ipUUIAYKrKr3ewdj0cs9ENrfY2+ZtuZxouvufxhffDbHge356n0IEQGwqTqQrQ4ZifxzCSC0AwysMy90yJD2UjqV5mGAcqau4f+bQlvPyMSnh0owAASpyy1LOTk6tiQDVfc1VsPXPlX69kRwxGJTvic1vOoGXCFqUEINFdAADb0BSoiaZZBlqupRqHEt0T3P+ZpDgSDwB4JdPiLla3DPMHvaEYr+ld7UbJygqx0w3bJTeoOSUVFpid/nU796D1ilPo/7cZD3oioVjMCz19qRKKexu9M1E4TUKg5gLnE2G1a064Jmq1T8Lf3A6jcOuJbfUMVlWaJxMAhG5I7T6eittYtU8RiLfVXu6AC4dWK+4skVPERJFCAIBXacqZY32cTZGmn1FTpM2zRYr0cggZPZDdU+ajnuE/LzacHZd6ExtaXr/JaBNN+wMDW7hyyFQyOVIAAKURbH+0ah+NlNxFAW9Fg/rc3egdVd6sWubyLl+Z85lyOeUs4rM7JvilYkzkPQleAGAAb9lFdUHbRDxlXeKkui/lnEA8ADBKKJOfXUChJMR4zSlUMiX0+eLayHoorGIpNDjrXdFIEtDr9RzNSXdI4CojomnXToMfUo5bnyg/SpQASqzMcAnRdjWVFWX0nd9IrdsR76RAmQBQSih41FGBah1c+bVEUOyKXPEcFtRfgHib+ECDF1VEF2L6xwK9U+sDiDZE89Q9L3iR+WPdxJIreKUcaYjRHxb0bMhwhvjWMyOFUgCANYP90dwONFJmigF3wbkWNMKKHBgG4jSwDvECAIGVXVQZ+nxBfbYnFm/BYDwAEJgiICwAzxnA/riAkKkGxnzvOxG/YK3mX201no+g8aJAtJg3Dm94fNf39LO1B9dmWT5vQrxjV8dl9hChZw6aAACGhdwGPogBB3wsL2WPdCMNvO1piozbzAkqZW8mCkPZy0lxqRblzgcFD1DV8l7TNX9FF/XVYtJHYy9PtdykzyE81z5X1xyRYxNLGt7VSktCq68/HtxHcIwEkM2a1THfiuqtzYuburzSY6LaFLuTfSFQ/zjTj4Wvur0WhaKvX2JwhqP9/uyzQ3r2PHs2GhlGMgBlZdIVqz/u6S+UBSM5AECIiQuSH9+F15arreUuBmtuCmYfy+uNswAAKkIaF3fRzvbL25G0WMnUeZvmvSltSiHW7fLRT6WdZ+q94EbJrUX1A78vOxE6guSxgaDDxgohF2mlvvKEMgdQXIacX0G85gZaoLHUG397Mvigu/lvU77gBauNMCiAfEF22jG6R+elYWkeNbVLwjZZh3D0Q++W/OBACbMnZqD2iTBamAl/mAySJtDUixiS4E5jhdyRfpacw/IUDNg6eZ2cMIclls40iZMEZBMdyiMXQitVBf1rH39sqTUv2ZNrhisYBxVblnVwVE1c3O7yuliFrFR3drK/cf3qXYjqO2U9DFZDlDqOAgBIvoAXKj3AxYg1HFCscQ+AXo5h/u2fpxo3gLEud1rbRcqLD6qfDW21jE1M5MVlkg9ruIC+juIvDbJJ/+8s0fbfPaSkJ7ad7X4g7SAh8suS2dDc9iaXlyOsp8s/kX/7+/+/gjVWbangcF0bRjq1El5GuLaVXE64yzMAn+2TNeKc3wUAZEPeufyIs8eKtqbfejIWoUTztjcq1kRH4gEAyzvLVwpg/hNuoBMp7D6NVrMewaZQPI22eINEQKF5GoftOvpmiTgj38jsIRQpXjCBDCVhVeJFTA0KqNwaTJzCSj49EBdWmvbCScn+00C10rZezBAr3YS2s0fhTqRMABgQTCioe6TINCO4WtAMu99aR8tWdscxPmmbcUIAwOVyN4IstsR5Chrsysw40LCis8cLDQkFMSlolZky2xElo5zE2SXIcid5HodlgBa/Xntxu1TfwkmQrNv83ARXPSs2qC5rqtdDYS2plhk1kgIAUBC9zdODvZLcF0U5oMiZYYTMOmjbXIBqGQSMIV4AYGGyifooQyWg1yXuJ14UKOceANAIbzeUgqyfoaCvQBnNFfBSyWCM94juJQD0nUBMd9LTl4A2Jwo2GOG8aRe7D7hkMpGNAXZGEbgyhvZRu4rNtaD2FKPrQF0Ht91FfoyUCQBuga4VVLMpXBsaNAGlEoUS1kxnqnB1Y3ATAgC9raISUCZu/5KrwBiZZgF8CWaSPZaAJhEG0k4GarqACS/ICPdwNvtB/ipyXpFO6r9m1Dfa9q37dIBCkeGGMZQCABA2RL1BHAkkTG1zC0zLIGAJ8QIATbabRXMHTHvi8hYdjAcABDQBMlCeUwD98cIUv+sAe/AChgqA8ek2u9hdxp7dwXnk9if2xjeJWULgUVWnsCJso8KKMK4Sr/Rt1ynlcKBMAKASDjxqqUC1DbYS90QouL2Z+IrsbXznnoX6Q9FY8K/Yhz2ylfqGcL9LDwSIdEVv7gCIFHrA8qKL6fkl1EckyhX9n2fjWed5XMl5ZLhgCKUAAICFqhdsSSBgbJsbIC2DDXOIFwAoYKyiqVlfgrQnDlDJeABABIr+iBxnNJsGvQrAFKsA6fvC5F/TOn/WLMT8d8OftfXzbgRqbeAfL4b9ccBmJ3vwK9trrjdZG5FX2BmwPrOdlBVgZT6y8YgJADALTHXfMI3Z7I6DwMIBIDfsEg62e+Bnj2wU9AEKoPHJVN2Z8vdu4fXJvvBAA2f64hk9IPijwpdDdYE/zP/6ipkddazxxG/76rQaK21TqzFcEXaqFeE6JtNULdkq7P5JXZyqUd9g1bwAmOCLKjhdO0k3rZVcC7l0XtNd+lJuyrWtLzakct2/tpfRe4ilsoyleJdV5Zs8LeP2N5oWxTflMT5Qf64KLF9L9PRjl2DS+XH30ZRquvyDc7/Ys1YBk4oaKWHNAbrEUQAAVwHh8PRMN/3GiDEHlGY8/icmKq65sBwjkNqgoKoAuyDl63Kws72dAEBAc7TN1UQLFRXUZKuDiY4H3NVz3rF4AGCaXNv9ubay5OQevzlNnuqNZ4dh8tWkZe8T8oX/viFfcYE7sm3lhRuyRTgRt2RDTaAD2Uiz6UQ21ow6k80Et3XhubmRMgGgikInj9rDh3UaHOyl6J4DFJ+UshOtWY4TAgCWgIOPcelbYFYys+UdyjDNFnT21kCzWAWxXdBeOE124Pl4pP3DVNK4VDk/BeCMJC/wsLyt1N/svjRPtPHFFxhr/fWc/41qWZtpOkQNuTBV+5dl1FgKAEABYXh6puupYMRIAUq1PomfmX1hsr7VHLkxYUHekesGCeoCAALGIrros1MCal3iJhxKemzOEQ8A7G/fFaDlso7sLW2eM5k7jZ8SrE3xBTjbEtD0HYCN6zULLN1CmZMLEVjCzUUiGN1F3v5lhQhpKpEqS247HTAVyJ0RYdMXZ3Yap1Xvcmv4Yk5yHye2zTUvGY04mQCgPqzpk1Pv8ZKZYQS+HUxKB1w0TUhWZhPfXgLkJgQA5nR/BWTgGlPoJYBmppzjUaDtbBUYC0IFsG7OOeV6hWcvguGhZ1cQ3aQ2Cxy7VtzT/gkhwyHbVAoAoIOBqofMUSAP1m1zhrFnkEempC4A4ANAiwiwPVHAhOIBgOm2fUgwBKiB+M0i9/ljAUXfDbQHD0AisBgRgdFd5C6rpUgwmEge5FZSApMT06SNudcIX+kVu5KaZyljgave7QmPFYNlAkAB5VOL3EsIthXOb4OLCEFJjp2uyqWwnzf+OubxdxE2S14NeDQrulNQwIkHAkS3ojf3BMSdtJeC6yJVEe10JbIV/WknMFr61n2+VsBk2LAJpQAAC2tLvdlJKDHZgCtWgMSqbU4AWgYXxqAuALBAW0W99zgJ0J5IIMl4ACAHhAAVzB1nDlhvTHIffRdQHtwAvP+gK98E5gKeqy0d3LtMnzBfH9L5nE9tAh+cDQhAxgkwWS0l374Caq9ZHlOFWgAAwURKbtE0Ofjea801gdwwmnWgj8Lki1uFKfJB87kvqL58OgU45jBhT6zVTs3NBARqrRSNvQg6zlGBjSVwQCYq1JVLuCVXYIJr762JH1uasOJR5NVJsShT3zyb0/nucYm2AzU58BKAZBZAtVXw6u8Wl13QusQyL1V5CzriAQAVdnbJBfhtvWkswGwyL2U27cnGED8+3QBj+ySNlcE7mGeZATEY8z1tax2frbXAVJEtlBfuyJbhRNyRjTSBjmQTP6xrP7o3UbMZzagL2WxwWzc8tzVSJgBUU+jsUXv5sC6Dg31gY9kKs4ILWLMzSggA2I3ZbgeOkbigqjlpmjmLzFYu+Xc/zWzz18Rh9lahPzhLBbHd4N4EzQ6GPD06LtVVJz/5Qp0XRLtEfILvZE0T48nAzk9ibnXuJQB5MoAqSuQii1rJuD5xg7s+8CegMx4AUGFrlzSqEfRG4AoymUuLYAkWU/zKiRslILbP3fDJYl4v3FvolrX5vxZvse8dQrPpRdWA9WLuUVQDIQUGhrQNsJRxyVHt28dbIFgmABA2nWoKmP7BFEwWS8MqSA3YVQgA5KjrkPuaOeF8TYCm2guQRDQwLWWipoIK6M3Jdj9DL0wrr0I8mzSOvAQgBQeQTYv0ZIUC2xPFYCqd8QCAMKQHQPxmk/v8sYBqfTAADz5kElQCuYMIru4ibzpPQULBRKpAtxWBKdAdxWYGdI9iNAd0X2jbXD5s9EiZACBQmPGoPj5sZnAwRW4ylBkQK1IbBAlRm4/TM6gXIH/PawNlcfQlANk94HyoAAJn0Xx9uEmQsjZuNTH1OojOBM3i4EsAEocA0bSIzzILoD2RDFLpjAcAhJCeBuw5C1hvTHJf64OA9uAB6P0XXRlJMEcynMPzwUef7qaoNxUJ+s/1erc2fDX7w4XcL4fB+RRmME58vm9u0vfODPkW8Pbb29fCLBHP9I3YUvHM3o6SlY4y3wbACB02c2fvXkmgoAWCE2aqmdJEc48FUhEnvawCS7BAh+pAr9mVXQzyTRBK4dRu1cotC29AwYIwIBRo+/7QE4jQj37qeXiF6am/qlUiM5ZCjfgJsjY9eJwStBRa2zBuEuyh9JwPA04YE79m1IG16noU763/02o6uKEkKwh5EzLD5RKfm+kvyULql5z5yCjEbKEEIhWMBQbO1KgDUZBcrw4ML6V1/kH8Fov6Noi3fZVEno2UEWdW8SHOZq4DcwnUjjTHBNTnO4jGSsJRgNllz8UEmqXyRhrnQF3NEjSZJhtVtQUSiP9HKiGzuHkH2PzIYvCqWHR/LHXRBWh7KKkcqHZL1fJ5nmlVprtJxFk5SuGmyFWV5DcGnaqoDx1+2WDqyrQ90l+7MAW0Y2eczP3qO+SjfjSvHXXOZpbkbAFyCAN8VuyC0iEiy1sZsY9pD14jdsffhJp0h59UTZUeJU4SoK0KIbBhLgf1biE44HdIGYCiWulR8EIaZhtaZR89j0Z0eyev3u4pMEqx/JIHyKtKISZnAbOZnkz4G5JqNeXcehEYjlcUpGb10I4jfgqjHJciG2eOYRXQivrY4PhisWB1s9BRBDSSSEqVMHXM4isySbwOE+d/mYEdZXEfIHNX/D+Wgb0+5Efm23ZoCkEx49MPZTZAKeEyEgoxC1RKrRLc5Nh552kY7iPhfGEmZQ7iMw8kulqbVE6TRPlIBXf90HRcH58A+lTvEQzeyPbqy4KEPfN35jQxz6CkMVg0lHjBM0u1xmtw7o7AspdZiERdqdhPkjhta8QwasSkniUMc5LOYCqm8EaGh4BibphSDNZ8XlT0d92VHyQ7BsgWvIOBigsW4vI5EJURfiinWcGBZRoLMUGrnSw8N3sbnJTUTnK4mmwadOF4DMbUfE9yJd51FFXl7d5sBdOj5X5AfB8HIZpAavt0ST8oIDGgsOZa3stBMng0A9PP294aJiyCo5hAKWI1MX1kQ2c6lIF4l3pWZ9SxIMqN3aDCv8jKF3TmyOOrDIg4oyfPrEMpLlaJMU7CKqDI7P5KAaSOGj0kE3UKSy2aQGe7BYOl+ZV8MrTNZpyovbOvR1N6p/4v1Yf9cBMPjToKfvp8vnisP9naYyNz94LSlt3nwhMT+Toosk3Q9r5PuTChk5VuK2Nx12zwfRQsN17gJP267wEiWU2d0b6nH+FFT8ZsQHYQGn6NQxnjv1Ha2Fhyp64sa2a9guafqkyNUNPJZZpIc02r/hntbTjTh6zFbk2D1+jFQcsu/QSdJ1edkimEkQJSRNwdFYh1hLmewNGZuZOcmoXhWWbwey4suNlzM8nTrN+KOqdEoIzq7TFiLtxVZn/fc2+jM7cVdIZ610ISjz6ESUs0ISmErxAIIYj1OCjsUXyO17b6sD1NNQEbwbhaelWahPkThOFz3+KXv9wz0a/i1R7neSqv153mxm/zjC28norj1z0aVoKXSK0t3puf4wVWUNjV4GAPWcg9kJG8aqH1YDpRaJE8Kjasq4Dgueg5ogDZ5Kw/677+YDH8claKnhKE3Ga98SxoThpztkPG14i5uLVvhGF3pPSsAJSEOGp1oRODAHfm3vegxspQSuTylNy3DZk3ZmgAYcBb2W2f74aSQNzqgUdyg9y73lTEHtSvRYELSA1Uw39IbHWQa3FCCFBhAvhgAJBop8MV4V8yb3Ts/qqx+UvE3r+1Sku+DaDJXBt3FduGkoty6jpK939krxCViy/Kvv/7WGSeeh7quJXmZoq83si2ua2hiZXmoxkvfZ8yls8pE/s5zXxeCoBscXN3c+ak55J4rkuUOkYyK/O5k78jpyFpA7C3KfiLFNC68o9KkZsrF+nl2tsRnmSTE2W5YnuH0zFTdIV1Tol6Wy/CrQxQCTyyOtaKW7u/V61X0DvcqGaxYilrxJhtNLuumKUoK8atK6btluzf1/IXNAd27uUuCQK/ZDY9mkCwotTKCYLUyPFrWj4IQpkmvZBjlx2ptn//w/zUKF1PhtNY+7XddbkiLc7FrEWgcRQR5aLbp51EWTbn15PBfI6dFVdTovEXHGXbjAoPJzw3p2woO7DHMEyJOlrMLPTJeCuG/YXZpIMtfja06gWm9lPJyrA+eAt1cmXEL8hX4S3AyQ5mzj1bORS2WBT/4dUJPoc9lZxnSbNpNjuBBkJ7sCY8J/I1aNq/a+gjk5RbaIQybuUjmQc+DhFDS7ckTFZePQqn0lHG2IwaenThrFEku0KNiqVCJx91AChdnAsyu+wW8xixCOYJRTBOcGCaoIp6Wgl9BcEfumkFDz7i5mKLwG5h+VhvpIvPoQrN1tJO1tse5dnR3pSobhTBzVT4qcwSUPWYa6bzigzw6bgK1qDuyWtiMCTPvIhrlWKqNW3/t+cGeHXu+e87vD7J/VumauXE+OufsgN/3+WJsbZPF1zw7dmvMDRNuTog6aZU/E75k5iWrqC+JIanFKIOXXV3rKNOOVLQzH4d5BqIi8pro7PUeugc7/iG+3Rp9LcQuqbusk+Xln8fga7BXvZpiPfIc42py34NLf8CNABAY3TZp7HiIyY1ThfwCVnxDJfIpHS+aCP1au+jY7w7cM62sz/baLTHLydshx/ZH+FiIbbC0bNXj86X1iS4bWqj4WYva4c95ZLb0z3fGfB57vkvWeQU9Z+aPDsW8qQm/1lLXlLvWmZxSsi9yv7xOZV/eBsx3TtjsMa4789E9auj100vwKs/ADI90WZPA1IbzF+HuW72A1r+LQvg3stpQDea8Ot4zOZWYNNZ+/224zSrQMqiU3io1A3tT9Q/x/lpXejYqXbcIDBbjEo0EMDxnin21VNYZdvkduLHx+DQ8+SUGP2dRcm2FNgydfccojksiAn2QAXdRf98A+Bp+9W8x+HdujrnuefJDyTn/y6AHnyNNlEte1gMKhOmCGvWMGWBG7ve21O/TSiJe15ym+FTy0DfG7UJBET6qkYWB6MleM3FX5h0jWJ0pfO/IODr7IISH6em5NF6zaKozYpEeJhfDT8c/9p/p75dJR3eiaJsaWRkiRcnOqcL9MGCpqKKbrQkP/FM8XkVj6Xni6aEWLzOetVfZbFxVORPZf5ddlB1XmFhmBT5zcAOSzbBMCgvB4XVmsfzEgxco5B/nb20oRmFBl48SGuzDQs/svB5HUSpV9qHzTYrW3cakhcbVxJMbnF9tx6ZWLbK8RgNST7lCmh3tOQcnyICuP/jy2yHcPEmG1IH9VbJOYUNVSmW76S95Urfe3mHeg+wyjjWm+oIbkNdR3uz1XlEScBV8e2s19pIdRZ/bJaUh9AYqwjSm+KxxwgESNyO4a+sE/H8LPhI/DQWf0oaUI0zm0iFMKOkQZ1pNfvCRSR9hO5dthftbUUhnburiEtmISh5peYXI+kK8cuD8qPbVfUXBnRSKRcGj6UxdazvKg/jrJUspOc1Hm6cGh14qbp9szONs8s60zh5rWcq572eSfNiz+T0ZpN1K4iuZFmkJA2TRcaOAnodvv6Z5fn8ZyZ9/zPJKYCZGj8VMJN7SoAh4mlAtI924Ok88xB7QRs51HHFCNUbDETSF5ZhUhWWrInlVzjIDDehdHMjpc/BhBdfBQQvhVBr8kRQ7BO5+taI+MsV7hR3Wqw7IAhNqpezQpMupQGQSN4yRCacXiuIzyApG/GtevthEE78ANmzHfgQ+DPKtk5bHlNGGWrL4uYftnKqSbobvRZVYp5dWpr1yko+pZnPKcWfhu0RGA/WWzHYdIjgck+enlL0N4OEhKQzoxjHWw9kdrnUcX7WkrgyrgNJRM2HDoLohKTS8pWQ1vEZ1kT3PgMB9UeGlH4M4OGr9tSAPTlmAmj0b0p6kXEOPOGehc5aHeUJpg4cPDl4i9+0ivvna/NbqUCqWLVRsuFn085QHVF34ReQ4Yp4L5yHE0J6hmTgWKFdU262ZtODRudGrkegm11T/OvysL5FPiYMeebzSeQ8Ih7sorgzKEKJTIkg46OQq/L859mITEA7wFYxTtlF4XBKTgLiPM4RKo+olM0jdou3j3tCgVp5pCCF8siZKaHhFlOT+hNMKubY2RZttJRpInrAhSEAdfdtklfIkOzymGggkImGMpdHFCfQKRNhJDKo4cXaT07XRFFMguURJlIemUosU42dZItNXzzCblAxmuIRJzHxiJ0xEKbY7716gytylduVmQgKZh6CLZu52+nlqpmFIC9zEBxGdWdfj7uIAlv0/4EusScLENDNk+EHDPttpf0g3L6W3HdcN76pBhqQfnJozoJinU1KgfNYqGzSPfgcktzZHUt84yXqHaiRC+JXjL8Hcm+XWeVAjfOmq+yl9x+Iy3Cz6haoJJWm5QoBHps7c35AubwesIG+FqzCny6QIn/dufJBAd/3Kwjs4rWEzN5MVAm7Myxyy1DumZIzAnhRmlJHvOqZJSMjYktYDKyY7QISv3gcWKjS5/A7PZi9U1tZvOdOppJ8UkKcgQtzsCAtyTR/Z4dBTDkcbPwJAlu2T9qnGvE7P8pbavrNTJPLcxbHiL5aZt5T0TwN0SmodnnaXsYvOQLhyuTpGa/Hz3rX/f8fs1/kZOHVM/wv7/OkrS+Aqddpmjj7EugoUZ92c7ARCjAk2H+qb+1jr1OgvMclqVhJa9CwhZtQWr9cesWZZtXbDCCPkoaBrTOIY6lfPiombuRNCV+aZm0UzuuqqBElMtKqyomRT1ZxnOfND6tL/DBusA/507Rb7WrS6Q0fy7/2iZvv8PkNXj4sSDNyq+r1DyyFv3fu6/u6HvcSe8fnCTfHwro95ovWFo1fLbx7KwUI+WYpo0etUR91mrTDmshU3PZuXbbFFEbHewm/WP7hwWel3nYeACqRSJ5RQBa/gA44E3JTNIXFQNRWoqIJupVlMpAamsRBRZomV+PUV18DVUSIjc4vHxyljIpq8bCRupqipJsBKta9ofNqLjaU3idrG3+i5z6MNfs2DLcvnGIXN+osOFE3wyWKbhFKndI8gd+pSZEQLSOCWvZVILVY7FNLIqtdoFbid6gDav252RV3zhTw6mPPv8zWcirnxZ1s+d41UQdUKxMNyPuujgrKcLPJObhNmtgsO07V7C2ojxRH3aZUkBXi11ylOY2/QvzIBEQaob6JxK9VWLeKQ0+dYAcRRwV1wK82AMpyGGcOHoSUMznZbWMTLcqKrYHqapSJ6GaA+isLQGNUY/OTJIWDQbDYPeQnYTwWW6aG2gH7cVGjiaqHLk9HD90rFngFdcAvDwDCpFGTwRicOJ7BWOpqqonhZoDK9CvOmxCXpEXmMSdeRpmV+VHJPqZCEqejNvKdo8EGy8fvSxhvD6RvU9zIjH74XYvD2+LxdOvfy6819rl9orbP3zI/OYplg4XOYC55x7PZq1a1BGdW7a9oUBobKaukDDa/himvWQpxINX5Wcopp+HqK40xYrKxlnoPjtIyp25SJh6N/3esotKMq4nOVsUYGl8Tn42R5muiyWDHoMkmkops9Z3SorT55GnpZjwoq2uMC8Lm+l95jcq/MmFHGXbwtAjhY0SeDtHVTJlOm8ZSf1w8F2e4+XqdNmXAwRdS7dBtziwnZi23WWtZFXPUET38n9mp2lTn9lsZEmfckTyl5RhjZLwUV1GrRteqTecVT38uiX7EwcWLNIVfQfRmtK7CrnGI/fkk1hf5NUApfk70JrygE68OyZ9PImPjagKScrnsR13ePnROOd5RRz6JPqSUMlwKcSFF+ZVH7+ZzNm/exrGsl1ein+TVMB4l2ZhNqs2BCsOLdJfuA2x2YIZ2PvyQyK+j2zK9cNXOSkeXJj6flnd98+Ya8ZaOaD4dcIUCn/LI5DAedhTCksWYargfC9tt5cQ+N3DED+d5MdSTpkjaDgxeU0EP1Ciy0IxnV+mTIPROcaWAtuW/PN5hL2Af98yh0xbCP7n6W7vhj6420CfADmUksKZpnGrKs1XnRkoaRzVJLn5+Nmms+DEXySY1n1N9fnW9SCrdSmc5asmNi2bUPOXVV56taWxjr6lsNlKTREqzNV99fvW5SePGi7hUV5xfszVfPaSO8Te26rP5sZLqkwrzs1nGkl95Nj/Jj3lJrCaJmWojVRFSTCtH99HPNWZe4g+OVBqpr7nKc6qkPKKqr+HKI8RU2X6nyU8F5w2POjgb54xMx42OIG29l/rB2vLlfjuElEVnZwpu160bBuIXZb4/dvZLx9egeVuRnIz5FJUoqEB7q3TVBDDsQUwIAnkhv4oecqVJ/1FGqszd6Wkwdkr9Y0o9UPoZduQaPcM9bz6MCtu0MJ+Woo/k9/Cf55qawtbfzOu2cRnrqB4zF1CPGpYupBT2dtjy3i7CgcPhZWykaIzPq6FWL6KpEA4QAyIXQoERMPUhbPwLGq6bG08bbQfjyVD0z44qhX1hbVJamcTHRfbu2opcO2xGfvxQrg9fAv81+MUzN9D5/TTsw7T6kHk+BzKbHcVQYXBQtMtRdJVmqG5/4JcL+Bv5lzNvkGjBesWIp8EdZWE2fIEW3zCUWUzERhQj0CSAQhgL8ixNW6BptDpVf1y7b8MdBco2a8Zy69sAFcAikEkztW6ETavz9Me2wQ5lFG/jL3ojJhZERQgHtsTbWEtrIdN/bNEaGRyNt70CZ+vhKDIlcfXNUrYwTq6iZuzYVkwhh1ggKkQ5iFoQDcGe3fyyuaLKOVM8V14/JyV0SAZIMZBsAEbOevbSY2YeXV1gfNgMqOtqvbXsSHrubDV+/fmgP44dOP7WcTeCc741AB6r6WXFPeOA7n9WWWGq7J4nd8i75L/DIwCI0Ij41gG1/9x4wyr8vI8toPiqeU8ffOJP7G+FtSo3lNktHarsbHiurahZvj6U6fNMVPR7+9TUv/e/hJOUPX5nJjS4eUQOnbN/sL/6Pxftr76ov5h57Sfz2qW+em5vVZOqS3SuvaZ1Hqlqn+yyhs8AgIpnqrgnhXQqmbHea3UV\",\"base64\")).toString()),JT}var aae=new Map([[P.makeIdent(null,\"fsevents\").identHash,nae],[P.makeIdent(null,\"resolve\").identHash,sae],[P.makeIdent(null,\"typescript\").identHash,oae]]),r3e={hooks:{registerPackageExtensions:async(r,e)=>{for(let[t,i]of YT)e(P.parseDescriptor(t,!0),i)},getBuiltinPatch:async(r,e)=>{var s;let t=\"compat/\";if(!e.startsWith(t))return;let i=P.parseIdent(e.slice(t.length)),n=(s=aae.get(i.identHash))==null?void 0:s();return typeof n<\"u\"?n:null},reduceDependency:async(r,e,t,i)=>typeof aae.get(r.identHash)>\"u\"?r:P.makeDescriptor(r,P.makeRange({protocol:\"patch:\",source:P.stringifyDescriptor(r),selector:`~builtin<compat/${P.stringifyIdent(r)}>`,params:null}))}},i3e=r3e;var zT={};ut(zT,{default:()=>s3e});var Yh=class extends De{constructor(){super(...arguments);this.pkg=z.String(\"-p,--package\",{description:\"The package to run the provided command from\"});this.quiet=z.Boolean(\"-q,--quiet\",!1,{description:\"Only report critical errors instead of printing the full install logs\"});this.command=z.String();this.args=z.Proxy()}async execute(){let t=[];this.pkg&&t.push(\"--package\",this.pkg),this.quiet&&t.push(\"--quiet\");let i=P.parseDescriptor(this.command),n;i.scope?n=P.makeIdent(i.scope,`create-${i.name}`):i.name.startsWith(\"@\")?n=P.makeIdent(i.name.substring(1),\"create\"):n=P.makeIdent(null,`create-${i.name}`);let s=P.stringifyIdent(n);return i.range!==\"unknown\"&&(s+=`@${i.range}`),this.cli.run([\"dlx\",...t,s,...this.args])}};Yh.paths=[[\"create\"]];var xu=class extends De{constructor(){super(...arguments);this.packages=z.Array(\"-p,--package\",{description:\"The package(s) to install before running the command\"});this.quiet=z.Boolean(\"-q,--quiet\",!1,{description:\"Only report critical errors instead of printing the full install logs\"});this.command=z.String();this.args=z.Proxy()}async execute(){return ye.telemetry=null,await M.mktempPromise(async t=>{var C;let i=x.join(t,`dlx-${process.pid}`);await M.mkdirPromise(i),await M.writeFilePromise(x.join(i,\"package.json\"),`{}\n`),await M.writeFilePromise(x.join(i,\"yarn.lock\"),\"\");let n=x.join(i,\".yarnrc.yml\"),s=await ye.findProjectCwd(this.context.cwd,xt.lockfile),o=!(await ye.find(this.context.cwd,null,{strict:!1})).get(\"enableGlobalCache\"),a=s!==null?x.join(s,\".yarnrc.yml\"):null;a!==null&&M.existsSync(a)?(await M.copyFilePromise(a,n),await ye.updateConfiguration(i,y=>{let B={...y,enableGlobalCache:o,enableTelemetry:!1};return Array.isArray(y.plugins)&&(B.plugins=y.plugins.map(v=>{let D=typeof v==\"string\"?v:v.path,L=K.isAbsolute(D)?D:K.resolve(K.fromPortablePath(s),D);return typeof v==\"string\"?L:{path:L,spec:v.spec}})),B})):await M.writeFilePromise(n,`enableGlobalCache: ${o}\nenableTelemetry: false\n`);let l=(C=this.packages)!=null?C:[this.command],c=P.parseDescriptor(this.command).name,u=await this.cli.run([\"add\",\"--\",...l],{cwd:i,quiet:this.quiet});if(u!==0)return u;this.quiet||this.context.stdout.write(`\n`);let g=await ye.find(i,this.context.plugins),{project:f,workspace:h}=await je.find(g,i);if(h===null)throw new ct(f.cwd,i);await f.restoreInstallState();let p=await Jt.getWorkspaceAccessibleBinaries(h);return p.has(c)===!1&&p.size===1&&typeof this.packages>\"u\"&&(c=Array.from(p)[0][0]),await Jt.executeWorkspaceAccessibleBinary(h,c,this.args,{packageAccessibleBinaries:p,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};xu.paths=[[\"dlx\"]],xu.usage=ve.Usage({description:\"run a package in a temporary environment\",details:\"\\n      This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\\n\\n      By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\\n\\n      Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\\n    \",examples:[[\"Use create-react-app to create a new React app\",\"yarn dlx create-react-app ./my-app\"],[\"Install multiple packages for a single command\",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e \"console.log('hello!')\"`]]});var n3e={commands:[Yh,xu]},s3e=n3e;var ZT={};ut(ZT,{default:()=>A3e,fileUtils:()=>Hm});var jh=/^(?:[a-zA-Z]:[\\\\/]|\\.{0,2}\\/)/,Um=/^[^?]*\\.(?:tar\\.gz|tgz)(?:::.*)?$/,qr=\"file:\";var Hm={};ut(Hm,{makeArchiveFromLocator:()=>mQ,makeBufferFromLocator:()=>_T,makeLocator:()=>XT,makeSpec:()=>Aae,parseSpec:()=>VT});function VT(r){let{params:e,selector:t}=P.parseRange(r),i=K.toPortablePath(t);return{parentLocator:e&&typeof e.locator==\"string\"?P.parseLocator(e.locator):null,path:i}}function Aae({parentLocator:r,path:e,folderHash:t,protocol:i}){let n=r!==null?{locator:P.stringifyLocator(r)}:{},s=typeof t<\"u\"?{hash:t}:{};return P.makeRange({protocol:i,source:e,selector:e,params:{...s,...n}})}function XT(r,{parentLocator:e,path:t,folderHash:i,protocol:n}){return P.makeLocator(r,Aae({parentLocator:e,path:t,folderHash:i,protocol:n}))}async function mQ(r,{protocol:e,fetchOptions:t,inMemory:i=!1}){let{parentLocator:n,path:s}=P.parseFileStyleRange(r.reference,{protocol:e}),o=x.isAbsolute(s)?{packageFs:new jt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(n,t),a=o.localPath?{packageFs:new jt(Oe.root),prefixPath:x.relative(Oe.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=x.join(a.prefixPath,s);return await Ie.releaseAfterUseAsync(async()=>await Ci.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:P.getIdentVendorPath(r),compressionLevel:t.project.configuration.get(\"compressionLevel\"),inMemory:i}),a.releaseFs)}async function _T(r,{protocol:e,fetchOptions:t}){return(await mQ(r,{protocol:e,fetchOptions:t,inMemory:!0})).getBufferAndClose()}var EQ=class{supports(e,t){return!!e.reference.startsWith(qr)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:qr});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async fetchFromDisk(e,t){return mQ(e,{protocol:qr,fetchOptions:t})}};var o3e=2,IQ=class{supportsDescriptor(e,t){return e.range.match(jh)?!0:!!e.range.startsWith(qr)}supportsLocator(e,t){return!!e.reference.startsWith(qr)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return jh.test(e.range)&&(e=P.makeDescriptor(e,`${qr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let{path:n,parentLocator:s}=VT(e.range);if(s===null)throw new Error(\"Assertion failed: The descriptor should have been bound\");let o=await _T(P.makeLocator(e,P.makeRange({protocol:qr,source:n,selector:n,params:{locator:P.stringifyLocator(s)}})),{protocol:qr,fetchOptions:i.fetchOptions}),a=li.makeHash(`${o3e}`,o).slice(0,6);return[XT(e,{parentLocator:s,path:n,folderHash:a,protocol:qr})]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||\"0.0.0\",languageName:n.languageName||t.project.configuration.get(\"defaultLanguageName\"),linkType:\"HARD\",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var yQ=class{supports(e,t){return Um.test(e.reference)?!!e.reference.startsWith(qr):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:qr}),s=x.isAbsolute(n)?{packageFs:new jt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new jt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.join(o.prefixPath,n),c=await a.readFilePromise(l);return await Ie.releaseAfterUseAsync(async()=>await Ci.convertToZip(c,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var wQ=class{supportsDescriptor(e,t){return Um.test(e.range)?!!(e.range.startsWith(qr)||jh.test(e.range)):!1}supportsLocator(e,t){return Um.test(e.reference)?!!e.reference.startsWith(qr):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return jh.test(e.range)&&(e=P.makeDescriptor(e,`${qr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range;return n.startsWith(qr)&&(n=n.slice(qr.length)),[P.makeLocator(e,`${qr}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||\"0.0.0\",languageName:n.languageName||t.project.configuration.get(\"defaultLanguageName\"),linkType:\"HARD\",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var a3e={fetchers:[yQ,EQ],resolvers:[wQ,IQ]},A3e=a3e;var $T={};ut($T,{default:()=>g3e});var lae=Pe(J(\"querystring\")),cae=[/^https?:\\/\\/(?:([^/]+?)@)?github.com\\/([^/#]+)\\/([^/#]+)\\/tarball\\/([^/#]+)(?:#(.*))?$/,/^https?:\\/\\/(?:([^/]+?)@)?github.com\\/([^/#]+)\\/([^/#]+?)(?:\\.git)?(?:#(.*))?$/];function uae(r){return r?cae.some(e=>!!r.match(e)):!1}function gae(r){let e;for(let a of cae)if(e=r.match(a),e)break;if(!e)throw new Error(l3e(r));let[,t,i,n,s=\"master\"]=e,{commit:o}=lae.default.parse(s);return s=o||s.replace(/[^:]*:/,\"\"),{auth:t,username:i,reponame:n,treeish:s}}function l3e(r){return`Input cannot be parsed as a valid GitHub URL ('${r}').`}var BQ=class{supports(e,t){return!!uae(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await Vt.get(this.getLocatorUrl(e,t),{configuration:t.project.configuration});return await M.mktempPromise(async n=>{let s=new jt(n);await Ci.extractArchiveTo(i,s,{stripComponents:1});let o=$a.splitRepoUrl(e.reference),a=x.join(n,\"package.tgz\");await Jt.prepareExternalProject(n,a,{configuration:t.project.configuration,report:t.report,workspace:o.extra.workspace,locator:e});let l=await M.readFilePromise(a);return await Ci.convertToZip(l,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,t){let{auth:i,username:n,reponame:s,treeish:o}=gae(e.reference);return`https://${i?`${i}@`:\"\"}github.com/${n}/${s}/archive/${o}.tar.gz`}};var u3e={hooks:{async fetchHostedRepository(r,e,t){if(r!==null)return r;let i=new BQ;if(!i.supports(e,t))return null;try{return await i.fetch(e,t)}catch{return null}}}},g3e=u3e;var eO={};ut(eO,{default:()=>h3e});var Gm=/^[^?]*\\.(?:tar\\.gz|tgz)(?:\\?.*)?$/,Ym=/^https?:/;var QQ=class{supports(e,t){return Gm.test(e.reference)?!!Ym.test(e.reference):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await Vt.get(e.reference,{configuration:t.project.configuration});return await Ci.convertToZip(i,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var bQ=class{supportsDescriptor(e,t){return Gm.test(e.range)?!!Ym.test(e.range):!1}supportsLocator(e,t){return Gm.test(e.reference)?!!Ym.test(e.reference):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[P.convertDescriptorToLocator(e)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||\"0.0.0\",languageName:n.languageName||t.project.configuration.get(\"defaultLanguageName\"),linkType:\"HARD\",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var f3e={fetchers:[QQ],resolvers:[bQ]},h3e=f3e;var nO={};ut(nO,{default:()=>p4e});var Kae=Pe(Mae()),iO=J(\"util\"),Pu=class extends De{constructor(){super(...arguments);this.private=z.Boolean(\"-p,--private\",!1,{description:\"Initialize a private package\"});this.workspace=z.Boolean(\"-w,--workspace\",!1,{description:\"Initialize a workspace root with a `packages/` directory\"});this.install=z.String(\"-i,--install\",!1,{tolerateBoolean:!0,description:\"Initialize a package with a specific bundle that will be locked in the project\"});this.usev2=z.Boolean(\"-2\",!1,{hidden:!0});this.yes=z.Boolean(\"-y,--yes\",{hidden:!0});this.assumeFreshProject=z.Boolean(\"--assume-fresh-project\",!1,{hidden:!0})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.install==\"string\"?this.install:this.usev2||this.install===!0?\"latest\":null;return i!==null?await this.executeProxy(t,i):await this.executeRegular(t)}async executeProxy(t,i){if(t.projectCwd!==null&&t.projectCwd!==this.context.cwd)throw new be(\"Cannot use the --install flag from within a project subdirectory\");M.existsSync(this.context.cwd)||await M.mkdirPromise(this.context.cwd,{recursive:!0});let n=x.join(this.context.cwd,t.get(\"lockfileFilename\"));M.existsSync(n)||await M.writeFilePromise(n,\"\");let s=await this.cli.run([\"set\",\"version\",i],{quiet:!0});if(s!==0)return s;let o=[];return this.private&&o.push(\"-p\"),this.workspace&&o.push(\"-w\"),this.yes&&o.push(\"-y\"),await M.mktempPromise(async a=>{let{code:l}=await Cr.pipevp(\"yarn\",[\"init\",...o],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Jt.makeScriptEnv({binFolder:a})});return l})}async executeRegular(t){var c;let i=null;try{i=(await je.find(t,this.context.cwd)).project}catch{i=null}M.existsSync(this.context.cwd)||await M.mkdirPromise(this.context.cwd,{recursive:!0});let n=await ot.tryFind(this.context.cwd)||new ot,s=Object.fromEntries(t.get(\"initFields\").entries());n.load(s),n.name=(c=n.name)!=null?c:P.makeIdent(t.get(\"initScope\"),x.basename(this.context.cwd)),n.packageManager=Lr&&Ie.isTaggedYarnVersion(Lr)?`yarn@${Lr}`:null,typeof n.raw.private>\"u\"&&(this.private||this.workspace&&n.workspaceDefinitions.length===0)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await M.mkdirPromise(x.join(this.context.cwd,\"packages\"),{recursive:!0}),n.workspaceDefinitions=[{pattern:\"packages/*\"}]);let o={};n.exportTo(o),iO.inspect.styles.name=\"cyan\",this.context.stdout.write(`${(0,iO.inspect)(o,{depth:1/0,colors:!0,compact:!1})}\n`);let a=x.join(this.context.cwd,ot.fileName);await M.changeFilePromise(a,`${JSON.stringify(o,null,2)}\n`,{automaticNewlines:!0});let l=x.join(this.context.cwd,\"README.md\");if(M.existsSync(l)||await M.writeFilePromise(l,`# ${P.stringifyIdent(n.name)}\n`),!i||i.cwd===this.context.cwd){let u=x.join(this.context.cwd,xt.lockfile);M.existsSync(u)||await M.writeFilePromise(u,\"\");let f=[\".yarn/*\",\"!.yarn/patches\",\"!.yarn/plugins\",\"!.yarn/releases\",\"!.yarn/sdks\",\"!.yarn/versions\",\"\",\"# Swap the comments on the following lines if you don't wish to use zero-installs\",\"# Documentation here: https://yarnpkg.com/features/zero-installs\",\"!.yarn/cache\",\"#.pnp.*\"].map(L=>`${L}\n`).join(\"\"),h=x.join(this.context.cwd,\".gitignore\");M.existsSync(h)||await M.writeFilePromise(h,f);let C=[\"/.yarn/**            linguist-vendored\",\"/.yarn/releases/*    binary\",\"/.yarn/plugins/**/*  binary\",\"/.pnp.*              binary linguist-generated\"].map(L=>`${L}\n`).join(\"\"),y=x.join(this.context.cwd,\".gitattributes\");M.existsSync(y)||await M.writeFilePromise(y,C);let B={[\"*\"]:{endOfLine:\"lf\",insertFinalNewline:!0},[\"*.{js,json,yml}\"]:{charset:\"utf-8\",indentStyle:\"space\",indentSize:2}};(0,Kae.default)(B,t.get(\"initEditorConfig\"));let v=`root = true\n`;for(let[L,H]of Object.entries(B)){v+=`\n[${L}]\n`;for(let[j,$]of Object.entries(H))v+=`${j.replace(/[A-Z]/g,W=>`_${W.toLowerCase()}`)} = ${$}\n`}let D=x.join(this.context.cwd,\".editorconfig\");M.existsSync(D)||await M.writeFilePromise(D,v),M.existsSync(x.join(this.context.cwd,\".git\"))||await Cr.execvp(\"git\",[\"init\"],{cwd:this.context.cwd})}}};Pu.paths=[[\"init\"]],Pu.usage=ve.Usage({description:\"create a new package\",details:\"\\n      This command will setup a new package in your local directory.\\n\\n      If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\\n\\n      If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\\n\\n      If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\\n\\n      The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\\n    \",examples:[[\"Create a new package in the local directory\",\"yarn init\"],[\"Create a new private package in the local directory\",\"yarn init -p\"],[\"Create a new package and store the Yarn release inside\",\"yarn init -i=latest\"],[\"Create a new private package and defines it as a workspace root\",\"yarn init -w\"]]});var h4e={configuration:{initScope:{description:\"Scope used when creating packages via the init command\",type:\"STRING\",default:null},initFields:{description:\"Additional fields to set when creating packages via the init command\",type:\"MAP\",valueDefinition:{description:\"\",type:\"ANY\"}},initEditorConfig:{description:\"Extra rules to define in the generator editorconfig\",type:\"MAP\",valueDefinition:{description:\"\",type:\"ANY\"}}},commands:[Pu]},p4e=h4e;var sO={};ut(sO,{default:()=>C4e});var eA=\"portal:\",tA=\"link:\";var SQ=class{supports(e,t){return!!e.reference.startsWith(eA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:eA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:eA}),s=x.isAbsolute(n)?{packageFs:new jt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new jt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath),localPath:Oe.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new jt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,localPath:l}:{packageFs:new wo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot}}};var vQ=class{supportsDescriptor(e,t){return!!e.range.startsWith(eA)}supportsLocator(e,t){return!!e.reference.startsWith(eA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(eA.length);return[P.makeLocator(e,`${eA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||\"0.0.0\",languageName:n.languageName||t.project.configuration.get(\"defaultLanguageName\"),linkType:\"SOFT\",conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var xQ=class{supports(e,t){return!!e.reference.startsWith(tA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:tA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:tA}),s=x.isAbsolute(n)?{packageFs:new jt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new jt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath),localPath:Oe.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new jt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,discardFromLookup:!0,localPath:l}:{packageFs:new wo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,discardFromLookup:!0}}};var PQ=class{supportsDescriptor(e,t){return!!e.range.startsWith(tA)}supportsLocator(e,t){return!!e.reference.startsWith(tA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(tA.length);return[P.makeLocator(e,`${tA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){return{...e,version:\"0.0.0\",languageName:t.project.configuration.get(\"defaultLanguageName\"),linkType:\"SOFT\",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};var d4e={fetchers:[xQ,SQ],resolvers:[PQ,vQ]},C4e=d4e;var MO={};ut(MO,{default:()=>N8e});var aO=(r,e)=>`${r}@${e}`,Uae=(r,e)=>{let t=e.indexOf(\"#\"),i=t>=0?e.substring(t+1):e;return aO(r,i)};var Yae=(r,e={})=>{let t=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||t>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:t,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=Q4e(r,s),l=!1,c=0;do l=AO(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=jm(a);if(AO(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree:\n${u}, next tree:\n${jm(a)}`);let f=jae(a);if(f)throw new Error(`${f}, after hoisting finished:\n${jm(a)}`)}return s.debugLevel>=2&&console.log(jm(a)),b4e(a)},m4e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())t.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),t},E4e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of r)u=g.dependencies.get(c.name),u&&t.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),t},Hae=(r,e)=>{if(e.decoupled)return e;let{name:t,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:p,hoistedTo:C}=e,y={name:t,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:new Map(p),hoistedTo:new Map(C)},B=y.dependencies.get(t);return B&&B.ident==y.ident&&y.dependencies.set(t,y),r.dependencies.set(y.name,y),y},I4e=(r,e)=>{let t=new Map([[r.name,[r.ident]]]);for(let n of r.dependencies.values())r.peerNames.has(n.name)||t.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf(\"@\",1)),o=n.substring(s.length+1);if(!r.peerNames.has(s)){let a=t.get(s);a||(a=[],t.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return t},oO=r=>{let e=new Set,t=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!r.peerNames.has(s)){let o=r.dependencies.get(s);o&&!e.has(o)&&t(o,n)}e.add(i)}};for(let i of r.dependencies.values())r.peerNames.has(i.name)||t(i);return e},AO=(r,e,t,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=S4e(o),l=I4e(o,a),c=r==o?new Map:n.fastLookupPossible?m4e(e):E4e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([C,y])=>[C,y[0]])),p=new Map;do{let C=B4e(r,e,t,c,h,l,i,p,n);C.isGraphChanged&&(f=!0),C.anotherRoundNeeded&&(g=!0),u=!1;for(let[y,B]of l)B.length>1&&!o.dependencies.has(y)&&(h.delete(y),B.shift(),h.set(y,B[0]),u=!0)}while(u);for(let C of o.dependencies.values())if(!o.peerNames.has(C.name)&&!t.has(C.locator)){t.add(C.locator);let y=AO(r,[...e,C],t,p,n);y.isGraphChanged&&(f=!0),y.anotherRoundNeeded&&(g=!0),t.delete(C.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},y4e=r=>{for(let[e,t]of r.dependencies)if(!r.peerNames.has(e)&&t.ident!==r.ident)return!0;return!1},w4e=(r,e,t,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(y=>Di(y)).join(\"\\u2192\")}`);let h=t[t.length-1],C=!(i.ident===h.ident);if(l&&!C&&(g=\"- self-reference\"),C&&(C=i.dependencyKind!==1,l&&!C&&(g=\"- workspace\")),C&&i.dependencyKind===2&&(C=!y4e(i),l&&!C&&(g=\"- external soft link with unhoisted dependencies\")),C&&(C=h.dependencyKind!==1||h.hoistedFrom.has(i.name)||e.size===1,l&&!C&&(g=h.reasons.get(i.name))),C&&(C=!r.peerNames.has(i.name),l&&!C&&(g=`- cannot shadow peer: ${Di(r.originalDependencies.get(i.name).locator)} at ${u}`)),C){let y=!1,B=n.get(i.name);if(y=!B||B.ident===i.ident,l&&!y&&(g=`- filled by: ${Di(B.locator)} at ${u}`),y)for(let v=t.length-1;v>=1;v--){let L=t[v].dependencies.get(i.name);if(L&&L.ident!==i.ident){y=!1;let H=a.get(h);H||(H=new Set,a.set(h,H)),H.add(i.name),l&&(g=`- filled by ${Di(L.locator)} at ${t.slice(0,v).map(j=>Di(j.locator)).join(\"\\u2192\")}`);break}}C=y}if(C&&(C=s.get(i.name)===i.ident,l&&!C&&(g=`- filled by: ${Di(o.get(i.name)[0])} at ${u}`)),C){let y=!0,B=new Set(i.peerNames);for(let v=t.length-1;v>=1;v--){let D=t[v];for(let L of B){if(D.peerNames.has(L)&&D.originalDependencies.has(L))continue;let H=D.dependencies.get(L);H&&r.dependencies.get(L)!==H&&(v===t.length-1?f.add(H):(f=null,y=!1,l&&(g=`- peer dependency ${Di(H.locator)} from parent ${Di(D.locator)} was not hoisted to ${u}`))),B.delete(L)}if(!y)break}C=y}if(C&&!c)for(let y of i.hoistedDependencies.values()){let B=n.get(y.name)||r.dependencies.get(y.name);if(!B||y.ident!==B.ident){C=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${Di(y.locator)}, available: ${Di(B==null?void 0:B.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:C?0:1,reason:g}},DQ=r=>`${r.name}@${r.locator}`,B4e=(r,e,t,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(B,v,D,L,H)=>{if(u.has(L))return;let j=[...v,DQ(L)],$=[...D,DQ(L)],V=new Map,W=new Map;for(let re of oO(L)){let O=w4e(c,t,[c,...B,L],re,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(W.set(re,O),O.isHoistable===2)for(let F of O.dependsOn){let ue=V.get(F.name)||new Set;ue.add(re.name),V.set(F.name,ue)}}let Z=new Set,A=(re,O,F)=>{if(!Z.has(re)){Z.add(re),W.set(re,{isHoistable:1,reason:F});for(let ue of V.get(re.name)||[])A(L.dependencies.get(ue),O,l.debugLevel>=2?`- peer dependency ${Di(re.locator)} from parent ${Di(L.locator)} was not hoisted`:\"\")}};for(let[re,O]of W)O.isHoistable===1&&A(re,O,O.reason);let ae=!1;for(let re of W.keys())if(!Z.has(re)){f=!0;let O=o.get(L);O&&O.has(re.name)&&(g=!0),ae=!0,L.dependencies.delete(re.name),L.hoistedDependencies.set(re.name,re),L.reasons.delete(re.name);let F=c.dependencies.get(re.name);if(l.debugLevel>=2){let ue=Array.from(v).concat([L.locator]).map(ke=>Di(ke)).join(\"\\u2192\"),he=c.hoistedFrom.get(re.name);he||(he=[],c.hoistedFrom.set(re.name,he)),he.push(ue),L.hoistedTo.set(re.name,Array.from(e).map(ke=>Di(ke.locator)).join(\"\\u2192\"))}if(!F)c.ident!==re.ident&&(c.dependencies.set(re.name,re),H.add(re));else for(let ue of re.references)F.references.add(ue)}if(L.dependencyKind===2&&ae&&(g=!0),l.check){let re=jae(r);if(re)throw new Error(`${re}, after hoisting dependencies of ${[c,...B,L].map(O=>Di(O.locator)).join(\"\\u2192\")}:\n${jm(r)}`)}let ge=oO(L);for(let re of ge)if(Z.has(re)){let O=W.get(re);if((n.get(re.name)===re.ident||!L.reasons.has(re.name))&&O.isHoistable!==0&&L.reasons.set(re.name,O.reason),!re.isHoistBorder&&$.indexOf(DQ(re))<0){u.add(L);let ue=Hae(L,re);h([...B,L],j,$,ue,C),u.delete(L)}}},p,C=new Set(oO(c)),y=Array.from(e).map(B=>DQ(B));do{p=C,C=new Set;for(let B of p){if(B.locator===c.locator||B.isHoistBorder)continue;let v=Hae(c,B);h([],Array.from(t),y,v,C)}}while(C.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},jae=r=>{let e=[],t=new Set,i=new Set,n=(s,o,a)=>{if(t.has(s)||(t.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>Di(f.locator)).join(\"\\u2192\")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(\", \")}`:\"\"}`,C=`${h?` hoisted to ${h}`:\"\"}`,y=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${y} - broken require promise for ${c.name}${C}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${y} - broken require promise: no required dependency ${c.name}${C} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(r,r.dependencies,r),e.join(`\n`)},Q4e=(r,e)=>{let{identName:t,name:i,reference:n,peerNames:s}=r,o={name:i,references:new Set([n]),locator:aO(t,n),ident:Uae(t,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[r,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:C,peerNames:y,hoistPriority:B,dependencyKind:v}=c,D=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([C]),locator:aO(p,C),ident:Uae(p,C),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(y),reasons:new Map,decoupled:!0,isHoistBorder:D?D.has(h):!1,hoistPriority:B||0,dependencyKind:v||0,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=C=>{if(!h.has(C)){h.add(C),C.decoupled=!1;for(let y of C.dependencies.values())C.peerNames.has(y.name)||p(y)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of r.dependencies)l(c,o);return o},lO=r=>r.substring(0,r.indexOf(\"@\",1)),b4e=r=>{let e={name:r.name,identName:lO(r.locator),references:new Set(r.references),dependencies:new Set},t=new Set([r]),i=(n,s,o)=>{let a=t.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:lO(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){t.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);t.delete(n)}};for(let n of r.dependencies.values())i(n,r,e);return e},S4e=r=>{let e=new Map,t=new Set([r]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!t.has(a);if(n(a).dependents.add(o.ident),!l){t.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of r.dependencies.values())r.peerNames.has(o.name)||s(r,o);return e},Di=r=>{if(!r)return\"none\";let e=r.indexOf(\"@\",1),t=r.substring(0,e);t.endsWith(\"$wsroot$\")&&(t=`wh:${t.replace(\"$wsroot$\",\"\")}`);let i=r.substring(e+1);if(i===\"workspace:.\")return\".\";if(i){let n=(i.indexOf(\"#\")>0?i.split(\"#\")[1]:i).replace(\"npm:\",\"\");return i.startsWith(\"virtual\")&&(t=`v:${t}`),n.startsWith(\"workspace\")&&(t=`w:${t}`,n=\"\"),`${t}${n?`@${n}`:\"\"}`}else return`${t}`},Gae=5e4,jm=r=>{let e=0,t=(n,s,o=\"\")=>{if(e>Gae||s.has(n))return\"\";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name===u.name?0:c.name>u.name?1:-1),l=\"\";s.add(n);for(let c=0;c<a.length;c++){let u=a[c];if(!n.peerNames.has(u.name)&&u!==n){let g=n.reasons.get(u.name),f=lO(u.locator);l+=`${o}${c<a.length-1?\"\\u251C\\u2500\":\"\\u2514\\u2500\"}${(s.has(u)?\">\":\"\")+(f!==u.name?`a:${u.name}:`:\"\")+Di(u.locator)+(g?` ${g}`:\"\")}\n`,l+=t(u,s,`${o}${c<a.length-1?\"\\u2502 \":\"  \"}`)}}return s.delete(n),l};return t(r,new Set)+(e>Gae?`\nTree is too large, part of the tree has been dunped\n`:\"\")};var qm=(i=>(i.WORKSPACES=\"workspaces\",i.DEPENDENCIES=\"dependencies\",i.NONE=\"none\",i))(qm||{}),qae=\"node_modules\",Du=\"$wsroot$\";var Jm=(r,e)=>{let{packageTree:t,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=x4e(r,e),o=null;if(n.length===0){let a=Yae(t,{hoistingLimits:i});o=D4e(r,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},ea=r=>`${r.name}@${r.reference}`,uO=r=>{let e=new Map;for(let[t,i]of r.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(t)}for(let t of e.values())t.locations=t.locations.sort((i,n)=>{let s=i.split(x.delimiter).length,o=n.split(x.delimiter).length;return n===i?0:s!==o?o-s:n>i?1:-1});return e},Jae=(r,e)=>{let t=P.isVirtualLocator(r)?P.devirtualizeLocator(r):r,i=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e;return P.areLocatorsEqual(t,i)},cO=(r,e,t,i)=>{if(r.linkType!==\"SOFT\")return!1;let n=K.toPortablePath(t.resolveVirtual&&e.reference&&e.reference.startsWith(\"virtual:\")?t.resolveVirtual(r.packageLocation):r.packageLocation);return x.contains(i,n)===null},v4e=r=>{let e=r.getPackageInformation(r.topLevel);if(e===null)throw new Error(\"Assertion failed: Expected the top-level package to have been registered\");if(r.findPackageLocator(e.packageLocation)===null)throw new Error(\"Assertion failed: Expected the top-level package to have a physical locator\");let i=K.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=r.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=ea(f);if(l.has(p))return;l.add(p);let C=r.getPackageInformation(f);if(C){let y=h?ea(h):\"\";if(ea(f)!==y&&C.linkType===\"SOFT\"&&!cO(C,f,r,i)){let B=Wae(C,f,r);(!a.get(B)||f.reference.startsWith(\"workspace:\"))&&a.set(B,f)}for(let[B,v]of C.packageDependencies)v!==null&&(C.packagePeers.has(B)||c(r.getLocator(B,v),f))}};for(let f of o)c(f,null);let u=i.split(x.sep);for(let f of a.values()){let h=r.getPackageInformation(f),C=K.toPortablePath(h.packageLocation.slice(0,-1)).split(x.sep).slice(u.length),y=s;for(let B of C){let v=y.children.get(B);v||(v={children:new Map},y.children.set(B,v)),y=v}y.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=ea(h),C=n.get(p);C||(C=new Set,n.set(p,C)),C.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},x4e=(r,e)=>{let t=[],i=!1,n=new Map,s=v4e(r),o=r.getPackageInformation(r.topLevel);if(o===null)throw new Error(\"Assertion failed: Expected the top-level package to have been registered\");let a=r.findPackageLocator(o.packageLocation);if(a===null)throw new Error(\"Assertion failed: Expected the top-level package to have a physical locator\");let l=K.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,dependencyKind:1},u=new Map,g=(h,p)=>`${ea(p)}:${h}`,f=(h,p,C,y,B,v,D,L)=>{var re,O;let H=g(h,C),j=u.get(H),$=!!j;!$&&C.name===a.name&&C.reference===a.reference&&(j=c,u.set(H,c));let V=cO(p,C,r,l);if(!j){let F=0;V?F=2:p.linkType===\"SOFT\"&&C.name.endsWith(Du)&&(F=1),j={name:h,identName:C.name,reference:C.reference,dependencies:new Set,peerNames:F===1?new Set:p.packagePeers,dependencyKind:F},u.set(H,j)}let W;if(V?W=2:B.linkType===\"SOFT\"?W=1:W=0,j.hoistPriority=Math.max(j.hoistPriority||0,W),L&&!V){let F=ea({name:y.identName,reference:y.reference}),ue=n.get(F)||new Set;n.set(F,ue),ue.add(j.name)}let Z=new Map(p.packageDependencies);if(e.project){let F=e.project.workspacesByCwd.get(K.toPortablePath(p.packageLocation.slice(0,-1)));if(F){let ue=new Set([...Array.from(F.manifest.peerDependencies.values(),he=>P.stringifyIdent(he)),...Array.from(F.manifest.peerDependenciesMeta.keys())]);for(let he of ue)Z.has(he)||(Z.set(he,v.get(he)||null),j.peerNames.add(he))}}let A=ea({name:C.name.replace(Du,\"\"),reference:C.reference}),ae=s.get(A);if(ae)for(let F of ae)Z.set(`${F.name}${Du}`,F.reference);(p!==B||p.linkType!==\"SOFT\"||!V&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(D)))&&y.dependencies.add(j);let ge=C!==a&&p.linkType===\"SOFT\"&&!C.name.endsWith(Du)&&!V;if(!$&&!ge){let F=new Map;for(let[ue,he]of Z)if(he!==null){let ke=r.getLocator(ue,he),Fe=r.getLocator(ue.replace(Du,\"\"),he),Ne=r.getPackageInformation(Fe);if(Ne===null)throw new Error(\"Assertion failed: Expected the package to have been registered\");let oe=cO(Ne,ke,r,l);if(e.validateExternalSoftLinks&&e.project&&oe){Ne.packageDependencies.size>0&&(i=!0);for(let[qe,ne]of Ne.packageDependencies)if(ne!==null){let Y=P.parseLocator(Array.isArray(ne)?`${ne[0]}@${ne[1]}`:`${qe}@${ne}`);if(ea(Y)!==ea(ke)){let pe=Z.get(qe);if(pe){let ie=P.parseLocator(Array.isArray(pe)?`${pe[0]}@${pe[1]}`:`${qe}@${pe}`);Jae(ie,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.reference}`))} dependency ${P.prettyLocator(e.project.configuration,Y)} conflicts with parent dependency ${P.prettyLocator(e.project.configuration,ie)}`})}else{let ie=F.get(qe);if(ie){let de=ie.target,tt=P.parseLocator(Array.isArray(de)?`${de[0]}@${de[1]}`:`${qe}@${de}`);Jae(tt,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.reference}`))} dependency ${P.prettyLocator(e.project.configuration,Y)} conflicts with dependency ${P.prettyLocator(e.project.configuration,tt)} from sibling portal ${P.prettyIdent(e.project.configuration,P.parseIdent(ie.portal.name))}`})}else F.set(qe,{target:Y.reference,portal:ke})}}}}let le=(re=e.hoistingLimitsByCwd)==null?void 0:re.get(D),we=oe?D:x.relative(l,K.toPortablePath(Ne.packageLocation))||Oe.dot,fe=(O=e.hoistingLimitsByCwd)==null?void 0:O.get(we);f(ue,Ne,ke,j,p,Z,we,le===\"dependencies\"||fe===\"dependencies\"||fe===\"workspaces\")}}};return f(a.name,o,a,c,o,o.packageDependencies,Oe.dot,!1),{packageTree:c,hoistingLimits:n,errors:t,preserveSymlinksRequired:i}};function Wae(r,e,t){let i=t.resolveVirtual&&e.reference&&e.reference.startsWith(\"virtual:\")?t.resolveVirtual(r.packageLocation):r.packageLocation;return K.toPortablePath(i||r.packageLocation)}function P4e(r,e,t){let i=e.getLocator(r.name.replace(Du,\"\"),r.reference),n=e.getPackageInformation(i);if(n===null)throw new Error(\"Assertion failed: Expected the package to be registered\");let s,o;return t.pnpifyFs?(o=K.toPortablePath(n.packageLocation),s=\"SOFT\"):(o=Wae(n,r,e),s=n.linkType),{linkType:s,target:o}}var D4e=(r,e,t)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=P4e(u,r,t);return{locator:ea(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split(\"/\");return f?{scope:Ur(g),name:Ur(f)}:{scope:null,name:Ur(g)}},o=new Set,a=(u,g,f)=>{if(o.has(u))return;o.add(u);let h=Array.from(u.references).sort().join(\"#\");for(let p of u.dependencies){let C=Array.from(p.references).sort().join(\"#\");if(p.identName===u.identName&&C===h)continue;let y=Array.from(p.references).sort(),B={name:p.identName,reference:y[0]},{name:v,scope:D}=s(p.name),L=D?[D,v]:[v],H=x.join(g,qae),j=x.join(H,...L),$=`${f}/${B.name}`,V=n(B,f,y.slice(1)),W=!1;if(V.linkType===\"SOFT\"&&t.project){let A=t.project.workspacesByCwd.get(V.target.slice(0,-1));W=!!(A&&!A.manifest.name)}let Z=V.linkType===\"SOFT\"&&j.startsWith(V.target);if(!p.name.endsWith(Du)&&!W&&!Z){let A=i.get(j);if(A){if(A.dirList)throw new Error(`Assertion failed: ${j} cannot merge dir node with leaf node`);{let O=P.parseLocator(A.locator),F=P.parseLocator(V.locator);if(A.linkType!==V.linkType)throw new Error(`Assertion failed: ${j} cannot merge nodes with different link types ${A.nodePath}/${P.stringifyLocator(O)} and ${f}/${P.stringifyLocator(F)}`);if(O.identHash!==F.identHash)throw new Error(`Assertion failed: ${j} cannot merge nodes with different idents ${A.nodePath}/${P.stringifyLocator(O)} and ${f}/s${P.stringifyLocator(F)}`);V.aliases=[...V.aliases,...A.aliases,P.parseLocator(A.locator).reference]}}i.set(j,V);let ae=j.split(\"/\"),ge=ae.indexOf(qae),re=ae.length-1;for(;ge>=0&&re>ge;){let O=K.toPortablePath(ae.slice(0,re).join(x.sep)),F=Ur(ae[re]),ue=i.get(O);if(!ue)i.set(O,{dirList:new Set([F])});else if(ue.dirList){if(ue.dirList.has(F))break;ue.dirList.add(F)}re--}}a(p,V.linkType===\"SOFT\"?V.target:j,$)}},l=n({name:e.name,reference:Array.from(e.references)[0]},\"\",[]),c=l.target;return i.set(c,l),a(e,c,\"\"),i};var vO={};ut(vO,{PnpInstaller:()=>Fu,PnpLinker:()=>ll,default:()=>a8e,getPnpPath:()=>cl,jsInstallUtils:()=>uo,pnpUtils:()=>rE,quotePathIfNeeded:()=>TAe});var NAe=Pe(Xr()),LAe=J(\"url\");var zae={[\"DEFAULT\"]:{collapsed:!1,next:{[\"*\"]:\"DEFAULT\"}},[\"TOP_LEVEL\"]:{collapsed:!1,next:{fallbackExclusionList:\"FALLBACK_EXCLUSION_LIST\",packageRegistryData:\"PACKAGE_REGISTRY_DATA\",[\"*\"]:\"DEFAULT\"}},[\"FALLBACK_EXCLUSION_LIST\"]:{collapsed:!1,next:{[\"*\"]:\"FALLBACK_EXCLUSION_ENTRIES\"}},[\"FALLBACK_EXCLUSION_ENTRIES\"]:{collapsed:!0,next:{[\"*\"]:\"FALLBACK_EXCLUSION_DATA\"}},[\"FALLBACK_EXCLUSION_DATA\"]:{collapsed:!0,next:{[\"*\"]:\"DEFAULT\"}},[\"PACKAGE_REGISTRY_DATA\"]:{collapsed:!1,next:{[\"*\"]:\"PACKAGE_REGISTRY_ENTRIES\"}},[\"PACKAGE_REGISTRY_ENTRIES\"]:{collapsed:!0,next:{[\"*\"]:\"PACKAGE_STORE_DATA\"}},[\"PACKAGE_STORE_DATA\"]:{collapsed:!1,next:{[\"*\"]:\"PACKAGE_STORE_ENTRIES\"}},[\"PACKAGE_STORE_ENTRIES\"]:{collapsed:!0,next:{[\"*\"]:\"PACKAGE_INFORMATION_DATA\"}},[\"PACKAGE_INFORMATION_DATA\"]:{collapsed:!1,next:{packageDependencies:\"PACKAGE_DEPENDENCIES\",[\"*\"]:\"DEFAULT\"}},[\"PACKAGE_DEPENDENCIES\"]:{collapsed:!1,next:{[\"*\"]:\"PACKAGE_DEPENDENCY\"}},[\"PACKAGE_DEPENDENCY\"]:{collapsed:!0,next:{[\"*\"]:\"DEFAULT\"}}};function k4e(r,e,t){let i=\"\";i+=\"[\";for(let n=0,s=r.length;n<s;++n)i+=kQ(String(n),r[n],e,t).replace(/^ +/g,\"\"),n+1<s&&(i+=\", \");return i+=\"]\",i}function R4e(r,e,t){let i=`${t}  `,n=\"\";n+=t,n+=`[\n`;for(let s=0,o=r.length;s<o;++s)n+=i+kQ(String(s),r[s],e,i).replace(/^ +/,\"\"),s+1<o&&(n+=\",\"),n+=`\n`;return n+=t,n+=\"]\",n}function F4e(r,e,t){let i=Object.keys(r),n=\"\";n+=\"{\";for(let s=0,o=i.length,a=0;s<o;++s){let l=i[s],c=r[l];typeof c>\"u\"||(a!==0&&(n+=\", \"),n+=JSON.stringify(l),n+=\": \",n+=kQ(l,c,e,t).replace(/^ +/g,\"\"),a+=1)}return n+=\"}\",n}function N4e(r,e,t){let i=Object.keys(r),n=`${t}  `,s=\"\";s+=t,s+=`{\n`;let o=0;for(let a=0,l=i.length;a<l;++a){let c=i[a],u=r[c];typeof u>\"u\"||(o!==0&&(s+=\",\",s+=`\n`),s+=n,s+=JSON.stringify(c),s+=\": \",s+=kQ(c,u,e,n).replace(/^ +/g,\"\"),o+=1)}return o!==0&&(s+=`\n`),s+=t,s+=\"}\",s}function kQ(r,e,t,i){let{next:n}=zae[t],s=n[r]||n[\"*\"];return Vae(e,s,i)}function Vae(r,e,t){let{collapsed:i}=zae[e];return Array.isArray(r)?i?k4e(r,e,t):R4e(r,e,t):typeof r==\"object\"&&r!==null?i?F4e(r,e,t):N4e(r,e,t):JSON.stringify(r)}function Xae(r){return Vae(r,\"TOP_LEVEL\",\"\")}function Wm(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]<a[o]?-1:a[s]>a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function L4e(r){let e=new Map,t=Wm(r.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of t){let s=e.get(i);typeof s>\"u\"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function T4e(r){return Wm(r.fallbackPool||[],([e])=>e)}function O4e(r){let e=[];for(let[t,i]of Wm(r.packageRegistry,([n])=>n===null?\"0\":`1${n}`)){let n=[];e.push([t,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of Wm(i,([g])=>g===null?\"0\":`1${g}`)){let g=[];t!==null&&s!==null&&!a.has(t)&&g.push([t,s]);for(let[p,C]of Wm(a.entries(),([y])=>y))g.push([p,C]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function zm(r){return{__info:[\"This file is automatically generated. Do not touch it, or risk\",\"your modifications being lost. We also recommend you not to read\",\"it either without using the @yarnpkg/pnp package, as the data layout\",\"is entirely unspecified and WILL change from a version to another.\"],dependencyTreeRoots:r.dependencyTreeRoots,enableTopLevelFallback:r.enableTopLevelFallback||!1,ignorePatternData:r.ignorePattern||null,fallbackExclusionList:L4e(r),fallbackPool:T4e(r),packageRegistryData:O4e(r)}}var $ae=Pe(Zae());function eAe(r,e){return[r?`${r}\n`:\"\",`/* eslint-disable */\n`,`\"use strict\";\n`,`\n`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) {\n`,e.replace(/^/gm,\"  \"),`}\n`,`\n`,(0,$ae.default)()].join(\"\")}function M4e(r){return JSON.stringify(r,null,2)}function K4e(r){return`'${r.replace(/\\\\/g,\"\\\\\\\\\").replace(/'/g,\"\\\\'\").replace(/\\n/g,`\\\\\n`)}'`}function U4e(r){return[`return hydrateRuntimeState(JSON.parse(${K4e(Xae(r))}), {basePath: basePath || __dirname});\n`].join(\"\")}function H4e(r){return[`var path = require('path');\n`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(r)});\n`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)});\n`].join(\"\")}function tAe(r){let e=zm(r),t=U4e(e);return eAe(r.shebang,t)}function rAe(r){let e=zm(r),t=H4e(r.dataLocation),i=eAe(r.shebang,t);return{dataFile:M4e(e),loaderFile:i}}var SAe=J(\"fs\");var vAe=J(\"util\");function fO(r,{basePath:e}){let t=K.toPortablePath(e),i=x.resolve(t),n=r.ignorePatternData!==null?new RegExp(r.ignorePatternData):null,s=new Map,o=new Map(r.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var D;if(g===null!=(h===null))throw new Error(\"Assertion failed: The name and reference should be null, or neither should\");let C=(D=p.discardFromLookup)!=null?D:!1,y={name:g,reference:h},B=s.get(p.packageLocation);B?(B.discardFromLookup=B.discardFromLookup&&C,C||(B.locator=y)):s.set(p.packageLocation,{locator:y,discardFromLookup:C});let v=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:C,get packageLocation(){return v||(v=x.join(i,p.packageLocation))}}]}))])),a=new Map(r.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(r.fallbackPool),c=r.dependencyTreeRoots,u=r.enableTopLevelFallback;return{basePath:t,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var eE=J(\"module\");function qh(r,e){if(typeof r==\"string\")return r;if(r){let t,i;if(Array.isArray(r)){for(t=0;t<r.length;t++)if(i=qh(r[t],e))return i}else for(t in r)if(e.has(t))return qh(r[t],e)}}function ku(r,e,t){throw new Error(t?`No known conditions for \"${e}\" entry in \"${r}\" package`:`Missing \"${e}\" export in \"${r}\" package`)}function G4e(r,e){return e===r?\".\":e[0]===\".\"?e:e.replace(new RegExp(\"^\"+r+\"/\"),\"./\")}function iAe(r,e=\".\",t={}){let{name:i,exports:n}=r;if(n){let{browser:s,require:o,unsafe:a,conditions:l=[]}=t,c=G4e(i,e);if(c[0]!==\".\"&&(c=\"./\"+c),typeof n==\"string\")return c===\".\"?n:ku(i,c);let u=new Set([\"default\",...l]);a||u.add(o?\"require\":\"import\"),a||u.add(s?\"browser\":\"node\");let g,f,h=!1;for(g in n){h=g[0]!==\".\";break}if(h)return c===\".\"?qh(n,u)||ku(i,c,1):ku(i,c);if(f=n[c])return qh(f,u)||ku(i,c,1);for(g in n){if(f=g[g.length-1],f===\"/\"&&c.startsWith(g))return(f=qh(n[g],u))?f+c.substring(g.length):ku(i,c,1);if(f===\"*\"&&c.startsWith(g.slice(0,-1))&&c.substring(g.length-1).length>0)return(f=qh(n[g],u))?f.replace(\"*\",c.substring(g.length-1)):ku(i,c,1)}return ku(i,c)}}var KQ=J(\"url\"),IO=J(\"util\");var Ao=J(\"url\");var cAe=Pe(J(\"assert\"));var nAe=Array.isArray,Vm=JSON.stringify,hO=Object.getOwnPropertyNames,Jh=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),pO=(r,e)=>RegExp.prototype.exec.call(r,e),dO=(r,...e)=>RegExp.prototype[Symbol.replace].apply(r,e),Xm=(r,...e)=>String.prototype.endsWith.apply(r,e),sAe=(r,...e)=>String.prototype.includes.apply(r,e),oAe=(r,...e)=>String.prototype.lastIndexOf.apply(r,e),RQ=(r,...e)=>String.prototype.indexOf.apply(r,e),aAe=(r,...e)=>String.prototype.replace.apply(r,e),_m=(r,...e)=>String.prototype.slice.apply(r,e),rA=(r,...e)=>String.prototype.startsWith.apply(r,e),AAe=Map,lAe=JSON.parse;function FQ(r,e,t){return class extends t{constructor(...i){super(e(...i)),this.code=r,this.name=`${t.name} [${r}]`}}}var uAe=FQ(\"ERR_PACKAGE_IMPORT_NOT_DEFINED\",(r,e,t)=>`Package import specifier \"${r}\" is not defined${e?` in package ${e}package.json`:\"\"} imported from ${t}`,TypeError),CO=FQ(\"ERR_INVALID_MODULE_SPECIFIER\",(r,e,t=void 0)=>`Invalid module \"${r}\" ${e}${t?` imported from ${t}`:\"\"}`,TypeError),gAe=FQ(\"ERR_INVALID_PACKAGE_TARGET\",(r,e,t,i=!1,n=void 0)=>{let s=typeof t==\"string\"&&!i&&t.length&&!rA(t,\"./\");return e===\".\"?((0,cAe.default)(i===!1),`Invalid \"exports\" main target ${Vm(t)} defined in the package config ${r}package.json${n?` imported from ${n}`:\"\"}${s?'; targets must start with \"./\"':\"\"}`):`Invalid \"${i?\"imports\":\"exports\"}\" target ${Vm(t)} defined for '${e}' in the package config ${r}package.json${n?` imported from ${n}`:\"\"}${s?'; targets must start with \"./\"':\"\"}`},Error),NQ=FQ(\"ERR_INVALID_PACKAGE_CONFIG\",(r,e,t)=>`Invalid package config ${r}${e?` while importing ${e}`:\"\"}${t?`. ${t}`:\"\"}`,Error);var TQ=J(\"url\");function fAe(r,e){let t=Object.create(null);for(let i=0;i<e.length;i++){let n=e[i];Jh(r,n)&&(t[n]=r[n])}return t}var LQ=new AAe;function Y4e(r,e,t,i){let n=LQ.get(r);if(n!==void 0)return n;let s=i(r);if(s===void 0){let h={pjsonPath:r,exists:!1,main:void 0,name:void 0,type:\"none\",exports:void 0,imports:void 0};return LQ.set(r,h),h}let o;try{o=lAe(s)}catch(h){throw new NQ(r,(t?`\"${e}\" from `:\"\")+(0,TQ.fileURLToPath)(t||e),h.message)}let{imports:a,main:l,name:c,type:u}=fAe(o,[\"imports\",\"main\",\"name\",\"type\"]),g=Jh(o,\"exports\")?o.exports:void 0;(typeof a!=\"object\"||a===null)&&(a=void 0),typeof l!=\"string\"&&(l=void 0),typeof c!=\"string\"&&(c=void 0),u!==\"module\"&&u!==\"commonjs\"&&(u=\"none\");let f={pjsonPath:r,exists:!0,main:l,name:c,type:u,exports:g,imports:a};return LQ.set(r,f),f}function hAe(r,e){let t=new URL(\"./package.json\",r);for(;;){let s=t.pathname;if(Xm(s,\"node_modules/package.json\"))break;let o=Y4e((0,TQ.fileURLToPath)(t),r,void 0,e);if(o.exists)return o;let a=t;if(t=new URL(\"../package.json\",t),t.pathname===a.pathname)break}let i=(0,TQ.fileURLToPath)(t),n={pjsonPath:i,exists:!1,main:void 0,name:void 0,type:\"none\",exports:void 0,imports:void 0};return LQ.set(i,n),n}function j4e(r,e,t){throw new uAe(r,e&&(0,Ao.fileURLToPath)(new URL(\".\",e)),(0,Ao.fileURLToPath)(t))}function q4e(r,e,t,i){let n=`request is not a valid subpath for the \"${t?\"imports\":\"exports\"}\" resolution of ${(0,Ao.fileURLToPath)(e)}`;throw new CO(r,n,i&&(0,Ao.fileURLToPath)(i))}function Zm(r,e,t,i,n){throw typeof e==\"object\"&&e!==null?e=Vm(e,null,\"\"):e=`${e}`,new gAe((0,Ao.fileURLToPath)(new URL(\".\",t)),r,e,i,n&&(0,Ao.fileURLToPath)(n))}var pAe=/(^|\\\\|\\/)((\\.|%2e)(\\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\\\|\\/|$)/i,dAe=/\\*/g;function J4e(r,e,t,i,n,s,o,a){if(e!==\"\"&&!s&&r[r.length-1]!==\"/\"&&Zm(t,r,i,o,n),!rA(r,\"./\")){if(o&&!rA(r,\"../\")&&!rA(r,\"/\")){let g=!1;try{new URL(r),g=!0}catch{}if(!g)return s?dO(dAe,r,()=>e):r+e}Zm(t,r,i,o,n)}pO(pAe,_m(r,2))!==null&&Zm(t,r,i,o,n);let l=new URL(r,i),c=l.pathname,u=new URL(\".\",i).pathname;if(rA(c,u)||Zm(t,r,i,o,n),e===\"\")return l;if(pO(pAe,e)!==null){let g=s?aAe(t,\"*\",()=>e):t+e;q4e(g,i,o,n)}return s?new URL(dO(dAe,l.href,()=>e)):new URL(e,l)}function W4e(r){let e=+r;return`${e}`!==r?!1:e>=0&&e<4294967295}function OQ(r,e,t,i,n,s,o,a){if(typeof e==\"string\")return J4e(e,t,i,r,n,s,o,a);if(nAe(e)){if(e.length===0)return null;let l;for(let c=0;c<e.length;c++){let u=e[c],g;try{g=OQ(r,u,t,i,n,s,o,a)}catch(f){if(l=f,f.code===\"ERR_INVALID_PACKAGE_TARGET\")continue;throw f}if(g!==void 0){if(g===null){l=null;continue}return g}}if(l==null)return l;throw l}else if(typeof e==\"object\"&&e!==null){let l=hO(e);for(let c=0;c<l.length;c++){let u=l[c];if(W4e(u))throw new NQ((0,Ao.fileURLToPath)(r),n,'\"exports\" cannot contain numeric property keys.')}for(let c=0;c<l.length;c++){let u=l[c];if(u===\"default\"||a.has(u)){let g=e[u],f=OQ(r,g,t,i,n,s,o,a);if(f===void 0)continue;return f}}return}else if(e===null)return null;Zm(i,e,r,o,n)}function z4e(r,e){let t=RQ(r,\"*\"),i=RQ(e,\"*\"),n=t===-1?r.length:t+1,s=i===-1?e.length:i+1;return n>s?-1:s>n||t===-1?1:i===-1||r.length>e.length?-1:e.length>r.length?1:0}function CAe({name:r,base:e,conditions:t,readFileSyncFn:i}){if(r===\"#\"||rA(r,\"#/\")||Xm(r,\"/\")){let o=\"is not a valid internal imports specifier name\";throw new CO(r,o,(0,Ao.fileURLToPath)(e))}let n,s=hAe(e,i);if(s.exists){n=(0,Ao.pathToFileURL)(s.pjsonPath);let o=s.imports;if(o)if(Jh(o,r)&&!sAe(r,\"*\")){let a=OQ(n,o[r],\"\",r,e,!1,!0,t);if(a!=null)return a}else{let a=\"\",l,c=hO(o);for(let u=0;u<c.length;u++){let g=c[u],f=RQ(g,\"*\");if(f!==-1&&rA(r,_m(g,0,f))){let h=_m(g,f+1);r.length>=g.length&&Xm(r,h)&&z4e(a,g)===1&&oAe(g,\"*\")===f&&(a=g,l=_m(r,f,r.length-h.length))}}if(a){let u=o[a],g=OQ(n,u,l,a,e,!0,!0,t);if(g!=null)return g}}}j4e(r,n,e)}var V4e=new Set([\"BUILTIN_NODE_RESOLUTION_FAILED\",\"MISSING_DEPENDENCY\",\"MISSING_PEER_DEPENDENCY\",\"QUALIFIED_PATH_RESOLUTION_FAILED\",\"UNDECLARED_DEPENDENCY\"]);function ri(r,e,t={},i){i!=null||(i=V4e.has(r)?\"MODULE_NOT_FOUND\":r);let n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...n,value:i},pnpCode:{...n,value:r},data:{...n,value:t}})}function lo(r){return K.normalize(K.fromPortablePath(r))}var yAe=Pe(EAe());function wAe(r){return X4e(),EO[r]}var EO;function X4e(){EO||(EO={\"--conditions\":[],...IAe(_4e()),...IAe(process.execArgv)})}function IAe(r){return(0,yAe.default)({\"--conditions\":[String],\"-C\":\"--conditions\"},{argv:r,permissive:!0})}function _4e(){let r=[],e=Z4e(process.env.NODE_OPTIONS||\"\",r);return r.length,e}function Z4e(r,e){let t=[],i=!1,n=!0;for(let s=0;s<r.length;++s){let o=r[s];if(o===\"\\\\\"&&i){if(s+1===r.length)return e.push(`invalid value for NODE_OPTIONS (invalid escape)\n`),t;o=r[++s]}else if(o===\" \"&&!i){n=!0;continue}else if(o==='\"'){i=!i;continue}n?(t.push(o),n=!1):t[t.length-1]+=o}return i&&e.push(`invalid value for NODE_OPTIONS (unterminated string)\n`),t}var QAe=J(\"module\");var[co,Ru]=process.versions.node.split(\".\").map(r=>parseInt(r,10)),cwt=co>16||co===16&&Ru>=12,uwt=co>17||co===17&&Ru>=5||co===16&&Ru>=15,gwt=co>17||co===17&&Ru>=1||co===16&&Ru>14,BAe=co>19||co===19&&Ru>=2||co===18&&Ru>=13;var $4e=new Set(QAe.Module.builtinModules||Object.keys(process.binding(\"natives\"))),MQ=r=>r.startsWith(\"node:\")||$4e.has(r);function bAe(r){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(r=r.map(e=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(e)))),BAe)process.send({\"watch:require\":r});else for(let e of r)process.send({\"watch:require\":e})}function yO(r,e){let t=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=/^(?![a-zA-Z]:[\\\\/]|\\\\\\\\|\\.{0,2}(?:\\/|$))((?:node:)?(?:@[^/]+\\/)?[^/]+)\\/*(.*|)$/,s=/^(\\/|\\.{1,2}(\\/|$))/,o=/\\/$/,a=/^\\.{0,2}\\//,l={name:null,reference:null},c=[],u=new Set;if(r.enableTopLevelFallback===!0&&c.push(l),e.compatibilityMode!==!1)for(let oe of[\"react-scripts\",\"gatsby\"]){let le=r.packageRegistry.get(oe);if(le)for(let we of le.keys()){if(we===null)throw new Error(\"Assertion failed: This reference shouldn't be null\");c.push({name:oe,reference:we})}}let{ignorePattern:g,packageRegistry:f,packageLocatorsByLocations:h}=r;function p(oe,le){return{fn:oe,args:le,error:null,result:null}}function C(oe){var qe,ne,Y,pe,ie,de;let le=(Y=(ne=(qe=process.stderr)==null?void 0:qe.hasColors)==null?void 0:ne.call(qe))!=null?Y:process.stdout.isTTY,we=(tt,Pt)=>`\\x1B[${tt}m${Pt}\\x1B[0m`,fe=oe.error;console.error(fe?we(\"31;1\",`\\u2716 ${(pe=oe.error)==null?void 0:pe.message.replace(/\\n.*/s,\"\")}`):we(\"33;1\",\"\\u203C Resolution\")),oe.args.length>0&&console.error();for(let tt of oe.args)console.error(`  ${we(\"37;1\",\"In \\u2190\")} ${(0,IO.inspect)(tt,{colors:le,compact:!0})}`);oe.result&&(console.error(),console.error(`  ${we(\"37;1\",\"Out \\u2192\")} ${(0,IO.inspect)(oe.result,{colors:le,compact:!0})}`));let Ae=(de=(ie=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ie.slice(2))!=null?de:[];if(Ae.length>0){console.error();for(let tt of Ae)console.error(`  ${we(\"38;5;244\",tt)}`)}console.error()}function y(oe,le){if(e.allowDebug===!1)return le;if(Number.isFinite(i)){if(i>=2)return(...we)=>{let fe=p(oe,we);try{return fe.result=le(...we)}catch(Ae){throw fe.error=Ae}finally{C(fe)}};if(i>=1)return(...we)=>{try{return le(...we)}catch(fe){let Ae=p(oe,we);throw Ae.error=fe,C(Ae),fe}}}return le}function B(oe){let le=A(oe);if(!le)throw ri(\"INTERNAL\",\"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)\");return le}function v(oe){if(oe.name===null)return!0;for(let le of r.dependencyTreeRoots)if(le.name===oe.name&&le.reference===oe.reference)return!0;return!1}let D=new Set([\"default\",\"node\",\"require\",...wAe(\"--conditions\")]);function L(oe,le=D){let we=re(x.join(oe,\"internal.js\"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(we===null)throw ri(\"INTERNAL\",`The locator that owns the \"${oe}\" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:fe}=B(we),Ae=x.join(fe,xt.manifest);if(!e.fakeFs.existsSync(Ae))return null;let qe=JSON.parse(e.fakeFs.readFileSync(Ae,\"utf8\")),ne=x.contains(fe,oe);if(ne===null)throw ri(\"INTERNAL\",\"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)\");a.test(ne)||(ne=`./${ne}`);let Y;try{Y=iAe(qe,x.normalize(ne),{conditions:le,unsafe:!0})}catch(pe){throw ri(\"EXPORTS_RESOLUTION_FAILED\",pe.message,{unqualifiedPath:lo(oe),locator:we,pkgJson:qe,subpath:lo(ne),conditions:le},\"ERR_PACKAGE_PATH_NOT_EXPORTED\")}return typeof Y==\"string\"?x.join(fe,Y):null}function H(oe,le,{extensions:we}){let fe;try{le.push(oe),fe=e.fakeFs.statSync(oe)}catch{}if(fe&&!fe.isDirectory())return e.fakeFs.realpathSync(oe);if(fe&&fe.isDirectory()){let Ae;try{Ae=JSON.parse(e.fakeFs.readFileSync(x.join(oe,xt.manifest),\"utf8\"))}catch{}let qe;if(Ae&&Ae.main&&(qe=x.resolve(oe,Ae.main)),qe&&qe!==oe){let ne=H(qe,le,{extensions:we});if(ne!==null)return ne}}for(let Ae=0,qe=we.length;Ae<qe;Ae++){let ne=`${oe}${we[Ae]}`;if(le.push(ne),e.fakeFs.existsSync(ne))return ne}if(fe&&fe.isDirectory())for(let Ae=0,qe=we.length;Ae<qe;Ae++){let ne=x.format({dir:oe,name:\"index\",ext:we[Ae]});if(le.push(ne),e.fakeFs.existsSync(ne))return ne}return null}function j(oe){let le=new eE.Module(oe,null);return le.filename=oe,le.paths=eE.Module._nodeModulePaths(oe),le}function $(oe,le){return le.endsWith(\"/\")&&(le=x.join(le,\"internal.js\")),eE.Module._resolveFilename(K.fromPortablePath(oe),j(K.fromPortablePath(le)),!1,{plugnplay:!1})}function V(oe){if(g===null)return!1;let le=x.contains(r.basePath,oe);return le===null?!1:!!g.test(le.replace(/\\/$/,\"\"))}let W={std:3,resolveVirtual:1,getAllLocators:1},Z=l;function A({name:oe,reference:le}){let we=f.get(oe);if(!we)return null;let fe=we.get(le);return fe||null}function ae({name:oe,reference:le}){let we=[];for(let[fe,Ae]of f)if(fe!==null)for(let[qe,ne]of Ae)qe===null||ne.packageDependencies.get(oe)!==le||fe===oe&&qe===le||we.push({name:fe,reference:qe});return we}function ge(oe,le){let we=new Map,fe=new Set,Ae=ne=>{let Y=JSON.stringify(ne.name);if(fe.has(Y))return;fe.add(Y);let pe=ae(ne);for(let ie of pe)if(B(ie).packagePeers.has(oe))Ae(ie);else{let tt=we.get(ie.name);typeof tt>\"u\"&&we.set(ie.name,tt=new Set),tt.add(ie.reference)}};Ae(le);let qe=[];for(let ne of[...we.keys()].sort())for(let Y of[...we.get(ne)].sort())qe.push({name:ne,reference:Y});return qe}function re(oe,{resolveIgnored:le=!1,includeDiscardFromLookup:we=!1}={}){if(V(oe)&&!le)return null;let fe=x.relative(r.basePath,oe);fe.match(s)||(fe=`./${fe}`),fe.endsWith(\"/\")||(fe=`${fe}/`);do{let Ae=h.get(fe);if(typeof Ae>\"u\"||Ae.discardFromLookup&&!we){fe=fe.substring(0,fe.lastIndexOf(\"/\",fe.length-2)+1);continue}return Ae.locator}while(fe!==\"\");return null}function O(oe){try{return e.fakeFs.readFileSync(K.toPortablePath(oe),\"utf8\")}catch(le){if(le.code===\"ENOENT\")return;throw le}}function F(oe,le,{considerBuiltins:we=!0}={}){if(oe.startsWith(\"#\"))throw new Error(\"resolveToUnqualified can not handle private import mappings\");if(oe===\"pnpapi\")return K.toPortablePath(e.pnpapiResolution);if(we&&MQ(oe))return null;let fe=lo(oe),Ae=le&&lo(le);if(le&&V(le)&&(!x.isAbsolute(oe)||re(oe)===null)){let Y=$(oe,le);if(Y===!1)throw ri(\"BUILTIN_NODE_RESOLUTION_FAILED\",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp)\n\nRequire request: \"${fe}\"\nRequired by: ${Ae}\n`,{request:fe,issuer:Ae});return K.toPortablePath(Y)}let qe,ne=oe.match(n);if(ne){if(!le)throw ri(\"API_ERROR\",\"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute\",{request:fe,issuer:Ae});let[,Y,pe]=ne,ie=re(le);if(!ie){let hr=$(oe,le);if(hr===!1)throw ri(\"BUILTIN_NODE_RESOLUTION_FAILED\",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree).\n\nRequire path: \"${fe}\"\nRequired by: ${Ae}\n`,{request:fe,issuer:Ae});return K.toPortablePath(hr)}let tt=B(ie).packageDependencies.get(Y),Pt=null;if(tt==null&&ie.name!==null){let hr=r.fallbackExclusionList.get(ie.name);if(!hr||!hr.has(ie.reference)){for(let ni=0,Ls=c.length;ni<Ls;++ni){let Ei=B(c[ni]).packageDependencies.get(Y);if(Ei!=null){t?Pt=Ei:tt=Ei;break}}if(r.enableTopLevelFallback&&tt==null&&Pt===null){let ni=r.fallbackPool.get(Y);ni!=null&&(Pt=ni)}}}let It=null;if(tt===null)if(v(ie))It=ri(\"MISSING_PEER_DEPENDENCY\",`Your application tried to access ${Y} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed.\n\nRequired package: ${Y}${Y!==fe?` (via \"${fe}\")`:\"\"}\nRequired by: ${Ae}\n`,{request:fe,issuer:Ae,dependencyName:Y});else{let hr=ge(Y,ie);hr.every(fi=>v(fi))?It=ri(\"MISSING_PEER_DEPENDENCY\",`${ie.name} tried to access ${Y} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.\n\nRequired package: ${Y}${Y!==fe?` (via \"${fe}\")`:\"\"}\nRequired by: ${ie.name}@${ie.reference} (via ${Ae})\n${hr.map(fi=>`Ancestor breaking the chain: ${fi.name}@${fi.reference}\n`).join(\"\")}\n`,{request:fe,issuer:Ae,issuerLocator:Object.assign({},ie),dependencyName:Y,brokenAncestors:hr}):It=ri(\"MISSING_PEER_DEPENDENCY\",`${ie.name} tried to access ${Y} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.\n\nRequired package: ${Y}${Y!==fe?` (via \"${fe}\")`:\"\"}\nRequired by: ${ie.name}@${ie.reference} (via ${Ae})\n\n${hr.map(fi=>`Ancestor breaking the chain: ${fi.name}@${fi.reference}\n`).join(\"\")}\n`,{request:fe,issuer:Ae,issuerLocator:Object.assign({},ie),dependencyName:Y,brokenAncestors:hr})}else tt===void 0&&(!we&&MQ(oe)?v(ie)?It=ri(\"UNDECLARED_DEPENDENCY\",`Your application tried to access ${Y}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Y} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound.\n\nRequired package: ${Y}${Y!==fe?` (via \"${fe}\")`:\"\"}\nRequired by: ${Ae}\n`,{request:fe,issuer:Ae,dependencyName:Y}):It=ri(\"UNDECLARED_DEPENDENCY\",`${ie.name} tried to access ${Y}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Y} isn't otherwise declared in ${ie.name}'s dependencies, this makes the require call ambiguous and unsound.\n\nRequired package: ${Y}${Y!==fe?` (via \"${fe}\")`:\"\"}\nRequired by: ${Ae}\n`,{request:fe,issuer:Ae,issuerLocator:Object.assign({},ie),dependencyName:Y}):v(ie)?It=ri(\"UNDECLARED_DEPENDENCY\",`Your application tried to access ${Y}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${Y}${Y!==fe?` (via \"${fe}\")`:\"\"}\nRequired by: ${Ae}\n`,{request:fe,issuer:Ae,dependencyName:Y}):It=ri(\"UNDECLARED_DEPENDENCY\",`${ie.name} tried to access ${Y}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${Y}${Y!==fe?` (via \"${fe}\")`:\"\"}\nRequired by: ${ie.name}@${ie.reference} (via ${Ae})\n`,{request:fe,issuer:Ae,issuerLocator:Object.assign({},ie),dependencyName:Y}));if(tt==null){if(Pt===null||It===null)throw It||new Error(\"Assertion failed: Expected an error to have been set\");tt=Pt;let hr=It.message.replace(/\\n.*/g,\"\");It.message=hr,!u.has(hr)&&i!==0&&(u.add(hr),process.emitWarning(It))}let Or=Array.isArray(tt)?{name:tt[0],reference:tt[1]}:{name:Y,reference:tt},ii=B(Or);if(!ii.packageLocation)throw ri(\"MISSING_DEPENDENCY\",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.\n\nRequired package: ${Or.name}@${Or.reference}${Or.name!==fe?` (via \"${fe}\")`:\"\"}\nRequired by: ${ie.name}@${ie.reference} (via ${Ae})\n`,{request:fe,issuer:Ae,dependencyLocator:Object.assign({},Or)});let gi=ii.packageLocation;pe?qe=x.join(gi,pe):qe=gi}else if(x.isAbsolute(oe))qe=x.normalize(oe);else{if(!le)throw ri(\"API_ERROR\",\"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute\",{request:fe,issuer:Ae});let Y=x.resolve(le);le.match(o)?qe=x.normalize(x.join(Y,oe)):qe=x.normalize(x.join(x.dirname(Y),oe))}return x.normalize(qe)}function ue(oe,le,we=D){if(s.test(oe))return le;let fe=L(le,we);return fe?x.normalize(fe):le}function he(oe,{extensions:le=Object.keys(eE.Module._extensions)}={}){var Ae,qe;let we=[],fe=H(oe,we,{extensions:le});if(fe)return x.normalize(fe);{bAe(we.map(pe=>K.fromPortablePath(pe)));let ne=lo(oe),Y=re(oe);if(Y){let{packageLocation:pe}=B(Y),ie=!0;try{e.fakeFs.accessSync(pe)}catch(de){if((de==null?void 0:de.code)===\"ENOENT\")ie=!1;else{let tt=((qe=(Ae=de==null?void 0:de.message)!=null?Ae:de)!=null?qe:\"empty exception thrown\").replace(/^[A-Z]/,Pt=>Pt.toLowerCase());throw ri(\"QUALIFIED_PATH_RESOLUTION_FAILED\",`Required package exists but could not be accessed (${tt}).\n\nMissing package: ${Y.name}@${Y.reference}\nExpected package location: ${lo(pe)}\n`,{unqualifiedPath:ne,extensions:le})}}if(!ie){let de=pe.includes(\"/unplugged/\")?\"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).\":\"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.\";throw ri(\"QUALIFIED_PATH_RESOLUTION_FAILED\",`${de}\n\nMissing package: ${Y.name}@${Y.reference}\nExpected package location: ${lo(pe)}\n`,{unqualifiedPath:ne,extensions:le})}}throw ri(\"QUALIFIED_PATH_RESOLUTION_FAILED\",`Qualified path resolution failed: we looked for the following paths, but none could be accessed.\n\nSource path: ${ne}\n${we.map(pe=>`Not found: ${lo(pe)}\n`).join(\"\")}`,{unqualifiedPath:ne,extensions:le})}}function ke(oe,le,we){var Ae;if(!le)throw new Error(\"Assertion failed: An issuer is required to resolve private import mappings\");let fe=CAe({name:oe,base:(0,KQ.pathToFileURL)(K.fromPortablePath(le)),conditions:(Ae=we.conditions)!=null?Ae:D,readFileSyncFn:O});if(fe instanceof URL)return he(K.toPortablePath((0,KQ.fileURLToPath)(fe)),{extensions:we.extensions});if(fe.startsWith(\"#\"))throw new Error(\"Mapping from one private import to another isn't allowed\");return Fe(fe,le,we)}function Fe(oe,le,we={}){try{if(oe.startsWith(\"#\"))return ke(oe,le,we);let{considerBuiltins:fe,extensions:Ae,conditions:qe}=we,ne=F(oe,le,{considerBuiltins:fe});if(oe===\"pnpapi\")return ne;if(ne===null)return null;let Y=()=>le!==null?V(le):!1,pe=(!fe||!MQ(oe))&&!Y()?ue(oe,ne,qe):ne;return he(pe,{extensions:Ae})}catch(fe){throw Object.prototype.hasOwnProperty.call(fe,\"pnpCode\")&&Object.assign(fe.data,{request:lo(oe),issuer:le&&lo(le)}),fe}}function Ne(oe){let le=x.normalize(oe),we=Br.resolveVirtual(le);return we!==le?we:null}return{VERSIONS:W,topLevel:Z,getLocator:(oe,le)=>Array.isArray(le)?{name:le[0],reference:le[1]}:{name:oe,reference:le},getDependencyTreeRoots:()=>[...r.dependencyTreeRoots],getAllLocators(){let oe=[];for(let[le,we]of f)for(let fe of we.keys())le!==null&&fe!==null&&oe.push({name:le,reference:fe});return oe},getPackageInformation:oe=>{let le=A(oe);if(le===null)return null;let we=K.fromPortablePath(le.packageLocation);return{...le,packageLocation:we}},findPackageLocator:oe=>re(K.toPortablePath(oe)),resolveToUnqualified:y(\"resolveToUnqualified\",(oe,le,we)=>{let fe=le!==null?K.toPortablePath(le):null,Ae=F(K.toPortablePath(oe),fe,we);return Ae===null?null:K.fromPortablePath(Ae)}),resolveUnqualified:y(\"resolveUnqualified\",(oe,le)=>K.fromPortablePath(he(K.toPortablePath(oe),le))),resolveRequest:y(\"resolveRequest\",(oe,le,we)=>{let fe=le!==null?K.toPortablePath(le):null,Ae=Fe(K.toPortablePath(oe),fe,we);return Ae===null?null:K.fromPortablePath(Ae)}),resolveVirtual:y(\"resolveVirtual\",oe=>{let le=Ne(K.toPortablePath(oe));return le!==null?K.fromPortablePath(le):null})}}var Dwt=(0,vAe.promisify)(SAe.readFile);var xAe=(r,e,t)=>{let i=zm(r),n=fO(i,{basePath:e}),s=K.join(e,xt.pnpCjs);return yO(n,{fakeFs:t,pnpapiResolution:s})};var BO=Pe(DAe());var uo={};ut(uo,{checkAndReportManifestCompatibility:()=>RAe,checkManifestCompatibility:()=>kAe,extractBuildScripts:()=>UQ,getExtractHint:()=>QO,hasBindingGyp:()=>bO});function kAe(r){return P.isPackageCompatible(r,Cs.getArchitectureSet())}function RAe(r,e,{configuration:t,report:i}){return kAe(r)?!0:(i==null||i.reportWarningOnce(76,`${P.prettyLocator(t,r)} The ${Cs.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function UQ(r,e,t,{configuration:i,report:n}){let s=[];for(let a of[\"preinstall\",\"install\",\"postinstall\"])e.manifest.scripts.has(a)&&s.push([0,a]);return!e.manifest.scripts.has(\"install\")&&e.misc.hasBindingGyp&&s.push([1,\"node-gyp rebuild\"]),s.length===0?[]:r.linkType!==\"HARD\"?(n==null||n.reportWarningOnce(6,`${P.prettyLocator(i,r)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):t&&t.built===!1?(n==null||n.reportInfoOnce(5,`${P.prettyLocator(i,r)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get(\"enableScripts\")&&!t.built?(n==null||n.reportWarningOnce(4,`${P.prettyLocator(i,r)} lists build scripts, but all build scripts have been disabled.`),[]):RAe(r,\"build\",{configuration:i,report:n})?s:[]}var t8e=new Set([\".exe\",\".h\",\".hh\",\".hpp\",\".c\",\".cc\",\".cpp\",\".java\",\".jar\",\".node\"]);function QO(r){return r.packageFs.getExtractHint({relevantExtensions:t8e})}function bO(r){let e=x.join(r.prefixPath,\"binding.gyp\");return r.packageFs.existsSync(e)}var rE={};ut(rE,{getUnpluggedPath:()=>tE});function tE(r,{configuration:e}){return x.resolve(e.get(\"pnpUnpluggedFolder\"),P.slugifyLocator(r))}var r8e=new Set([P.makeIdent(null,\"open\").identHash,P.makeIdent(null,\"opn\").identHash]),ll=class{constructor(){this.mode=\"strict\";this.pnpCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error(\"Assertion failed: Expected the PnP linker to be enabled\");let i=cl(t.project).cjs;if(!M.existsSync(i))throw new be(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})),s={name:P.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new be(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed PnP map - running an install might help`);return K.toPortablePath(o.packageLocation)}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=cl(t.project).cjs;if(!M.existsSync(i))return null;let s=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})).findPackageLocator(K.fromPortablePath(e));return s?P.makeLocator(P.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Fu(e)}isEnabled(e){return!(e.project.configuration.get(\"nodeLinker\")!==\"pnp\"||e.project.configuration.get(\"pnpMode\")!==this.mode)}},Fu=class{constructor(e){this.opts=e;this.mode=\"strict\";this.asyncActions=new Ie.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:\"PnpInstaller\",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t,i){let n=P.stringifyIdent(e),s=e.reference,o=!!this.opts.project.tryWorkspaceByLocator(e),a=P.isVirtualLocator(e),l=e.peerDependencies.size>0&&!a,c=!l&&!o,u=!l&&e.linkType!==\"SOFT\",g,f;if(c||u){let D=a?P.devirtualizeLocator(e):e;g=this.customData.store.get(D.locatorHash),typeof g>\"u\"&&(g=await i8e(t),e.linkType===\"HARD\"&&this.customData.store.set(D.locatorHash,g)),g.manifest.type===\"module\"&&(this.isESMLoaderRequired=!0),f=this.opts.project.getDependencyMeta(D,e.version)}let h=c?UQ(e,g,f,{configuration:this.opts.project.configuration,report:this.opts.report}):[],p=u?await this.unplugPackageIfNeeded(e,g,t,f,i):t.packageFs;if(x.isAbsolute(t.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${t.prefixPath}) to be relative to the parent`);let C=x.resolve(p.getRealPath(),t.prefixPath),y=SO(this.opts.project.cwd,C),B=new Map,v=new Set;if(a){for(let D of e.peerDependencies.values())B.set(P.stringifyIdent(D),null),v.add(P.stringifyIdent(D));if(!o){let D=P.devirtualizeLocator(e);this.virtualTemplates.set(D.locatorHash,{location:SO(this.opts.project.cwd,Br.resolveVirtual(C)),locator:D})}}return Ie.getMapWithDefault(this.packageRegistry,n).set(s,{packageLocation:y,packageDependencies:B,packagePeers:v,linkType:e.linkType,discardFromLookup:t.discardFromLookup||!1}),{packageLocation:C,buildDirective:h.length>0?h:null}}async attachInternalDependencies(e,t){let i=this.getPackageInformation(e);for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){for(let i of t)this.getDiskInformation(i).packageDependencies.set(P.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get(\"pnpMode\")!==this.mode)return;let e=cl(this.opts.project);if(M.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(0,`Removing the old ${ee.pretty(this.opts.project.configuration,xt.pnpJs,ee.Type.PATH)} file. You might need to manually update existing references to reference the new ${ee.pretty(this.opts.project.configuration,xt.pnpCjs,ee.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${ee.pretty(this.opts.project.configuration,\"yarn sdks\",ee.Type.CODE)}.`),await M.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await M.removePromise(e.esmLoader),this.opts.project.configuration.get(\"nodeLinker\")!==\"pnp\"){await M.removePromise(e.cjs),await M.removePromise(this.opts.project.configuration.get(\"pnpDataPath\")),await M.removePromise(e.esmLoader),await M.removePromise(this.opts.project.configuration.get(\"pnpUnpluggedFolder\"));return}for(let{locator:u,location:g}of this.virtualTemplates.values())Ie.getMapWithDefault(this.packageRegistry,P.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:\"SOFT\",discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let t=this.opts.project.configuration.get(\"pnpFallbackMode\"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:P.stringifyIdent(u),reference:u.reference})),n=t!==\"none\",s=[],o=new Map,a=Ie.buildIgnorePattern([\".yarn/sdks/**\",...this.opts.project.configuration.get(\"pnpIgnorePatterns\")]),l=this.packageRegistry,c=this.opts.project.configuration.get(\"pnpShebang\");if(t===\"dependencies-only\")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:P.stringifyIdent(u),reference:u.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has(\"pnpEnableEsmLoader\"))return this.opts.project.configuration.get(\"pnpEnableEsmLoader\");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type===\"module\")return!0;return!1}async finalizeInstallWithPnp(e){let t=cl(this.opts.project),i=this.opts.project.configuration.get(\"pnpDataPath\"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(31,\"One or more node_modules have been detected and will be removed. This operation may take some time.\");for(let o of n)await M.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get(\"pnpEnableInlining\")){let o=tAe(e);await M.changeFilePromise(t.cjs,o,{automaticNewlines:!0,mode:493}),await M.removePromise(i)}else{let o=x.relative(x.dirname(t.cjs),i),{dataFile:a,loaderFile:l}=rAe({...e,dataLocation:o});await M.changeFilePromise(t.cjs,l,{automaticNewlines:!0,mode:493}),await M.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,\"ESM support for PnP uses the experimental loader API and is therefore experimental\"),await M.changeFilePromise(t.esmLoader,(0,BO.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get(\"pnpUnpluggedFolder\");if(this.unpluggedPaths.size===0)await M.removePromise(s);else for(let o of await M.readdirPromise(s)){let a=x.resolve(s,o);this.unpluggedPaths.has(a)||await M.removePromise(a)}}async locateNodeModules(e){let t=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=x.join(n.cwd,\"node_modules\");if(i&&i.test(x.relative(this.opts.project.cwd,n.cwd))||!M.existsSync(s))continue;let o=await M.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===\".bin\"||!l.name.startsWith(\".\"));if(a.length===o.length)t.push(s);else for(let l of a)t.push(x.join(s,l.name))}return t}async unplugPackageIfNeeded(e,t,i,n,s){return this.shouldBeUnplugged(e,t,n)?this.unplugPackage(e,i,s):i.packageFs}shouldBeUnplugged(e,t,i){return typeof i.unplugged<\"u\"?i.unplugged:r8e.has(e.identHash)||e.conditions!=null?!0:t.manifest.preferUnplugged!==null?t.manifest.preferUnplugged:!!(UQ(e,t,i,{configuration:this.opts.project.configuration}).length>0||t.misc.extractHint)}async unplugPackage(e,t,i){let n=tE(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new yo(n,{baseFs:t.packageFs,pathUtils:x}):(this.unpluggedPaths.add(n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let s=x.join(n,t.prefixPath,\".ready\");await M.existsPromise(s)||(this.opts.project.storedBuildState.delete(e.locatorHash),await M.mkdirPromise(n,{recursive:!0}),await M.copyPromise(n,Oe.dot,{baseFs:t.packageFs,overwrite:!1}),await M.writeFilePromise(s,\"\"))})),new jt(n))}getPackageInformation(e){let t=P.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(t);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${P.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${P.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let t=Ie.getMapWithDefault(this.packageRegistry,\"@@disk\"),i=SO(this.opts.project.cwd,e);return Ie.getFactoryWithDefault(t,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:\"SOFT\",discardFromLookup:!1}))}};function SO(r,e){let t=x.relative(r,e);return t.match(/^\\.{0,2}\\//)||(t=`./${t}`),t.replace(/\\/?$/,\"/\")}async function i8e(r){var i;let e=(i=await ot.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?i:new ot,t=new Set([\"preinstall\",\"install\",\"postinstall\"]);for(let n of e.scripts.keys())t.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:QO(r),hasBindingGyp:bO(r)}}}var FAe=Pe(yn());var Nu=class extends De{constructor(){super(...arguments);this.all=z.Boolean(\"-A,--all\",!1,{description:\"Unplug direct dependencies from the entire project\"});this.recursive=z.Boolean(\"-R,--recursive\",!1,{description:\"Unplug both direct and transitive dependencies\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);if(t.get(\"nodeLinker\")!==\"pnp\")throw new be(\"This command can only be used if the `nodeLinker` option is set to `pnp`\");await i.restoreInstallState();let o=new Set(this.patterns),a=this.patterns.map(h=>{let p=P.parseDescriptor(h),C=p.range!==\"unknown\"?p:P.makeDescriptor(p,\"*\");if(!vt.validRange(C.range))throw new be(`The range of the descriptor patterns must be a valid semver range (${P.prettyDescriptor(t,C)})`);return y=>{let B=P.stringifyIdent(y);return!FAe.default.isMatch(B,P.stringifyIdent(C))||y.version&&!vt.satisfiesWithPrereleases(y.version,C.range)?!1:(o.delete(h),!0)}}),l=()=>{let h=[];for(let p of i.storedPackages.values())!i.tryWorkspaceByLocator(p)&&!P.isVirtualLocator(p)&&a.some(C=>C(p))&&h.push(p);return h},c=h=>{let p=new Set,C=[],y=(B,v)=>{if(!p.has(B.locatorHash)&&(p.add(B.locatorHash),!i.tryWorkspaceByLocator(B)&&a.some(D=>D(B))&&C.push(B),!(v>0&&!this.recursive)))for(let D of B.dependencies.values()){let L=i.storedResolutions.get(D.descriptorHash);if(!L)throw new Error(\"Assertion failed: The resolution should have been registered\");let H=i.storedPackages.get(L);if(!H)throw new Error(\"Assertion failed: The package should have been registered\");y(H,v+1)}};for(let B of h){let v=i.storedPackages.get(B.anchoredLocator.locatorHash);if(!v)throw new Error(\"Assertion failed: The package should have been registered\");y(v,0)}return C},u,g;if(this.all&&this.recursive?(u=l(),g=\"the project\"):this.all?(u=c(i.workspaces),g=\"any workspace\"):(u=c([n]),g=\"this workspace\"),o.size>1)throw new be(`Patterns ${ee.prettyList(t,o,ee.Type.CODE)} don't match any packages referenced by ${g}`);if(o.size>0)throw new be(`Pattern ${ee.prettyList(t,o,ee.Type.CODE)} doesn't match any packages referenced by ${g}`);return u=Ie.sortMap(u,h=>P.stringifyLocator(h)),(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async h=>{var p;for(let C of u){let y=(p=C.version)!=null?p:\"unknown\",B=i.topLevelWorkspace.manifest.ensureDependencyMeta(P.makeDescriptor(C,y));B.unplugged=!0,h.reportInfo(0,`Will unpack ${P.prettyLocator(t,C)} to ${ee.pretty(t,tE(C,{configuration:t}),ee.Type.PATH)}`),h.reportJson({locator:P.stringifyLocator(C),version:y})}await i.topLevelWorkspace.persistManifest(),h.reportSeparator(),await i.install({cache:s,report:h})})).exitCode()}};Nu.paths=[[\"unplug\"]],Nu.usage=ve.Usage({description:\"force the unpacking of a list of packages\",details:\"\\n      This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\\n\\n      A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\\n\\n      Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\\n\\n      By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\\n\\n      This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\\n    \",examples:[[\"Unplug the lodash dependency from the active workspace\",\"yarn unplug lodash\"],[\"Unplug all instances of lodash referenced by any workspace\",\"yarn unplug lodash -A\"],[\"Unplug all instances of lodash referenced by the active workspace and its dependencies\",\"yarn unplug lodash -R\"],[\"Unplug all instances of lodash, anywhere\",\"yarn unplug lodash -AR\"],[\"Unplug one specific version of lodash\",\"yarn unplug lodash@1.2.3\"],[\"Unplug all packages with the `@babel` scope\",\"yarn unplug '@babel/*'\"],[\"Unplug all packages (only for testing, not recommended)\",\"yarn unplug -R '*'\"]]});var cl=r=>({cjs:x.join(r.cwd,xt.pnpCjs),cjsLegacy:x.join(r.cwd,xt.pnpJs),esmLoader:x.join(r.cwd,\".pnp.loader.mjs\")}),TAe=r=>/\\s/.test(r)?JSON.stringify(r):r;async function n8e(r,e,t){let i=cl(r),n=`--require ${TAe(K.fromPortablePath(i.cjs))}`;if(M.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,LAe.pathToFileURL)(K.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(\" \")&&NAe.default.lt(process.versions.node,\"12.0.0\"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(M.existsSync(i.cjs)){let s=e.NODE_OPTIONS||\"\",o=/\\s*--require\\s+\\S*\\.pnp\\.c?js\\s*/g,a=/\\s*--experimental-loader\\s+\\S*\\.pnp\\.loader\\.mjs\\s*/;s=s.replace(o,\" \").replace(a,\" \").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function s8e(r,e){let t=cl(r);e(t.cjs),e(t.esmLoader),e(r.configuration.get(\"pnpDataPath\")),e(r.configuration.get(\"pnpUnpluggedFolder\"))}var o8e={hooks:{populateYarnPaths:s8e,setupScriptEnvironment:n8e},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: \"pnp\", \"node-modules\"',type:\"STRING\",default:\"pnp\"},pnpMode:{description:\"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.\",type:\"STRING\",default:\"strict\"},pnpShebang:{description:\"String to prepend to the generated PnP script\",type:\"STRING\",default:\"#!/usr/bin/env node\"},pnpIgnorePatterns:{description:\"Array of glob patterns; files matching them will use the classic resolution\",type:\"STRING\",default:[],isArray:!0},pnpEnableEsmLoader:{description:\"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.\",type:\"BOOLEAN\",default:!1},pnpEnableInlining:{description:\"If true, the PnP data will be inlined along with the generated loader\",type:\"BOOLEAN\",default:!0},pnpFallbackMode:{description:\"If true, the generated PnP loader will follow the top-level fallback rule\",type:\"STRING\",default:\"dependencies-only\"},pnpUnpluggedFolder:{description:\"Folder where the unplugged packages must be stored\",type:\"ABSOLUTE_PATH\",default:\"./.yarn/unplugged\"},pnpDataPath:{description:\"Path of the file where the PnP data (used by the loader) must be written\",type:\"ABSOLUTE_PATH\",default:\"./.pnp.data.json\"}},linkers:[ll],commands:[Nu]},a8e=o8e;var jAe=Pe(HAe());var NO=Pe(J(\"crypto\")),qAe=Pe(J(\"fs\")),JAe=1,kr=\"node_modules\",HQ=\".bin\",WAe=\".yarn-state.yml\",Q8e=1e3;var GQ=class{constructor(){this.installStateCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error(\"Assertion failed: Expected the node-modules linker to be enabled\");let i=t.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await Ie.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await FO(t.project,{unrollAliases:!0}));if(n===null)throw new be(\"Couldn't find the node_modules state file - running an install might help (findPackageLocation)\");let s=n.locatorMap.get(P.stringifyLocator(e));if(!s){let l=new be(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw l.code=\"LOCATOR_NOT_INSTALLED\",l}let o=s.locations.sort((l,c)=>l.split(x.sep).length-c.split(x.sep).length),a=x.join(t.project.configuration.startingCwd,kr);return o.find(l=>x.contains(a,l))||s.locations[0]}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=await Ie.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await FO(t.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=YQ(x.resolve(e),{skipPrefix:t.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return P.parseLocator(a)}makeInstaller(e){return new RO(e)}isEnabled(e){return e.project.configuration.get(\"nodeLinker\")===\"node-modules\"}},RO=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:\"NodeModulesInstaller\",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t){var u;let i=x.resolve(t.packageFs.getRealPath(),t.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n>\"u\"&&(n=await b8e(e,t),e.linkType===\"HARD\"&&this.customData.store.set(e.locatorHash,n)),!P.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(P.stringifyIdent(e))||s.set(P.stringifyIdent(e),e.reference);let a=e;if(P.isVirtualLocator(e)){a=P.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(P.stringifyIdent(g),null),o.add(P.stringifyIdent(g))}let l={packageLocation:`${K.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=t.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=t.checksum?t.checksum.substring(t.checksum.indexOf(\"/\")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,t){let i=this.localStore.get(e.locatorHash);if(typeof i>\"u\")throw new Error(\"Assertion failed: Expected information object to have been registered\");for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){throw new Error(\"External dependencies haven't been implemented for the node-modules linker\")}async finalizeInstall(){if(this.opts.project.configuration.get(\"nodeLinker\")!==\"node-modules\")return;let e=new Br({baseFs:new Tn({libzip:await rn(),maxOpenFiles:80,readOnlyArchives:!0})}),t=await FO(this.opts.project),i=this.opts.project.configuration.get(\"nmMode\");(t===null||i!==t.nmMode)&&(this.opts.project.storedBuildState.clear(),t={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i,mtimeMs:0});let n=new Map(this.opts.project.workspaces.map(f=>{var p,C;let h=this.opts.project.configuration.get(\"nmHoistingLimits\");try{h=Ie.validateEnum(qm,(C=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?C:h)}catch{let B=P.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning(57,`${B}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(qm).join(\", \")}, using default: \"${h}\"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,C;let h=this.opts.project.configuration.get(\"nmSelfReferences\");return h=(C=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?C:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:P.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:P.makeLocator(P.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p>\"u\")throw new Error(\"Assertion failed: Expected the package reference to have been registered\");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(K.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:P.stringifyIdent(p),reference:p.reference}}throw new Error(\"Assertion failed: Unimplemented\")},resolveToUnqualified:()=>{throw new Error(\"Assertion failed: Unimplemented\")},resolveUnqualified:()=>{throw new Error(\"Assertion failed: Unimplemented\")},resolveRequest:()=>{throw new Error(\"Assertion failed: Unimplemented\")},resolveVirtual:f=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=Jm(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=uO(a);await k8e(t,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=P.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p>\"u\")throw new Error(\"Assertion failed: Expected the slot to exist\");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(_Ae(f))continue;let p=P.parseLocator(f),C=this.localStore.get(p.locatorHash);if(typeof C>\"u\")throw new Error(\"Assertion failed: Expected the slot to exist\");if(this.opts.project.tryWorkspaceByLocator(C.pkg))continue;let y=uo.extractBuildScripts(C.pkg,C.customPackageData,C.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});y.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:y})}return c&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${ee.pretty(this.opts.project.configuration,\"--preserve-symlinks\",ee.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function b8e(r,e){var n;let t=(n=await ot.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new ot,i=new Set([\"preinstall\",\"install\",\"postinstall\"]);for(let s of t.scripts.keys())i.has(s)||t.scripts.delete(s);return{manifest:{bin:t.bin,scripts:t.scripts},misc:{extractHint:uo.getExtractHint(e),hasBindingGyp:uo.hasBindingGyp(e)}}}async function S8e(r,e,t,i,{installChangedByUser:n}){let s=\"\";s+=`# Warning: This file is automatically generated. Removing it is fine, but will\n`,s+=`# cause your node_modules installation to become invalidated.\n`,s+=`\n`,s+=`__metadata:\n`,s+=`  version: ${JAe}\n`,s+=`  nmMode: ${i.value}\n`;let o=Array.from(e.keys()).sort(),a=P.stringifyLocator(r.topLevelWorkspace.anchoredLocator);for(let u of o){let g=e.get(u);s+=`\n`,s+=`${JSON.stringify(u)}:\n`,s+=`  locations:\n`;for(let f of g.locations){let h=x.contains(r.cwd,f);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=`    - ${JSON.stringify(h)}\n`}if(g.aliases.length>0){s+=`  aliases:\n`;for(let f of g.aliases)s+=`    - ${JSON.stringify(f)}\n`}if(u===a&&t.size>0){s+=`  bin:\n`;for(let[f,h]of t){let p=x.contains(r.cwd,f);if(p===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=`    ${JSON.stringify(p)}:\n`;for(let[C,y]of h){let B=x.relative(x.join(f,kr),y);s+=`      ${JSON.stringify(C)}: ${JSON.stringify(B)}\n`}}}}let l=r.cwd,c=x.join(l,kr,WAe);n&&await M.removePromise(c),await M.changeFilePromise(c,s,{automaticNewlines:!0})}async function FO(r,{unrollAliases:e=!1}={}){let t=r.cwd,i=x.join(t,kr,WAe),n;try{n=await M.statPromise(i)}catch{}if(!n)return null;let s=Ii(await M.readFilePromise(i,\"utf8\"));if(s.__metadata.version>JAe)return null;let o=s.__metadata.nmMode||\"classic\",a=new Map,l=new Map;delete s.__metadata;for(let[c,u]of Object.entries(s)){let g=u.locations.map(h=>x.join(t,h)),f=u.bin;if(f)for(let[h,p]of Object.entries(f)){let C=x.join(t,K.toPortablePath(h)),y=Ie.getMapWithDefault(l,C);for(let[B,v]of Object.entries(p))y.set(Ur(B),K.toPortablePath([C,kr,v].join(x.sep)))}if(a.set(c,{target:Oe.dot,linkType:\"HARD\",locations:g,aliases:u.aliases||[]}),e&&u.aliases)for(let h of u.aliases){let{scope:p,name:C}=P.parseLocator(c),y=P.makeLocator(P.makeIdent(p,C),h),B=P.stringifyLocator(y);a.set(B,{target:Oe.dot,linkType:\"HARD\",locations:g,aliases:[]})}}return{locatorMap:a,binSymlinks:l,locationTree:zAe(a,{skipPrefix:r.cwd}),nmMode:o,mtimeMs:n.mtimeMs}}var zh=async(r,e)=>{if(r.split(x.sep).indexOf(kr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${r}`);try{if(!e.innerLoop){let i=e.allowSymlink?await M.statPromise(r):await M.lstatPromise(r);if(e.allowSymlink&&!i.isDirectory()||!e.allowSymlink&&i.isSymbolicLink()){await M.unlinkPromise(r);return}}let t=await M.readdirPromise(r,{withFileTypes:!0});for(let i of t){let n=x.join(r,Ur(i.name));i.isDirectory()?(i.name!==kr||e&&e.innerLoop)&&await zh(n,{innerLoop:!0,contentsOnly:!1}):await M.unlinkPromise(n)}e.contentsOnly||await M.rmdirPromise(r)}catch(t){if(t.code!==\"ENOENT\"&&t.code!==\"ENOTEMPTY\")throw t}},GAe=4,YQ=(r,{skipPrefix:e})=>{let t=x.contains(e,r);if(t===null)throw new Error(`Assertion failed: Writing attempt prevented to ${r} which is outside project root: ${e}`);let i=t.split(x.sep).filter(l=>l!==\"\"),n=i.indexOf(kr),s=i.slice(0,n).join(x.sep),o=x.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},zAe=(r,{skipPrefix:e})=>{let t=new Map;if(r===null)return t;let i=()=>({children:new Map,linkType:\"HARD\"});for(let[n,s]of r.entries()){if(s.linkType===\"SOFT\"&&x.contains(e,s.target)!==null){let a=Ie.getFactoryWithDefault(t,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=YQ(o,{skipPrefix:e}),c=Ie.getFactoryWithDefault(t,a,i);for(let u=0;u<l.length;++u){let g=l[u];if(g!==\".\"){let f=Ie.getFactoryWithDefault(c.children,g,i);c.children.set(g,f),c=f}u===l.length-1&&(c.locator=n,c.linkType=s.linkType)}}}return t},LO=async(r,e)=>{let t;try{process.platform===\"win32\"&&(t=await M.lstatPromise(r))}catch{}process.platform==\"win32\"&&(!t||t.isDirectory())?await M.symlinkPromise(r,e,\"junction\"):await M.symlinkPromise(x.relative(x.dirname(e),r),e)};async function VAe(r,e,t){let i=x.join(r,Ur(`${NO.default.randomBytes(16).toString(\"hex\")}.tmp`));try{await M.writeFilePromise(i,t);try{await M.linkPromise(i,e)}catch{}}finally{await M.unlinkPromise(i)}}async function v8e({srcPath:r,dstPath:e,entry:t,globalHardlinksStore:i,baseFs:n,nmMode:s}){if(t.kind===XAe.FILE){if(s.value===\"hardlinks-global\"&&i&&t.digest){let a=x.join(i,t.digest.substring(0,2),`${t.digest.substring(2)}.dat`),l;try{let c=await M.statPromise(a);if(c&&(!t.mtimeMs||c.mtimeMs>t.mtimeMs||c.mtimeMs<t.mtimeMs-Q8e))if(await li.checksumFile(a,{baseFs:M,algorithm:\"sha1\"})!==t.digest){let g=x.join(i,Ur(`${NO.default.randomBytes(16).toString(\"hex\")}.tmp`));await M.renamePromise(a,g);let f=await n.readFilePromise(r);await M.writeFilePromise(g,f);try{await M.linkPromise(g,a),t.mtimeMs=new Date().getTime(),await M.unlinkPromise(g)}catch{}}else t.mtimeMs||(t.mtimeMs=Math.ceil(c.mtimeMs));await M.linkPromise(a,e),l=!0}catch{l=!1}if(!l){let c=await n.readFilePromise(r);await VAe(i,a,c),t.mtimeMs=new Date().getTime();try{await M.linkPromise(a,e)}catch(u){u&&u.code&&u.code==\"EXDEV\"&&(s.value=\"hardlinks-local\",await n.copyFilePromise(r,e))}}}else await n.copyFilePromise(r,e);let o=t.mode&511;o!==420&&await M.chmodPromise(e,o)}}var XAe=(i=>(i.FILE=\"file\",i.DIRECTORY=\"directory\",i.SYMLINK=\"symlink\",i))(XAe||{}),x8e=async(r,e,{baseFs:t,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await M.mkdirPromise(r,{recursive:!0});let o=async(c=Oe.dot)=>{let u=x.join(e,c),g=await t.readdirPromise(u,{withFileTypes:!0}),f=new Map;for(let h of g){let p=x.join(c,h.name),C,y=x.join(u,h.name);if(h.isFile()){if(C={kind:\"file\",mode:(await t.lstatPromise(y)).mode},n.value===\"hardlinks-global\"){let B=await li.checksumFile(y,{baseFs:t,algorithm:\"sha1\"});C.digest=B}}else if(h.isDirectory())C={kind:\"directory\"};else if(h.isSymbolicLink())C={kind:\"symlink\",symlinkTo:await t.readlinkPromise(y)};else throw new Error(`Unsupported file type (file: ${y}, mode: 0o${await t.statSync(y).mode.toString(8).padStart(6,\"0\")})`);if(f.set(p,C),h.isDirectory()&&p!==kr){let B=await o(p);for(let[v,D]of B)f.set(v,D)}}return f},a;if(n.value===\"hardlinks-global\"&&i&&s){let c=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await M.readFilePromise(c,\"utf8\"))))}catch{a=await o()}}else a=await o();let l=!1;for(let[c,u]of a){let g=x.join(e,c),f=x.join(r,c);if(u.kind===\"directory\")await M.mkdirPromise(f,{recursive:!0});else if(u.kind===\"file\"){let h=u.mtimeMs;await v8e({srcPath:g,dstPath:f,entry:u,nmMode:n,baseFs:t,globalHardlinksStore:i}),u.mtimeMs!==h&&(l=!0)}else u.kind===\"symlink\"&&await LO(x.resolve(x.dirname(f),u.symlinkTo),f)}if(n.value===\"hardlinks-global\"&&i&&l&&s){let c=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);await M.removePromise(c),await VAe(i,c,Buffer.from(JSON.stringify(Object.fromEntries(a))))}};function P8e(r,e,t,i){let n=new Map,s=new Map,o=new Map,a=!1,l=(c,u,g,f,h)=>{let p=!0,C=x.join(c,u),y=new Set;if(u===kr||u.startsWith(\"@\")){let v;try{v=M.statSync(C)}catch{}p=!!v,v?v.mtimeMs>t?(a=!0,y=new Set(M.readdirSync(C))):y=new Set(g.children.get(u).children.keys()):a=!0;let D=e.get(c);if(D){let L=x.join(c,kr,HQ),H;try{H=M.statSync(L)}catch{}if(!H)a=!0;else if(H.mtimeMs>t){a=!0;let j=new Set(M.readdirSync(L)),$=new Map;s.set(c,$);for(let[V,W]of D)j.has(V)&&$.set(V,W)}else s.set(c,D)}}else p=h.has(u);let B=g.children.get(u);if(p){let{linkType:v,locator:D}=B,L={children:new Map,linkType:v,locator:D};if(f.children.set(u,L),D){let H=Ie.getSetWithDefault(o,D);H.add(C),o.set(D,H)}for(let H of B.children.keys())l(C,H,B,L,y)}else B.locator&&i.storedBuildState.delete(P.parseLocator(B.locator).locatorHash)};for(let[c,u]of r){let{linkType:g,locator:f}=u,h={children:new Map,linkType:g,locator:f};if(n.set(c,h),f){let p=Ie.getSetWithDefault(o,u.locator);p.add(c),o.set(u.locator,p)}u.children.has(kr)&&l(c,kr,u,h,new Set)}return{locationTree:n,binSymlinks:s,locatorLocations:o,installChangedByUser:a}}function _Ae(r){let e=P.parseDescriptor(r);return P.isVirtualDescriptor(e)&&(e=P.devirtualizeDescriptor(e)),e.range.startsWith(\"link:\")}async function D8e(r,e,t,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of r){let c=_Ae(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=x.join(l[0],f);f!==\"\"&&M.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=x.contains(t,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let C=x.join(a,K.toPortablePath(p));u.set(Ur(h),C)}for(let[h,p]of c.children){let C=x.join(a,h),y=o(C,C,p);y.size>0&&s.set(a,new Map([...s.get(a)||new Map,...y]))}}else for(let[f,h]of c.children){let p=o(x.join(a,f),l,h);for(let[C,y]of p)u.set(C,y)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var YAe=(r,e)=>{if(!r||!e)return r===e;let t=P.parseLocator(r);P.isVirtualLocator(t)&&(t=P.devirtualizeLocator(t));let i=P.parseLocator(e);return P.isVirtualLocator(i)&&(i=P.devirtualizeLocator(i)),P.areLocatorsEqual(t,i)};function TO(r){return x.join(r.get(\"globalFolder\"),\"store\")}async function k8e(r,e,{baseFs:t,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=x.join(i.cwd,kr),{locationTree:l,binSymlinks:c,locatorLocations:u,installChangedByUser:g}=P8e(r.locationTree,r.binSymlinks,r.mtimeMs,i),f=zAe(e,{skipPrefix:i.cwd}),h=[],p=async({srcDir:V,dstDir:W,linkType:Z,globalHardlinksStore:A,nmMode:ae,packageChecksum:ge})=>{let re=(async()=>{try{Z===\"SOFT\"?(await M.mkdirPromise(x.dirname(W),{recursive:!0}),await LO(x.resolve(V),W)):await x8e(W,V,{baseFs:t,globalHardlinksStore:A,nmMode:ae,packageChecksum:ge})}catch(O){throw O.message=`While persisting ${V} -> ${W} ${O.message}`,O}finally{L.tick()}})().then(()=>h.splice(h.indexOf(re),1));h.push(re),h.length>GAe&&await Promise.race(h)},C=async(V,W,Z)=>{let A=(async()=>{let ae=async(ge,re,O)=>{try{O.innerLoop||await M.mkdirPromise(re,{recursive:!0});let F=await M.readdirPromise(ge,{withFileTypes:!0});for(let ue of F){if(!O.innerLoop&&ue.name===HQ)continue;let he=x.join(ge,ue.name),ke=x.join(re,ue.name);ue.isDirectory()?(ue.name!==kr||O&&O.innerLoop)&&(await M.mkdirPromise(ke,{recursive:!0}),await ae(he,ke,{...O,innerLoop:!0})):$.value===\"hardlinks-local\"||$.value===\"hardlinks-global\"?await M.linkPromise(he,ke):await M.copyFilePromise(he,ke,qAe.default.constants.COPYFILE_FICLONE)}}catch(F){throw O.innerLoop||(F.message=`While cloning ${ge} -> ${re} ${F.message}`),F}finally{O.innerLoop||L.tick()}};await ae(V,W,Z)})().then(()=>h.splice(h.indexOf(A),1));h.push(A),h.length>GAe&&await Promise.race(h)},y=async(V,W,Z)=>{if(Z)for(let[A,ae]of W.children){let ge=Z.children.get(A);await y(x.join(V,A),ae,ge)}else{W.children.has(kr)&&await zh(x.join(V,kr),{contentsOnly:!1});let A=x.basename(V)===kr&&f.has(x.join(x.dirname(V),x.sep));await zh(V,{contentsOnly:V===a,allowSymlink:A})}};for(let[V,W]of l){let Z=f.get(V);for(let[A,ae]of W.children){if(A===\".\")continue;let ge=Z&&Z.children.get(A),re=x.join(V,A);await y(re,ae,ge)}}let B=async(V,W,Z)=>{if(Z){YAe(W.locator,Z.locator)||await zh(V,{contentsOnly:W.linkType===\"HARD\"});for(let[A,ae]of W.children){let ge=Z.children.get(A);await B(x.join(V,A),ae,ge)}}else{W.children.has(kr)&&await zh(x.join(V,kr),{contentsOnly:!0});let A=x.basename(V)===kr&&f.has(x.join(x.dirname(V),x.sep));await zh(V,{contentsOnly:W.linkType===\"HARD\",allowSymlink:A})}};for(let[V,W]of f){let Z=l.get(V);for(let[A,ae]of W.children){if(A===\".\")continue;let ge=Z&&Z.children.get(A);await B(x.join(V,A),ae,ge)}}let v=new Map,D=[];for(let[V,W]of u)for(let Z of W){let{locationRoot:A,segments:ae}=YQ(Z,{skipPrefix:i.cwd}),ge=f.get(A),re=A;if(ge){for(let O of ae)if(re=x.join(re,O),ge=ge.children.get(O),!ge)break;if(ge){let O=YAe(ge.locator,V),F=e.get(ge.locator),ue=F.target,he=re,ke=F.linkType;if(O)v.has(ue)||v.set(ue,he);else if(ue!==he){let Fe=P.parseLocator(ge.locator);P.isVirtualLocator(Fe)&&(Fe=P.devirtualizeLocator(Fe)),D.push({srcDir:ue,dstDir:he,linkType:ke,realLocatorHash:Fe.locatorHash})}}}}for(let[V,{locations:W}]of e.entries())for(let Z of W){let{locationRoot:A,segments:ae}=YQ(Z,{skipPrefix:i.cwd}),ge=l.get(A),re=f.get(A),O=A,F=e.get(V),ue=P.parseLocator(V);P.isVirtualLocator(ue)&&(ue=P.devirtualizeLocator(ue));let he=ue.locatorHash,ke=F.target,Fe=Z;if(ke===Fe)continue;let Ne=F.linkType;for(let oe of ae)re=re.children.get(oe);if(!ge)D.push({srcDir:ke,dstDir:Fe,linkType:Ne,realLocatorHash:he});else for(let oe of ae)if(O=x.join(O,oe),ge=ge.children.get(oe),!ge){D.push({srcDir:ke,dstDir:Fe,linkType:Ne,realLocatorHash:he});break}}let L=Si.progressViaCounter(D.length),H=n.reportProgress(L),j=i.configuration.get(\"nmMode\"),$={value:j};try{let V=$.value===\"hardlinks-global\"?`${TO(i.configuration)}/v1`:null;if(V&&!await M.existsPromise(V)){await M.mkdirpPromise(V);for(let Z=0;Z<256;Z++)await M.mkdirPromise(x.join(V,Z.toString(16).padStart(2,\"0\")))}for(let Z of D)(Z.linkType===\"SOFT\"||!v.has(Z.srcDir))&&(v.set(Z.srcDir,Z.dstDir),await p({...Z,globalHardlinksStore:V,nmMode:$,packageChecksum:o.get(Z.realLocatorHash)||null}));await Promise.all(h),h.length=0;for(let Z of D){let A=v.get(Z.srcDir);Z.linkType!==\"SOFT\"&&Z.dstDir!==A&&await C(A,Z.dstDir,{nmMode:$})}await Promise.all(h),await M.mkdirPromise(a,{recursive:!0});let W=await D8e(e,f,i.cwd,{loadManifest:s});await R8e(c,W,i.cwd),await S8e(i,e,W,$,{installChangedByUser:g}),j==\"hardlinks-global\"&&$.value==\"hardlinks-local\"&&n.reportWarningOnce(74,\"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices\")}finally{H.stop()}}async function R8e(r,e,t){for(let i of r.keys()){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=x.join(i,kr,HQ);await M.removePromise(n)}}for(let[i,n]of e){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=x.join(i,kr,HQ),o=r.get(i)||new Map;await M.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await M.removePromise(x.join(s,a)),process.platform===\"win32\"&&await M.removePromise(x.join(s,Ur(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=x.join(s,a);c!==l&&(process.platform===\"win32\"?await(0,jAe.default)(K.fromPortablePath(l),K.fromPortablePath(u),{createPwshFile:!1}):(await M.removePromise(u),await LO(l,u),x.contains(t,await M.realpathPromise(l))!==null&&await M.chmodPromise(l,493)))}}}var jQ=class extends ll{constructor(){super(...arguments);this.mode=\"loose\"}makeInstaller(t){return new OO(t)}},OO=class extends Fu{constructor(){super(...arguments);this.mode=\"loose\"}async transformPnpSettings(t){let i=new Br({baseFs:new Tn({libzip:await rn(),maxOpenFiles:80,readOnlyArchives:!0})}),n=xAe(t,this.opts.project.cwd,i),{tree:s,errors:o}=Jm(n,{pnpifyFs:!1,project:this.opts.project});if(!s){for(let{messageName:g,text:f}of o)this.opts.report.reportError(g,f);return}let a=new Map;t.fallbackPool=a;let l=(g,f)=>{let h=P.parseLocator(f.locator),p=P.stringifyIdent(h);p===g?a.set(g,h.reference):a.set(g,[p,h.reference])},c=x.join(this.opts.project.cwd,xt.nodeModules),u=s.get(c);if(!(typeof u>\"u\")){if(\"target\"in u)throw new Error(\"Assertion failed: Expected the root junction point to be a directory\");for(let g of u.dirList){let f=x.join(c,g),h=s.get(f);if(typeof h>\"u\")throw new Error(\"Assertion failed: Expected the child to have been registered\");if(\"target\"in h)l(g,h);else for(let p of h.dirList){let C=x.join(f,p),y=s.get(C);if(typeof y>\"u\")throw new Error(\"Assertion failed: Expected the subchild to have been registered\");if(\"target\"in y)l(`${g}/${p}`,y);else throw new Error(\"Assertion failed: Expected the leaf junction to be a package\")}}}}};var F8e={hooks:{cleanGlobalArtifacts:async r=>{let e=TO(r);await M.removePromise(e)}},configuration:{nmHoistingLimits:{description:\"Prevent packages to be hoisted past specific levels\",type:\"STRING\",values:[\"workspaces\",\"dependencies\",\"none\"],default:\"none\"},nmMode:{description:'If set to \"hardlinks-local\" Yarn will utilize hardlinks to reduce disk space consumption inside \"node_modules\" directories. With \"hardlinks-global\" Yarn will use global content addressable storage to reduce \"node_modules\" size across all the projects using this option.',type:\"STRING\",values:[\"classic\",\"hardlinks-local\",\"hardlinks-global\"],default:\"classic\"},nmSelfReferences:{description:\"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created\",type:\"BOOLEAN\",default:!0}},linkers:[GQ,jQ]},N8e=F8e;var LM={};ut(LM,{default:()=>GVe,npmConfigUtils:()=>or,npmHttpUtils:()=>Mt,npmPublishUtils:()=>op});var ile=Pe(Xr());var gr=\"npm:\";var Mt={};ut(Mt,{AuthType:()=>rle,customPackageError:()=>T8e,del:()=>K8e,get:()=>fo,getIdentUrl:()=>gl,handleInvalidAuthenticationError:()=>ul,post:()=>O8e,put:()=>M8e});var HO=Pe(Pm()),tle=J(\"url\");var or={};ut(or,{RegistryType:()=>ZAe,getAuditRegistry:()=>L8e,getAuthConfiguration:()=>UO,getDefaultRegistry:()=>qQ,getPublishRegistry:()=>$Ae,getRegistryConfiguration:()=>ele,getScopeConfiguration:()=>KO,getScopeRegistry:()=>iA,normalizeRegistry:()=>go});var ZAe=(i=>(i.AUDIT_REGISTRY=\"npmAuditRegistry\",i.FETCH_REGISTRY=\"npmRegistryServer\",i.PUBLISH_REGISTRY=\"npmPublishRegistry\",i))(ZAe||{});function go(r){return r.replace(/\\/$/,\"\")}function L8e(r,{configuration:e}){let t=e.get(\"npmAuditRegistry\");return t!==null?go(t):$Ae(r,{configuration:e})}function $Ae(r,{configuration:e}){var t;return(t=r.publishConfig)!=null&&t.registry?go(r.publishConfig.registry):r.name?iA(r.name.scope,{configuration:e,type:\"npmPublishRegistry\"}):qQ({configuration:e,type:\"npmPublishRegistry\"})}function iA(r,{configuration:e,type:t=\"npmRegistryServer\"}){let i=KO(r,{configuration:e});if(i===null)return qQ({configuration:e,type:t});let n=i.get(t);return n===null?qQ({configuration:e,type:t}):go(n)}function qQ({configuration:r,type:e=\"npmRegistryServer\"}){let t=r.get(e);return go(t!==null?t:r.get(\"npmRegistryServer\"))}function ele(r,{configuration:e}){let t=e.get(\"npmRegistries\"),i=go(r),n=t.get(i);if(typeof n<\"u\")return n;let s=t.get(i.replace(/^[a-z]+:/,\"\"));return typeof s<\"u\"?s:null}function KO(r,{configuration:e}){if(r===null)return null;let i=e.get(\"npmScopes\").get(r);return i||null}function UO(r,{configuration:e,ident:t}){let i=t&&KO(t.scope,{configuration:e});return(i==null?void 0:i.get(\"npmAuthIdent\"))||(i==null?void 0:i.get(\"npmAuthToken\"))?i:ele(r,{configuration:e})||e}var rle=(n=>(n[n.NO_AUTH=0]=\"NO_AUTH\",n[n.BEST_EFFORT=1]=\"BEST_EFFORT\",n[n.CONFIGURATION=2]=\"CONFIGURATION\",n[n.ALWAYS_AUTH=3]=\"ALWAYS_AUTH\",n))(rle||{});async function ul(r,{attemptedAs:e,registry:t,headers:i,configuration:n}){var s,o;if(WQ(r))throw new at(41,\"Invalid OTP token\");if(((s=r.originalError)==null?void 0:s.name)===\"HTTPError\"&&((o=r.originalError)==null?void 0:o.response.statusCode)===401)throw new at(41,`Invalid authentication (${typeof e!=\"string\"?`as ${await H8e(t,i,{configuration:n})}`:`attempted as ${e}`})`)}function T8e(r){var e;return((e=r.response)==null?void 0:e.statusCode)===404?\"Package not found\":null}function gl(r){return r.scope?`/@${r.scope}%2f${r.name}`:`/${r.name}`}async function fo(r,{configuration:e,headers:t,ident:i,authType:n,registry:s,...o}){if(i&&typeof s>\"u\"&&(s=iA(i.scope,{configuration:e})),i&&i.scope&&typeof n>\"u\"&&(n=1),typeof s!=\"string\")throw new Error(\"Assertion failed: The registry should be a string\");let a=await JQ(s,{authType:n,configuration:e,ident:i});a&&(t={...t,authorization:a});try{return await Vt.get(r.charAt(0)===\"/\"?`${s}${r}`:r,{configuration:e,headers:t,...o})}catch(l){throw await ul(l,{registry:s,configuration:e,headers:t}),l}}async function O8e(r,e,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l,...c}){if(s&&typeof a>\"u\"&&(a=iA(s.scope,{configuration:i})),typeof a!=\"string\")throw new Error(\"Assertion failed: The registry should be a string\");let u=await JQ(a,{authType:o,configuration:i,ident:s});u&&(n={...n,authorization:u}),l&&(n={...n,...Vh(l)});try{return await Vt.post(a+r,e,{configuration:i,headers:n,...c})}catch(g){if(!WQ(g)||l)throw await ul(g,{attemptedAs:t,registry:a,configuration:i,headers:n}),g;l=await GO(g,{configuration:i});let f={...n,...Vh(l)};try{return await Vt.post(`${a}${r}`,e,{configuration:i,headers:f,...c})}catch(h){throw await ul(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h}}}async function M8e(r,e,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l,...c}){if(s&&typeof a>\"u\"&&(a=iA(s.scope,{configuration:i})),typeof a!=\"string\")throw new Error(\"Assertion failed: The registry should be a string\");let u=await JQ(a,{authType:o,configuration:i,ident:s});u&&(n={...n,authorization:u}),l&&(n={...n,...Vh(l)});try{return await Vt.put(a+r,e,{configuration:i,headers:n,...c})}catch(g){if(!WQ(g))throw await ul(g,{attemptedAs:t,registry:a,configuration:i,headers:n}),g;l=await GO(g,{configuration:i});let f={...n,...Vh(l)};try{return await Vt.put(`${a}${r}`,e,{configuration:i,headers:f,...c})}catch(h){throw await ul(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h}}}async function K8e(r,{attemptedAs:e,configuration:t,headers:i,ident:n,authType:s=3,registry:o,otp:a,...l}){if(n&&typeof o>\"u\"&&(o=iA(n.scope,{configuration:t})),typeof o!=\"string\")throw new Error(\"Assertion failed: The registry should be a string\");let c=await JQ(o,{authType:s,configuration:t,ident:n});c&&(i={...i,authorization:c}),a&&(i={...i,...Vh(a)});try{return await Vt.del(o+r,{configuration:t,headers:i,...l})}catch(u){if(!WQ(u)||a)throw await ul(u,{attemptedAs:e,registry:o,configuration:t,headers:i}),u;a=await GO(u,{configuration:t});let g={...i,...Vh(a)};try{return await Vt.del(`${o}${r}`,{configuration:t,headers:g,...l})}catch(f){throw await ul(f,{attemptedAs:e,registry:o,configuration:t,headers:i}),f}}}async function JQ(r,{authType:e=2,configuration:t,ident:i}){let n=UO(r,{configuration:t,ident:i}),s=U8e(n,e);if(!s)return null;let o=await t.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,r,{configuration:t,ident:i});if(o)return o;if(n.get(\"npmAuthToken\"))return`Bearer ${n.get(\"npmAuthToken\")}`;if(n.get(\"npmAuthIdent\")){let a=n.get(\"npmAuthIdent\");return a.includes(\":\")?`Basic ${Buffer.from(a).toString(\"base64\")}`:`Basic ${a}`}if(s&&e!==1)throw new at(33,\"No authentication configured for request\");return null}function U8e(r,e){switch(e){case 2:return r.get(\"npmAlwaysAuth\");case 1:case 3:return!0;case 0:return!1;default:throw new Error(\"Unreachable\")}}async function H8e(r,e,{configuration:t}){var i;if(typeof e>\"u\"||typeof e.authorization>\"u\")return\"an anonymous user\";try{return(i=(await Vt.get(new tle.URL(`${r}/-/whoami`).href,{configuration:t,headers:e,jsonResponse:!0})).username)!=null?i:\"an unknown user\"}catch{return\"an unknown user\"}}async function GO(r,{configuration:e}){var n;let t=(n=r.originalError)==null?void 0:n.response.headers[\"npm-notice\"];if(t&&(await Ge.start({configuration:e,stdout:process.stdout,includeFooter:!1},async s=>{if(s.reportInfo(0,t.replace(/(https?:\\/\\/\\S+)/g,ee.pretty(e,\"$1\",ee.Type.URL))),!process.env.YARN_IS_TEST_ENV){let o=t.match(/open (https?:\\/\\/\\S+)/i);if(o&&Cs.openUrl){let{openNow:a}=await(0,HO.prompt)({type:\"confirm\",name:\"openNow\",message:\"Do you want to try to open this url now?\",required:!0,initial:!0,onCancel:()=>process.exit(130)});a&&(await Cs.openUrl(o[1])||(s.reportSeparator(),s.reportWarning(0,\"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.\")))}}}),process.stdout.write(`\n`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||\"\";let{otp:i}=await(0,HO.prompt)({type:\"password\",name:\"otp\",message:\"One-time password:\",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(`\n`),i}function WQ(r){var e,t;if(((e=r.originalError)==null?void 0:e.name)!==\"HTTPError\")return!1;try{return((t=r.originalError)==null?void 0:t.response.headers[\"www-authenticate\"].split(/,\\s*/).map(n=>n.toLowerCase())).includes(\"otp\")}catch{return!1}}function Vh(r){return{[\"npm-otp\"]:r}}var zQ=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i,params:n}=P.parseRange(e.reference);return!(!ile.default.valid(i)||n===null||typeof n.__archiveUrl!=\"string\")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let{params:i}=P.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!=\"string\")throw new Error(\"Assertion failed: The archiveUrl querystring parameter should have been available\");let n=await fo(i.__archiveUrl,{configuration:t.project.configuration,ident:e});return await Ci.convertToZip(n,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var VQ=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!P.tryParseDescriptor(e.range.slice(gr.length),!0))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error(\"Unreachable\")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){let i=P.parseDescriptor(e.range.slice(gr.length),!0);return t.resolver.getResolutionDependencies(i,t)}async getCandidates(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return await i.resolver.getCandidates(n,t,i)}async getSatisfying(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return i.resolver.getSatisfying(n,t,i)}resolve(e,t){throw new Error(\"Unreachable\")}};var nle=Pe(Xr()),sle=J(\"url\");var Rs=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let i=new sle.URL(e.reference);return!(!nle.default.valid(i.pathname)||i.searchParams.has(\"__archiveUrl\"))}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i;try{i=await fo(Rs.getLocatorUrl(e),{configuration:t.project.configuration,ident:e})}catch{i=await fo(Rs.getLocatorUrl(e).replace(/%2f/g,\"/\"),{configuration:t.project.configuration,ident:e})}return await Ci.convertToZip(i,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,t,{configuration:i}){let n=iA(e.scope,{configuration:i}),s=Rs.getLocatorUrl(e);return t=t.replace(/^https?:(\\/\\/(?:[^/]+\\.)?npmjs.org(?:$|\\/))/,\"https:$1\"),n=n.replace(/^https:\\/\\/registry\\.npmjs\\.org($|\\/)/,\"https://registry.yarnpkg.com$1\"),t=t.replace(/^https:\\/\\/registry\\.npmjs\\.org($|\\/)/,\"https://registry.yarnpkg.com$1\"),t===n+s||t===n+s.replace(/%2f/g,\"/\")}static getLocatorUrl(e){let t=vt.clean(e.reference.slice(gr.length));if(t===null)throw new at(10,\"The npm semver resolver got selected, but the version isn't semver\");return`${gl(e)}/-/${e.name}-${t}.tgz`}};var ole=Pe(Xr());var XQ=P.makeIdent(null,\"node-gyp\"),G8e=/\\b(node-gyp|prebuild-install)\\b/,_Q=class{supportsDescriptor(e,t){return e.range.startsWith(gr)?!!vt.validRange(e.range.slice(gr.length)):!1}supportsLocator(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i}=P.parseRange(e.reference);return!!ole.default.valid(i)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);let s=await fo(gl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=Ie.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new vt.SemVer(c);if(n.test(u))return u}catch{}return Ie.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=P.makeLocator(e,`${gr}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Rs.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:P.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);return Ie.mapAndFilter(t,s=>{try{let{selector:o}=P.parseRange(s,{requireProtocol:gr}),a=new vt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return Ie.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>P.makeLocator(e,s))}async resolve(e,t){let{selector:i}=P.parseRange(e.reference),n=vt.clean(i);if(n===null)throw new at(10,\"The npm semver resolver got selected, but the version isn't semver\");let s=await fo(gl(e),{configuration:t.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,\"versions\"))throw new at(15,'Registry returned invalid data for - missing \"versions\" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new at(16,`Registry failed to return reference \"${n}\"`);let o=new ot;if(o.load(s.versions[n]),!o.dependencies.has(XQ.identHash)&&!o.peerDependencies.has(XQ.identHash)){for(let a of o.scripts.values())if(a.match(G8e)){o.dependencies.set(XQ.identHash,P.makeDescriptor(XQ,\"latest\")),t.report.reportWarningOnce(32,`${P.prettyLocator(t.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof o.raw.deprecated==\"string\"&&o.raw.deprecated!==\"\"){let a=P.prettyLocator(t.project.configuration,e),l=o.raw.deprecated.match(/\\S/)?`${a} is deprecated: ${o.raw.deprecated}`:`${a} is deprecated`;t.report.reportWarningOnce(61,l)}return{...e,version:n,languageName:\"node\",linkType:\"HARD\",conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin}}};var ZQ=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!wf.test(e.range.slice(gr.length)))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error(\"Unreachable\")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(gr.length),s=await fo(gl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,\"dist-tags\"))throw new at(15,'Registry returned invalid data - missing \"dist-tags\" field');let o=s[\"dist-tags\"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new at(16,`Registry failed to return tag \"${n}\"`);let a=o[n],l=P.makeLocator(e,`${gr}${a}`),c=s.versions[a].dist.tarball;return Rs.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[P.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error(\"Unreachable\")}};var op={};ut(op,{getGitHead:()=>UVe,makePublishBody:()=>KVe});var DM={};ut(DM,{default:()=>yVe,packUtils:()=>ia});var ia={};ut(ia,{genPackList:()=>yb,genPackStream:()=>PM,genPackageManifest:()=>Oce,hasPackScripts:()=>vM,prepareForPack:()=>xM});var SM=Pe(yn()),Lce=Pe(kce()),Tce=J(\"zlib\"),cVe=[\"/package.json\",\"/readme\",\"/readme.*\",\"/license\",\"/license.*\",\"/licence\",\"/licence.*\",\"/changelog\",\"/changelog.*\"],uVe=[\"/package.tgz\",\".github\",\".git\",\".hg\",\"node_modules\",\".npmignore\",\".gitignore\",\".#*\",\".DS_Store\"];async function vM(r){return!!(Jt.hasWorkspaceScript(r,\"prepack\")||Jt.hasWorkspaceScript(r,\"postpack\"))}async function xM(r,{report:e},t){await Jt.maybeExecuteWorkspaceLifecycleScript(r,\"prepack\",{report:e});try{let i=x.join(r.cwd,ot.fileName);await M.existsPromise(i)&&await r.manifest.loadFile(i,{baseFs:M}),await t()}finally{await Jt.maybeExecuteWorkspaceLifecycleScript(r,\"postpack\",{report:e})}}async function PM(r,e){var s,o;typeof e>\"u\"&&(e=await yb(r));let t=new Set;for(let a of(o=(s=r.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)t.add(x.normalize(a));for(let a of r.manifest.bin.values())t.add(x.normalize(a));let i=Lce.default.pack();process.nextTick(async()=>{for(let a of e){let l=x.normalize(a),c=x.resolve(r.cwd,l),u=x.join(\"package\",l),g=await M.lstatPromise(c),f={name:u,mtime:new Date(xr.SAFE_TIME*1e3)},h=t.has(l)?493:420,p,C,y=new Promise((v,D)=>{p=v,C=D}),B=v=>{v?C(v):p()};if(g.isFile()){let v;l===\"package.json\"?v=Buffer.from(JSON.stringify(await Oce(r),null,2)):v=await M.readFilePromise(c),i.entry({...f,mode:h,type:\"file\"},v,B)}else g.isSymbolicLink()?i.entry({...f,mode:h,type:\"symlink\",linkname:await M.readlinkPromise(c)},B):B(new Error(`Unsupported file type ${g.mode} for ${K.fromPortablePath(l)}`));await y}i.finalize()});let n=(0,Tce.createGzip)();return i.pipe(n),n}async function Oce(r){let e=JSON.parse(JSON.stringify(r.manifest.raw));return await r.project.configuration.triggerHook(t=>t.beforeWorkspacePacking,r,e),e}async function yb(r){var g,f,h,p,C,y,B,v;let e=r.project,t=e.configuration,i={accept:[],reject:[]};for(let D of uVe)i.reject.push(D);for(let D of cVe)i.accept.push(D);i.reject.push(t.get(\"rcFilename\"));let n=D=>{if(D===null||!D.startsWith(`${r.cwd}/`))return;let L=x.relative(r.cwd,D),H=x.resolve(Oe.root,L);i.reject.push(H)};n(x.resolve(e.cwd,t.get(\"lockfileFilename\"))),n(t.get(\"cacheFolder\")),n(t.get(\"globalFolder\")),n(t.get(\"installStatePath\")),n(t.get(\"virtualFolder\")),n(t.get(\"yarnPath\")),await t.triggerHook(D=>D.populateYarnPaths,e,D=>{n(D)});for(let D of e.workspaces){let L=x.relative(r.cwd,D.cwd);L!==\"\"&&!L.match(/^(\\.\\.)?\\//)&&i.reject.push(`/${L}`)}let s={accept:[],reject:[]},o=(f=(g=r.manifest.publishConfig)==null?void 0:g.main)!=null?f:r.manifest.main,a=(p=(h=r.manifest.publishConfig)==null?void 0:h.module)!=null?p:r.manifest.module,l=(y=(C=r.manifest.publishConfig)==null?void 0:C.browser)!=null?y:r.manifest.browser,c=(v=(B=r.manifest.publishConfig)==null?void 0:B.bin)!=null?v:r.manifest.bin;o!=null&&s.accept.push(x.resolve(Oe.root,o)),a!=null&&s.accept.push(x.resolve(Oe.root,a)),typeof l==\"string\"&&s.accept.push(x.resolve(Oe.root,l));for(let D of c.values())s.accept.push(x.resolve(Oe.root,D));if(l instanceof Map)for(let[D,L]of l.entries())s.accept.push(x.resolve(Oe.root,D)),typeof L==\"string\"&&s.accept.push(x.resolve(Oe.root,L));let u=r.manifest.files!==null;if(u){s.reject.push(\"/*\");for(let D of r.manifest.files)Mce(s.accept,D,{cwd:Oe.root})}return await gVe(r.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function gVe(r,{hasExplicitFileList:e,globalList:t,ignoreList:i}){let n=[],s=new wo(r),o=[[Oe.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!Fce(a,{globalList:t,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Oe.root)for(let C of u)g=g||C===\".gitignore\",f=f||C===\".npmignore\";let h=f?await Rce(s,a,\".npmignore\"):g?await Rce(s,a,\".gitignore\"):null,p=h!==null?[h].concat(l):l;Fce(a,{globalList:t,ignoreLists:l})&&(p=[...l,{accept:[],reject:[\"**/*\"]}]);for(let C of u)o.push([x.resolve(a,C),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(x.relative(Oe.root,a))}return n.sort()}async function Rce(r,e,t){let i={accept:[],reject:[]},n=await r.readFilePromise(x.join(e,t),\"utf8\");for(let s of n.split(/\\n/g))Mce(i.reject,s,{cwd:e});return i}function fVe(r,{cwd:e}){let t=r[0]===\"!\";return t&&(r=r.slice(1)),r.match(/\\.{0,1}\\//)&&(r=x.resolve(e,r)),t&&(r=`!${r}`),r}function Mce(r,e,{cwd:t}){let i=e.trim();i===\"\"||i[0]===\"#\"||r.push(fVe(i,{cwd:t}))}function Fce(r,{globalList:e,ignoreLists:t}){let i=Ib(r,e.accept);if(i!==0)return i===2;let n=Ib(r,e.reject);if(n!==0)return n===1;if(t!==null)for(let s of t){let o=Ib(r,s.accept);if(o!==0)return o===2;let a=Ib(r,s.reject);if(a!==0)return a===1}return!1}function Ib(r,e){let t=e,i=[];for(let n=0;n<e.length;++n)e[n][0]!==\"!\"?t!==e&&t.push(e[n]):(t===e&&(t=e.slice(0,n)),i.push(e[n].slice(1)));return Nce(r,i)?2:Nce(r,t)?1:0}function Nce(r,e){let t=e,i=[];for(let n=0;n<e.length;++n)e[n].includes(\"/\")?t!==e&&t.push(e[n]):(t===e&&(t=e.slice(0,n)),i.push(e[n]));return!!(SM.default.isMatch(r,t,{dot:!0,nocase:!0})||SM.default.isMatch(r,i,{dot:!0,basename:!0,nocase:!0}))}var Ku=class extends De{constructor(){super(...arguments);this.installIfNeeded=z.Boolean(\"--install-if-needed\",!1,{description:\"Run a preliminary `yarn install` if the package contains build scripts\"});this.dryRun=z.Boolean(\"-n,--dry-run\",!1,{description:\"Print the file paths without actually generating the package archive\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.out=z.String(\"-o,--out\",{description:\"Create the archive at the specified path\"});this.filename=z.String(\"--filename\",{hidden:!0})}async execute(){var l;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await vM(n)&&(this.installIfNeeded?await i.install({cache:await Rt.find(t),report:new ti}):await i.restoreInstallState());let s=(l=this.out)!=null?l:this.filename,o=typeof s<\"u\"?x.resolve(this.context.cwd,hVe(s,{workspace:n})):x.resolve(n.cwd,\"package.tgz\");return(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async c=>{await xM(n,{report:c},async()=>{c.reportJson({base:K.fromPortablePath(n.cwd)});let u=await yb(n);for(let g of u)c.reportInfo(null,K.fromPortablePath(g)),c.reportJson({location:K.fromPortablePath(g)});if(!this.dryRun){let g=await PM(n,u),f=M.createWriteStream(o);g.pipe(f),await new Promise(h=>{f.on(\"finish\",h)})}}),this.dryRun||(c.reportInfo(0,`Package archive generated in ${ee.pretty(t,o,ee.Type.PATH)}`),c.reportJson({output:K.fromPortablePath(o)}))})).exitCode()}};Ku.paths=[[\"pack\"]],Ku.usage=ve.Usage({description:\"generate a tarball from the active workspace\",details:\"\\n      This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\\n\\n      If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\\n    \",examples:[[\"Create an archive from the active workspace\",\"yarn pack\"],[\"List the files that would be made part of the workspace's archive\",\"yarn pack --dry-run\"],[\"Name and output the archive in a dedicated folder\",\"yarn pack --out /artifacts/%s-%v.tgz\"]]});function hVe(r,{workspace:e}){let t=r.replace(\"%s\",pVe(e)).replace(\"%v\",dVe(e));return K.toPortablePath(t)}function pVe(r){return r.manifest.name!==null?P.slugifyIdent(r.manifest.name):\"package\"}function dVe(r){return r.manifest.version!==null?r.manifest.version:\"unknown\"}var CVe=[\"dependencies\",\"devDependencies\",\"peerDependencies\"],mVe=\"workspace:\",EVe=(r,e)=>{var i,n;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let t=r.project;for(let s of CVe)for(let o of r.manifest.getForScope(s).values()){let a=t.tryWorkspaceByDescriptor(o),l=P.parseRange(o.range);if(l.protocol===mVe)if(a===null){if(t.tryWorkspaceByIdent(o)===null)throw new at(21,`${P.prettyDescriptor(t.configuration,o)}: No local workspace found for this range`)}else{let c;P.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector===\"*\"?c=(i=a.manifest.version)!=null?i:\"0.0.0\":l.selector===\"~\"||l.selector===\"^\"?c=`${l.selector}${(n=a.manifest.version)!=null?n:\"0.0.0\"}`:c=l.selector;let u=s===\"dependencies\"?P.makeDescriptor(o,\"unknown\"):null,g=u!==null&&r.manifest.ensureDependencyMeta(u).optional?\"optionalDependencies\":s;e[g][P.stringifyIdent(o)]=c}}},IVe={hooks:{beforeWorkspacePacking:EVe},commands:[Ku]},yVe=IVe;var Wce=J(\"crypto\"),zce=Pe(Jce()),Vce=J(\"url\");async function KVe(r,e,{access:t,tag:i,registry:n,gitHead:s}){let o=r.project.configuration,a=r.manifest.name,l=r.manifest.version,c=P.stringifyIdent(a),u=(0,Wce.createHash)(\"sha1\").update(e).digest(\"hex\"),g=zce.default.fromData(e).toString();typeof t>\"u\"&&(r.manifest.publishConfig&&typeof r.manifest.publishConfig.access==\"string\"?t=r.manifest.publishConfig.access:o.get(\"npmPublishAccess\")!==null?t=o.get(\"npmPublishAccess\"):a.scope?t=\"restricted\":t=\"public\");let f=await ia.genPackageManifest(r),h=`${c}-${l}.tgz`,p=new Vce.URL(`${go(n)}/${c}/-/${h}`);return{_id:c,_attachments:{[h]:{content_type:\"application/octet-stream\",data:e.toString(\"base64\"),length:e.length}},name:c,access:t,[\"dist-tags\"]:{[i]:l},versions:{[l]:{...f,_id:`${c}@${l}`,name:c,version:l,gitHead:s,dist:{shasum:u,integrity:g,tarball:p.toString()}}}}}async function UVe(r){try{let{stdout:e}=await Cr.execvp(\"git\",[\"rev-parse\",\"--revs-only\",\"HEAD\"],{cwd:r});return e.trim()===\"\"?void 0:e.trim()}catch{return}}var NM={npmAlwaysAuth:{description:\"URL of the selected npm registry (note: npm enterprise isn't supported)\",type:\"BOOLEAN\",default:!1},npmAuthIdent:{description:\"Authentication identity for the npm registry (_auth in npm and yarn v1)\",type:\"SECRET\",default:null},npmAuthToken:{description:\"Authentication token for the npm registry (_authToken in npm and yarn v1)\",type:\"SECRET\",default:null}},Xce={npmAuditRegistry:{description:\"Registry to query for audit reports\",type:\"STRING\",default:null},npmPublishRegistry:{description:\"Registry to push packages to\",type:\"STRING\",default:null},npmRegistryServer:{description:\"URL of the selected npm registry (note: npm enterprise isn't supported)\",type:\"STRING\",default:\"https://registry.yarnpkg.com\"}},HVe={configuration:{...NM,...Xce,npmScopes:{description:\"Settings per package scope\",type:\"MAP\",valueDefinition:{description:\"\",type:\"SHAPE\",properties:{...NM,...Xce}}},npmRegistries:{description:\"Settings per registry\",type:\"MAP\",normalizeKeys:go,valueDefinition:{description:\"\",type:\"SHAPE\",properties:{...NM}}}},fetchers:[zQ,Rs],resolvers:[VQ,_Q,ZQ]},GVe=HVe;var KM={};ut(KM,{default:()=>ZVe});var EE=Pe(yn());ns();var wb=(i=>(i.All=\"all\",i.Production=\"production\",i.Development=\"development\",i))(wb||{}),Bb=(s=>(s.Info=\"info\",s.Low=\"low\",s.Moderate=\"moderate\",s.High=\"high\",s.Critical=\"critical\",s))(Bb||{});var mE=[\"info\",\"low\",\"moderate\",\"high\",\"critical\"];function Zce(r,e){let t=[],i=new Set,n=o=>{i.has(o)||(i.add(o),t.push(o))};for(let o of e)n(o);let s=new Set;for(;t.length>0;){let o=t.shift(),a=r.storedResolutions.get(o);if(typeof a>\"u\")throw new Error(\"Assertion failed: Expected the resolution to have been registered\");let l=r.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function YVe(r,e){return new Set([...r].filter(t=>!e.has(t)))}function jVe(r,e,{all:t}){let i=t?r.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=Zce(r,l),g=Zce(r,c);return YVe(g,u)}function $ce(r){let e={};for(let t of r)e[P.stringifyIdent(t)]=P.parseRange(t.range).selector;return e}function eue(r){if(typeof r>\"u\")return new Set(mE);let e=mE.indexOf(r),t=mE.slice(e);return new Set(t)}function qVe(r,e){let t=eue(e),i={};for(let n of t)i[n]=r[n];return i}function tue(r,e){var i;let t=qVe(r,e);for(let n of Object.keys(t))if((i=t[n])!=null?i:0>0)return!0;return!1}function rue(r,e){var s;let t={},i={children:t},n=Object.values(r.advisories);if(e!=null){let o=eue(e);n=n.filter(a=>o.has(a.severity))}for(let o of Ie.sortMap(n,a=>a.module_name))t[o.module_name]={label:o.module_name,value:ee.tuple(ee.Type.RANGE,o.findings.map(a=>a.version).join(\", \")),children:{ID:{label:\"ID\",value:ee.tuple(ee.Type.NUMBER,o.id)},Issue:{label:\"Issue\",value:ee.tuple(ee.Type.NO_HINT,o.title)},URL:{label:\"URL\",value:ee.tuple(ee.Type.URL,o.url)},Severity:{label:\"Severity\",value:ee.tuple(ee.Type.NO_HINT,o.severity)},[\"Vulnerable Versions\"]:{label:\"Vulnerable Versions\",value:ee.tuple(ee.Type.RANGE,o.vulnerable_versions)},[\"Patched Versions\"]:{label:\"Patched Versions\",value:ee.tuple(ee.Type.RANGE,o.patched_versions)},Via:{label:\"Via\",value:ee.tuple(ee.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(\">\")[0]))).join(\", \"))},Recommendation:{label:\"Recommendation\",value:ee.tuple(ee.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\\n/g,\" \"))}}};return i}function iue(r,e,{all:t,environment:i}){let n=t?r.workspaces:[e],s=[\"all\",\"production\"].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[\"all\",\"development\"].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return $ce([...o,...l].filter(c=>P.parseRange(c.range).protocol===null))}function nue(r,e,{all:t}){var s;let i=jVe(r,e,{all:t}),n={};for(let o of r.storedPackages.values())n[P.stringifyIdent(o)]={version:(s=o.version)!=null?s:\"0.0.0\",integrity:o.identHash,requires:$ce(o.dependencies.values()),dev:i.has(P.convertLocatorToDescriptor(o).descriptorHash)};return n}var Gu=class extends De{constructor(){super(...arguments);this.all=z.Boolean(\"-A,--all\",!1,{description:\"Audit dependencies from all workspaces\"});this.recursive=z.Boolean(\"-R,--recursive\",!1,{description:\"Audit transitive dependencies as well\"});this.environment=z.String(\"--environment\",\"all\",{description:\"Which environments to cover\",validator:Wi(wb)});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.severity=z.String(\"--severity\",\"info\",{description:\"Minimal severity requested for packages to be displayed\",validator:Wi(Bb)});this.excludes=z.Array(\"--exclude\",[],{description:\"Array of glob patterns of packages to exclude from audit\"});this.ignores=z.Array(\"--ignore\",[],{description:\"Array of glob patterns of advisory ID's to ignore in the audit report\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=iue(i,n,{all:this.all,environment:this.environment}),o=nue(i,n,{all:this.all});if(!this.recursive)for(let C of Object.keys(o))Object.prototype.hasOwnProperty.call(s,C)?o[C].requires={}:delete o[C];let a=Array.from(new Set([...t.get(\"npmAuditExcludePackages\"),...this.excludes]));if(a){for(let C of Object.keys(s))EE.default.isMatch(C,a)&&delete s[C];for(let C of Object.keys(o))EE.default.isMatch(C,a)&&delete o[C];for(let C of Object.keys(o))for(let y of Object.keys(o[C].requires))EE.default.isMatch(y,a)&&delete o[C].requires[y]}let l={requires:s,dependencies:o},c=or.getAuditRegistry(n.manifest,{configuration:t}),u,g=await _o.start({configuration:t,stdout:this.context.stdout},async()=>{u=await Mt.post(\"/-/npm/v1/security/audits/quick\",l,{authType:Mt.AuthType.BEST_EFFORT,configuration:t,jsonResponse:!0,registry:c})});if(g.hasErrors())return g.exitCode();let f=Array.from(new Set([...t.get(\"npmAuditIgnoreAdvisories\"),...this.ignores]));if(f){for(let C of Object.keys(u.advisories))if(EE.default.isMatch(C,f)){let y=u.advisories[C];u.metadata.vulnerabilities[y.severity]-=1,delete u.advisories[C]}}let h=tue(u.metadata.vulnerabilities,this.severity);return!this.json&&h?(Vn.emitTree(rue(u,this.severity),{configuration:t,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async C=>{C.reportJson(u),h||C.reportInfo(1,\"No audit suggestions\")})).exitCode()}};Gu.paths=[[\"npm\",\"audit\"]],Gu.usage=ve.Usage({description:\"perform a vulnerability audit against the installed packages\",details:`\n      This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths).\n\n      For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \\`-A,--all\\`. To extend this search to both direct and transitive dependencies, use \\`-R,--recursive\\`.\n\n      Applying the \\`--severity\\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${mE.map(t=>`\\`${t}\\``).join(\", \")}.\n\n      If the \\`--json\\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages.\n\n      If certain packages produce false positives for a particular environment, the \\`--exclude\\` flag can be used to exclude any number of packages from the audit. This can also be set in the configuration file with the \\`npmAuditExcludePackages\\` option.\n\n      If particular advisories are needed to be ignored, the \\`--ignore\\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \\`npmAuditIgnoreAdvisories\\` option.\n\n      To understand the dependency tree requiring vulnerable packages, check the raw report with the \\`--json\\` flag or use \\`yarn why <package>\\` to get more information as to who depends on them.\n    `,examples:[[\"Checks for known security issues with the installed packages. The output is a list of known issues.\",\"yarn npm audit\"],[\"Audit dependencies in all workspaces\",\"yarn npm audit --all\"],[\"Limit auditing to `dependencies` (excludes `devDependencies`)\",\"yarn npm audit --environment production\"],[\"Show audit report as valid JSON\",\"yarn npm audit --json\"],[\"Audit all direct and transitive dependencies\",\"yarn npm audit --recursive\"],[\"Output moderate (or more severe) vulnerabilities\",\"yarn npm audit --severity moderate\"],[\"Exclude certain packages\",\"yarn npm audit --exclude package1 --exclude package2\"],[\"Ignore specific advisories\",\"yarn npm audit --ignore 1234567 --ignore 7654321\"]]});var TM=Pe(Xr()),OM=J(\"util\"),Yu=class extends De{constructor(){super(...arguments);this.fields=z.String(\"-f,--fields\",{description:\"A comma-separated list of manifest fields that should be displayed\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.packages=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.fields<\"u\"?new Set([\"name\",...this.fields.split(/\\s*,\\s*/)]):null,s=[],o=!1,a=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async l=>{for(let c of this.packages){let u;if(c===\".\"){let L=i.topLevelWorkspace;if(!L.manifest.name)throw new be(`Missing ${ee.pretty(t,\"name\",ee.Type.CODE)} field in ${K.fromPortablePath(x.join(L.cwd,xt.manifest))}`);u=P.makeDescriptor(L.manifest.name,\"unknown\")}else u=P.parseDescriptor(c);let g=Mt.getIdentUrl(u),f=MM(await Mt.get(g,{configuration:t,ident:u,jsonResponse:!0,customErrorMessage:Mt.customPackageError})),h=Object.keys(f.versions).sort(TM.default.compareLoose),C=f[\"dist-tags\"].latest||h[h.length-1],y=vt.validRange(u.range);if(y){let L=TM.default.maxSatisfying(h,y);L!==null?C=L:(l.reportWarning(0,`Unmet range ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0)}else Object.prototype.hasOwnProperty.call(f[\"dist-tags\"],u.range)?C=f[\"dist-tags\"][u.range]:u.range!==\"unknown\"&&(l.reportWarning(0,`Unknown tag ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0);let B=f.versions[C],v={...f,...B,version:C,versions:h},D;if(n!==null){D={};for(let L of n){let H=v[L];if(typeof H<\"u\")D[L]=H;else{l.reportWarning(1,`The ${ee.pretty(t,L,ee.Type.CODE)} field doesn't exist inside ${P.prettyIdent(t,u)}'s information`),o=!0;continue}}}else this.json||(delete v.dist,delete v.readme,delete v.users),D=v;l.reportJson(D),this.json||s.push(D)}});OM.inspect.styles.name=\"cyan\";for(let l of s)(l!==s[0]||o)&&this.context.stdout.write(`\n`),this.context.stdout.write(`${(0,OM.inspect)(l,{depth:1/0,colors:!0,compact:!1})}\n`);return a.exitCode()}};Yu.paths=[[\"npm\",\"info\"]],Yu.usage=ve.Usage({category:\"Npm-related commands\",description:\"show information about a package\",details:\"\\n      This command fetches information about a package from the npm registry and prints it in a tree format.\\n\\n      The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\\n\\n      Append `@<range>` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\\n\\n      If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\\n\\n      By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\\n    \",examples:[[\"Show all available information about react (except the `dist`, `readme`, and `users` fields)\",\"yarn npm info react\"],[\"Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)\",\"yarn npm info react --json\"],[\"Show all available information about react@16.12.0\",\"yarn npm info react@16.12.0\"],[\"Show all available information about react@next\",\"yarn npm info react@next\"],[\"Show the description of react\",\"yarn npm info react --fields description\"],[\"Show all available versions of react\",\"yarn npm info react --fields versions\"],[\"Show the readme of react\",\"yarn npm info react --fields readme\"],[\"Show a few fields of react\",\"yarn npm info react --fields homepage,repository\"]]});function MM(r){if(Array.isArray(r)){let e=[];for(let t of r)t=MM(t),t&&e.push(t);return e}else if(typeof r==\"object\"&&r!==null){let e={};for(let t of Object.keys(r)){if(t.startsWith(\"_\"))continue;let i=MM(r[t]);i&&(e[t]=i)}return e}else return r||null}var sue=Pe(Pm()),ju=class extends De{constructor(){super(...arguments);this.scope=z.String(\"-s,--scope\",{description:\"Login to the registry configured for a given scope\"});this.publish=z.Boolean(\"--publish\",!1,{description:\"Login to the publish registry\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await Qb({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{let o=await zVe({configuration:t,registry:i,report:s,stdin:this.context.stdin,stdout:this.context.stdout}),a=`/-/user/org.couchdb.user:${encodeURIComponent(o.name)}`,l=await Mt.put(a,o,{attemptedAs:o.name,configuration:t,registry:i,jsonResponse:!0,authType:Mt.AuthType.NO_AUTH});return await WVe(i,l.token,{configuration:t,scope:this.scope}),s.reportInfo(0,\"Successfully logged in\")})).exitCode()}};ju.paths=[[\"npm\",\"login\"]],ju.usage=ve.Usage({category:\"Npm-related commands\",description:\"store new login info to access the npm registry\",details:\"\\n      This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\\n\\n      Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\\n\\n      Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\\n    \",examples:[[\"Login to the default registry\",\"yarn npm login\"],[\"Login to the registry linked to the @my-scope registry\",\"yarn npm login --scope my-scope\"],[\"Login to the publish registry for the current package\",\"yarn npm login --publish\"]]});async function Qb({scope:r,publish:e,configuration:t,cwd:i}){return r&&e?or.getScopeRegistry(r,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):r?or.getScopeRegistry(r,{configuration:t}):e?or.getPublishRegistry((await Ph(t,i)).manifest,{configuration:t}):or.getDefaultRegistry({configuration:t})}async function WVe(r,e,{configuration:t,scope:i}){let n=o=>a=>{let l=Ie.isIndexableObject(a)?a:{},c=l[o],u=Ie.isIndexableObject(c)?c:{};return{...l,[o]:{...u,npmAuthToken:e}}},s=i?{npmScopes:n(i)}:{npmRegistries:n(r)};return await ye.updateHomeConfiguration(s)}async function zVe({configuration:r,registry:e,report:t,stdin:i,stdout:n}){t.reportInfo(0,`Logging in to ${ee.pretty(r,e,ee.Type.URL)}`);let s=!1;if(e.match(/^https:\\/\\/npm\\.pkg\\.github\\.com(\\/|$)/)&&(t.reportInfo(0,\"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions.\"),s=!0),t.reportSeparator(),process.env.YARN_IS_TEST_ENV)return{name:process.env.YARN_INJECT_NPM_USER||\"\",password:process.env.YARN_INJECT_NPM_PASSWORD||\"\"};let{username:o,password:a}=await(0,sue.prompt)([{type:\"input\",name:\"username\",message:\"Username:\",required:!0,onCancel:()=>process.exit(130),stdin:i,stdout:n},{type:\"password\",name:\"password\",message:s?\"Token:\":\"Password:\",required:!0,onCancel:()=>process.exit(130),stdin:i,stdout:n}]);return t.reportSeparator(),{name:o,password:a}}var ap=new Set([\"npmAuthIdent\",\"npmAuthToken\"]),qu=class extends De{constructor(){super(...arguments);this.scope=z.String(\"-s,--scope\",{description:\"Logout of the registry configured for a given scope\"});this.publish=z.Boolean(\"--publish\",!1,{description:\"Logout of the publish registry\"});this.all=z.Boolean(\"-A,--all\",!1,{description:\"Logout of all registries\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=async()=>{var c;let s=await Qb({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),o=await ye.find(this.context.cwd,this.context.plugins),a=P.makeIdent((c=this.scope)!=null?c:null,\"pkg\");return!or.getAuthConfiguration(s,{configuration:o,ident:a}).get(\"npmAuthToken\")};return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{if(this.all&&(await XVe(),s.reportInfo(0,\"Successfully logged out from everything\")),this.scope){await oue(\"npmScopes\",this.scope),await i()?s.reportInfo(0,`Successfully logged out from ${this.scope}`):s.reportWarning(0,\"Scope authentication settings removed, but some other ones settings still apply to it\");return}let o=await Qb({configuration:t,cwd:this.context.cwd,publish:this.publish});await oue(\"npmRegistries\",o),await i()?s.reportInfo(0,`Successfully logged out from ${o}`):s.reportWarning(0,\"Registry authentication settings removed, but some other ones settings still apply to it\")})).exitCode()}};qu.paths=[[\"npm\",\"logout\"]],qu.usage=ve.Usage({category:\"Npm-related commands\",description:\"logout of the npm registry\",details:\"\\n      This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\\n\\n      Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\\n\\n      Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\\n\\n      Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\\n    \",examples:[[\"Logout of the default registry\",\"yarn npm logout\"],[\"Logout of the @my-scope scope\",\"yarn npm logout --scope my-scope\"],[\"Logout of the publish registry for the current package\",\"yarn npm logout --publish\"],[\"Logout of all registries\",\"yarn npm logout --all\"]]});function VVe(r,e){let t=r[e];if(!Ie.isIndexableObject(t))return!1;let i=new Set(Object.keys(t));if([...ap].every(s=>!i.has(s)))return!1;for(let s of ap)i.delete(s);if(i.size===0)return r[e]=void 0,!0;let n={...t};for(let s of ap)delete n[s];return r[e]=n,!0}async function XVe(){let r=e=>{let t=!1,i=Ie.isIndexableObject(e)?{...e}:{};i.npmAuthToken&&(delete i.npmAuthToken,t=!0);for(let n of Object.keys(i))VVe(i,n)&&(t=!0);if(Object.keys(i).length!==0)return t?i:e};return await ye.updateHomeConfiguration({npmRegistries:r,npmScopes:r})}async function oue(r,e){return await ye.updateHomeConfiguration({[r]:t=>{let i=Ie.isIndexableObject(t)?t:{};if(!Object.prototype.hasOwnProperty.call(i,e))return t;let n=i[e],s=Ie.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...ap].every(l=>!o.has(l)))return t;for(let l of ap)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:{...i,[e]:void 0};let a={};for(let l of ap)a[l]=void 0;return{...i,[e]:{...s,...a}}}})}var Ju=class extends De{constructor(){super(...arguments);this.access=z.String(\"--access\",{description:\"The access for the published package (public or restricted)\"});this.tag=z.String(\"--tag\",\"latest\",{description:\"The tag on the registry that the package should be attached to\"});this.tolerateRepublish=z.Boolean(\"--tolerate-republish\",!1,{description:\"Warn and exit when republishing an already existing version of a package\"});this.otp=z.String(\"--otp\",{description:\"The OTP token to use with the command\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);if(n.manifest.private)throw new be(\"Private workspaces cannot be published\");if(n.manifest.name===null||n.manifest.version===null)throw new be(\"Workspaces must have valid names and versions to be published on an external registry\");await i.restoreInstallState();let s=n.manifest.name,o=n.manifest.version,a=or.getPublishRegistry(n.manifest,{configuration:t});return(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{var u,g;if(this.tolerateRepublish)try{let f=await Mt.get(Mt.getIdentUrl(s),{configuration:t,registry:a,ident:s,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(f,\"versions\"))throw new at(15,'Registry returned invalid data for - missing \"versions\" field');if(Object.prototype.hasOwnProperty.call(f.versions,o)){c.reportWarning(0,`Registry already knows about version ${o}; skipping.`);return}}catch(f){if(((g=(u=f.originalError)==null?void 0:u.response)==null?void 0:g.statusCode)!==404)throw f}await Jt.maybeExecuteWorkspaceLifecycleScript(n,\"prepublish\",{report:c}),await ia.prepareForPack(n,{report:c},async()=>{let f=await ia.genPackList(n);for(let B of f)c.reportInfo(null,B);let h=await ia.genPackStream(n,f),p=await Ie.bufferStream(h),C=await op.getGitHead(n.cwd),y=await op.makePublishBody(n,p,{access:this.access,tag:this.tag,registry:a,gitHead:C});await Mt.put(Mt.getIdentUrl(s),y,{configuration:t,registry:a,ident:s,otp:this.otp,jsonResponse:!0})}),c.reportInfo(0,\"Package archive published\")})).exitCode()}};Ju.paths=[[\"npm\",\"publish\"]],Ju.usage=ve.Usage({category:\"Npm-related commands\",description:\"publish the active workspace to the npm registry\",details:'\\n      This command will pack the active workspace into a fresh archive and upload it to the npm registry.\\n\\n      The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\\n\\n      Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka \"private packages\"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\\n    ',examples:[[\"Publish the active workspace\",\"yarn npm publish\"]]});var aue=Pe(Xr());var Wu=class extends De{constructor(){super(...arguments);this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.package=z.String({required:!1})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s;if(typeof this.package<\"u\")s=P.parseIdent(this.package);else{if(!n)throw new ct(i.cwd,this.context.cwd);if(!n.manifest.name)throw new be(`Missing 'name' field in ${K.fromPortablePath(x.join(n.cwd,xt.manifest))}`);s=n.manifest.name}let o=await IE(s,t),l={children:Ie.sortMap(Object.entries(o),([c])=>c).map(([c,u])=>({value:ee.tuple(ee.Type.RESOLUTION,{descriptor:P.makeDescriptor(s,c),locator:P.makeLocator(s,u)})}))};return Vn.emitTree(l,{configuration:t,json:this.json,stdout:this.context.stdout})}};Wu.paths=[[\"npm\",\"tag\",\"list\"]],Wu.usage=ve.Usage({category:\"Npm-related commands\",description:\"list all dist-tags of a package\",details:`\n      This command will list all tags of a package from the npm registry.\n\n      If the package is not specified, Yarn will default to the current workspace.\n    `,examples:[[\"List all tags of package `my-pkg`\",\"yarn npm tag list my-pkg\"]]});async function IE(r,e){let t=`/-/package${Mt.getIdentUrl(r)}/dist-tags`;return Mt.get(t,{configuration:e,ident:r,jsonResponse:!0,customErrorMessage:Mt.customPackageError})}var zu=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseDescriptor(this.package,!0),o=s.range;if(!aue.default.valid(o))throw new be(`The range ${ee.pretty(t,s.range,ee.Type.RANGE)} must be a valid semver version`);let a=or.getPublishRegistry(n.manifest,{configuration:t}),l=ee.pretty(t,s,ee.Type.IDENT),c=ee.pretty(t,o,ee.Type.RANGE),u=ee.pretty(t,this.tag,ee.Type.CODE);return(await Ge.start({configuration:t,stdout:this.context.stdout},async f=>{let h=await IE(s,t);Object.prototype.hasOwnProperty.call(h,this.tag)&&h[this.tag]===o&&f.reportWarning(0,`Tag ${u} is already set to version ${c}`);let p=`/-/package${Mt.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Mt.put(p,o,{configuration:t,registry:a,ident:s,jsonRequest:!0,jsonResponse:!0}),f.reportInfo(0,`Tag ${u} added to version ${c} of package ${l}`)})).exitCode()}};zu.paths=[[\"npm\",\"tag\",\"add\"]],zu.usage=ve.Usage({category:\"Npm-related commands\",description:\"add a tag for a specific version of a package\",details:`\n      This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten.\n    `,examples:[[\"Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`\",\"yarn npm tag add my-pkg@2.3.4-beta.4 beta\"]]});var Vu=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){if(this.tag===\"latest\")throw new be(\"The 'latest' tag cannot be removed.\");let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseIdent(this.package),o=or.getPublishRegistry(n.manifest,{configuration:t}),a=ee.pretty(t,this.tag,ee.Type.CODE),l=ee.pretty(t,s,ee.Type.IDENT),c=await IE(s,t);if(!Object.prototype.hasOwnProperty.call(c,this.tag))throw new be(`${a} is not a tag of package ${l}`);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{let f=`/-/package${Mt.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Mt.del(f,{configuration:t,registry:o,ident:s,jsonResponse:!0}),g.reportInfo(0,`Tag ${a} removed from package ${l}`)})).exitCode()}};Vu.paths=[[\"npm\",\"tag\",\"remove\"]],Vu.usage=ve.Usage({category:\"Npm-related commands\",description:\"remove a tag from a package\",details:`\n      This command will remove a tag from a package from the npm registry.\n    `,examples:[[\"Remove the `beta` tag from package `my-pkg`\",\"yarn npm tag remove my-pkg beta\"]]});var Xu=class extends De{constructor(){super(...arguments);this.scope=z.String(\"-s,--scope\",{description:\"Print username for the registry configured for a given scope\"});this.publish=z.Boolean(\"--publish\",!1,{description:\"Print username for the publish registry\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i;return this.scope&&this.publish?i=or.getScopeRegistry(this.scope,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):this.scope?i=or.getScopeRegistry(this.scope,{configuration:t}):this.publish?i=or.getPublishRegistry((await Ph(t,this.context.cwd)).manifest,{configuration:t}):i=or.getDefaultRegistry({configuration:t}),(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{var a,l;let o;try{o=await Mt.get(\"/-/whoami\",{configuration:t,registry:i,authType:Mt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?P.makeIdent(this.scope,\"\"):void 0})}catch(c){if(((a=c.response)==null?void 0:a.statusCode)===401||((l=c.response)==null?void 0:l.statusCode)===403){s.reportError(41,\"Authentication failed - your credentials may have expired\");return}else throw c}s.reportInfo(0,o.username)})).exitCode()}};Xu.paths=[[\"npm\",\"whoami\"]],Xu.usage=ve.Usage({category:\"Npm-related commands\",description:\"display the name of the authenticated user\",details:\"\\n      Print the username associated with the current authentication settings to the standard output.\\n\\n      When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\\n\\n      When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\\n    \",examples:[[\"Print username for the default registry\",\"yarn npm whoami\"],[\"Print username for the registry on a given scope\",\"yarn npm whoami --scope company\"]]});var _Ve={configuration:{npmPublishAccess:{description:\"Default access of the published packages\",type:\"STRING\",default:null},npmAuditExcludePackages:{description:\"Array of glob patterns of packages to exclude from npm audit\",type:\"STRING\",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:\"Array of glob patterns of advisory IDs to exclude from npm audit\",type:\"STRING\",default:[],isArray:!0}},commands:[Gu,Yu,ju,qu,Ju,zu,Wu,Vu,Xu]},ZVe=_Ve;var zM={};ut(zM,{default:()=>h6e,patchUtils:()=>_u});var _u={};ut(_u,{applyPatchFile:()=>Sb,diffFolders:()=>JM,ensureUnpatchedDescriptor:()=>HM,extractPackageToDisk:()=>qM,extractPatchFlags:()=>hue,isParentRequired:()=>jM,loadPatchFiles:()=>QE,makeDescriptor:()=>GM,makeLocator:()=>YM,makePatchHash:()=>WM,parseDescriptor:()=>wE,parseLocator:()=>BE,parsePatchFile:()=>yE});var $Ve=/^@@ -(\\d+)(,(\\d+))? \\+(\\d+)(,(\\d+))? @@.*/;function Ap(r){return x.relative(Oe.root,x.resolve(Oe.root,K.toPortablePath(r)))}function e6e(r){let e=r.trim().match($Ve);if(!e)throw new Error(`Bad header line: '${r}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var t6e=420,r6e=493;var Aue=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),i6e=r=>({header:e6e(r),parts:[]}),n6e={[\"@\"]:\"header\",[\"-\"]:\"deletion\",[\"+\"]:\"insertion\",[\" \"]:\"context\",[\"\\\\\"]:\"pragma\",undefined:\"context\"};function s6e(r){let e=[],t=Aue(),i=\"parsing header\",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),t.hunks.push(n),n=null)}function a(){o(),e.push(t),t=Aue()}for(let l=0;l<r.length;l++){let c=r[l];if(i===\"parsing header\")if(c.startsWith(\"@@\"))i=\"parsing hunks\",t.hunks=[],l-=1;else if(c.startsWith(\"diff --git \")){t&&t.diffLineFromPath&&a();let u=c.match(/^diff --git a\\/(.*?) b\\/(.*?)\\s*$/);if(!u)throw new Error(`Bad diff line: ${c}`);t.diffLineFromPath=u[1],t.diffLineToPath=u[2]}else if(c.startsWith(\"old mode \"))t.oldMode=c.slice(9).trim();else if(c.startsWith(\"new mode \"))t.newMode=c.slice(9).trim();else if(c.startsWith(\"deleted file mode \"))t.deletedFileMode=c.slice(18).trim();else if(c.startsWith(\"new file mode \"))t.newFileMode=c.slice(14).trim();else if(c.startsWith(\"rename from \"))t.renameFrom=c.slice(12).trim();else if(c.startsWith(\"rename to \"))t.renameTo=c.slice(10).trim();else if(c.startsWith(\"index \")){let u=c.match(/(\\w+)\\.\\.(\\w+)/);if(!u)continue;t.beforeHash=u[1],t.afterHash=u[2]}else c.startsWith(\"semver exclusivity \")?t.semverExclusivity=c.slice(19).trim():c.startsWith(\"--- \")?t.fromPath=c.slice(6).trim():c.startsWith(\"+++ \")&&(t.toPath=c.slice(6).trim());else{let u=n6e[c[0]]||null;switch(u){case\"header\":o(),n=i6e(c);break;case null:i=\"parsing header\",a(),l-=1;break;case\"pragma\":{if(!c.startsWith(\"\\\\ No newline at end of file\"))throw new Error(`Unrecognized pragma in patch file: ${c}`);if(!s)throw new Error(\"Bad parser state: No newline at EOF pragma encountered without context\");s.noNewlineAtEndOfFile=!0}break;case\"context\":case\"deletion\":case\"insertion\":{if(!n)throw new Error(\"Bad parser state: Hunk lines encountered before hunk header\");s&&s.type!==u&&(n.parts.push(s),s=null),s||(s={type:u,lines:[],noNewlineAtEndOfFile:!1}),s.lines.push(c.slice(1))}break;default:Ie.assertNever(u);break}}}a();for(let{hunks:l}of e)if(l)for(let c of l)a6e(c);return e}function o6e(r){let e=[];for(let t of r){let{semverExclusivity:i,diffLineFromPath:n,diffLineToPath:s,oldMode:o,newMode:a,deletedFileMode:l,newFileMode:c,renameFrom:u,renameTo:g,beforeHash:f,afterHash:h,fromPath:p,toPath:C,hunks:y}=t,B=u?\"rename\":l?\"file deletion\":c?\"file creation\":y&&y.length>0?\"patch\":\"mode change\",v=null;switch(B){case\"rename\":{if(!u||!g)throw new Error(\"Bad parser state: rename from & to not given\");e.push({type:\"rename\",semverExclusivity:i,fromPath:Ap(u),toPath:Ap(g)}),v=g}break;case\"file deletion\":{let D=n||p;if(!D)throw new Error(\"Bad parse state: no path given for file deletion\");e.push({type:\"file deletion\",semverExclusivity:i,hunk:y&&y[0]||null,path:Ap(D),mode:bb(l),hash:f})}break;case\"file creation\":{let D=s||C;if(!D)throw new Error(\"Bad parse state: no path given for file creation\");e.push({type:\"file creation\",semverExclusivity:i,hunk:y&&y[0]||null,path:Ap(D),mode:bb(c),hash:h})}break;case\"patch\":case\"mode change\":v=C||s;break;default:Ie.assertNever(B);break}v&&o&&a&&o!==a&&e.push({type:\"mode change\",semverExclusivity:i,path:Ap(v),oldMode:bb(o),newMode:bb(a)}),v&&y&&y.length&&e.push({type:\"patch\",semverExclusivity:i,path:Ap(v),hunks:y,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error(\"Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string\");return e}function bb(r){let e=parseInt(r,8)&511;if(e!==t6e&&e!==r6e)throw new Error(`Unexpected file mode string: ${r}`);return e}function yE(r){let e=r.split(/\\n/g);return e[e.length-1]===\"\"&&e.pop(),o6e(s6e(e))}function a6e(r){let e=0,t=0;for(let{type:i,lines:n}of r.parts)switch(i){case\"context\":t+=n.length,e+=n.length;break;case\"deletion\":e+=n.length;break;case\"insertion\":t+=n.length;break;default:Ie.assertNever(i);break}if(e!==r.header.original.length||t!==r.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(r.header.original.length)} ${i(r.header.patched.length)} @@, got @@ ${i(e)} ${i(t)} @@)`)}}var lp=class extends Error{constructor(t,i){super(`Cannot apply hunk #${t+1}`);this.hunk=i}};async function cp(r,e,t){let i=await r.lstatPromise(e),n=await t();if(typeof n<\"u\"&&(e=n),r.lutimesPromise)await r.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await r.utimesPromise(e,i.atime,i.mtime);else throw new Error(\"Cannot preserve the time values of a symlink\")}async function Sb(r,{baseFs:e=new $t,dryRun:t=!1,version:i=null}={}){for(let n of r)if(!(n.semverExclusivity!==null&&i!==null&&!vt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case\"file deletion\":if(t){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await cp(e,x.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case\"rename\":if(t){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await cp(e,x.dirname(n.fromPath),async()=>{await cp(e,x.dirname(n.toPath),async()=>{await cp(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case\"file creation\":if(t){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(`\n`)+(n.hunk.parts[0].noNewlineAtEndOfFile?\"\":`\n`):\"\";await e.mkdirpPromise(x.dirname(n.path),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,xr.SAFE_TIME,xr.SAFE_TIME)}break;case\"patch\":await cp(e,n.path,async()=>{await c6e(n,{baseFs:e,dryRun:t})});break;case\"mode change\":{let o=(await e.statPromise(n.path)).mode;if(lue(n.newMode)!==lue(o))continue;await cp(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:Ie.assertNever(n);break}}function lue(r){return(r&64)>0}function cue(r){return r.replace(/\\s+$/,\"\")}function l6e(r,e){return cue(r)===cue(e)}async function c6e({hunks:r,path:e},{baseFs:t,dryRun:i=!1}){let n=await t.statSync(e).mode,o=(await t.readFileSync(e,\"utf8\")).split(/\\n/),a=[],l=0,c=0;for(let g of r){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),C=Math.max(h,p),y=0,B=0,v=null;for(;y<=C;){if(y<=h&&(B=f-y,v=uue(g,o,B),v!==null)){y=-y;break}if(y<=p&&(B=f+y,v=uue(g,o,B),v!==null))break;y+=1}if(v===null)throw new lp(r.indexOf(g),g);a.push(v),l+=y,c=B+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case\"splice\":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case\"pop\":o.pop();break;case\"push\":o.push(f.line);break;default:Ie.assertNever(f);break}await t.writeFilePromise(e,o.join(`\n`),{mode:n})}function uue(r,e,t){let i=[];for(let n of r.parts)switch(n.type){case\"context\":case\"deletion\":{for(let s of n.lines){let o=e[t];if(o==null||!l6e(o,s))return null;t+=1}n.type===\"deletion\"&&(i.push({type:\"splice\",index:t-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:\"push\",line:\"\"}))}break;case\"insertion\":i.push({type:\"splice\",index:t,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:\"pop\"});break;default:Ie.assertNever(n.type);break}return i}var g6e=/^builtin<([^>]+)>$/;function UM(r,e){let{source:t,selector:i,params:n}=P.parseRange(r);if(t===null)throw new Error(\"Patch locators must explicitly define their source\");let s=i?i.split(/&/).map(c=>K.toPortablePath(c)):[],o=n&&typeof n.locator==\"string\"?P.parseLocator(n.locator):null,a=n&&typeof n.version==\"string\"?n.version:null,l=e(t);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function wE(r){let{sourceItem:e,...t}=UM(r.range,P.parseDescriptor);return{...t,sourceDescriptor:e}}function BE(r){let{sourceItem:e,...t}=UM(r.reference,P.parseLocator);return{...t,sourceLocator:e}}function HM(r){if(!r.range.startsWith(\"patch:\"))return r;let{sourceItem:e}=UM(r.range,P.parseDescriptor);return e}function gue({parentLocator:r,sourceItem:e,patchPaths:t,sourceVersion:i,patchHash:n},s){let o=r!==null?{locator:P.stringifyLocator(r)}:{},a=typeof i<\"u\"?{version:i}:{},l=typeof n<\"u\"?{hash:n}:{};return P.makeRange({protocol:\"patch:\",source:s(e),selector:t.join(\"&\"),params:{...a,...l,...o}})}function GM(r,{parentLocator:e,sourceDescriptor:t,patchPaths:i}){return P.makeDescriptor(r,gue({parentLocator:e,sourceItem:t,patchPaths:i},P.stringifyDescriptor))}function YM(r,{parentLocator:e,sourcePackage:t,patchPaths:i,patchHash:n}){return P.makeLocator(r,gue({parentLocator:e,sourceItem:t,sourceVersion:t.version,patchPaths:i,patchHash:n},P.stringifyLocator))}function fue({onAbsolute:r,onRelative:e,onBuiltin:t},i){i.startsWith(\"~\")&&(i=i.slice(1));let s=i.match(g6e);return s!==null?t(s[1]):x.isAbsolute(i)?r(i):e(i)}function hue(r){let e=r.startsWith(\"~\");return e&&(r=r.slice(1)),{optional:e}}function jM(r){return fue({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},r)}async function QE(r,e,t){let i=r!==null?await t.fetcher.fetch(r,t):null,n=i&&i.localPath?{packageFs:new jt(Oe.root),prefixPath:x.relative(Oe.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await Ie.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=hue(o),l=await fue({onAbsolute:async()=>await M.readFilePromise(o,\"utf8\"),onRelative:async()=>{if(n===null)throw new Error(\"Assertion failed: The parent locator should have been fetched\");return await n.packageFs.readFilePromise(x.join(n.prefixPath,o),\"utf8\")},onBuiltin:async c=>await t.project.configuration.firstHook(u=>u.getBuiltinPatch,t.project,c)},o);return{...a,source:l}})));for(let o of s)typeof o.source==\"string\"&&(o.source=o.source.replace(/\\r\\n?/g,`\n`));return s}async function qM(r,{cache:e,project:t}){let i=t.storedPackages.get(r.locatorHash);if(typeof i>\"u\")throw new Error(\"Assertion failed: Expected the package to be registered\");let n=t.storedChecksums,s=new ti,o=t.configuration.makeFetcher(),a=await o.fetch(r,{cache:e,project:t,fetcher:o,checksums:n,report:s}),l=await M.mktempPromise(),c=x.join(l,\"source\"),u=x.join(l,\"user\"),g=x.join(l,\".yarn-patch.json\");return await Promise.all([M.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),M.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),M.writeJsonPromise(g,{locator:P.stringifyLocator(r),version:i.version})]),M.detachTemp(l),u}async function JM(r,e){let t=K.fromPortablePath(r).replace(/\\\\/g,\"/\"),i=K.fromPortablePath(e).replace(/\\\\/g,\"/\"),{stdout:n,stderr:s}=await Cr.execvp(\"git\",[\"-c\",\"core.safecrlf=false\",\"diff\",\"--src-prefix=a/\",\"--dst-prefix=b/\",\"--ignore-cr-at-eol\",\"--full-index\",\"--no-index\",\"--no-renames\",\"--text\",t,i],{cwd:K.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:\"1\",HOME:\"\",XDG_CONFIG_HOME:\"\",USERPROFILE:\"\"}});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH.\nThe following error was reported by 'git':\n${s}`);let o=t.startsWith(\"/\")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${Ie.escapeRegExp(`/${o(t)}/`)})`,\"g\"),\"$1/\").replace(new RegExp(`(a|b)${Ie.escapeRegExp(`/${o(i)}/`)}`,\"g\"),\"$1/\").replace(new RegExp(Ie.escapeRegExp(`${t}/`),\"g\"),\"\").replace(new RegExp(Ie.escapeRegExp(`${i}/`),\"g\"),\"\")}function WM(r,e){let t=[];for(let{source:i}of r){if(i===null)continue;let n=yE(i);for(let s of n){let{semverExclusivity:o,...a}=s;o!==null&&e!==null&&!vt.satisfiesWithPrereleases(e,o)||t.push(JSON.stringify(a))}}return li.makeHash(`${3}`,...t).slice(0,6)}function pue(r,{configuration:e,report:t}){for(let i of r.parts)for(let n of i.lines)switch(i.type){case\"context\":t.reportInfo(null,`  ${ee.pretty(e,n,\"grey\")}`);break;case\"deletion\":t.reportError(28,`- ${ee.pretty(e,n,ee.Type.REMOVED)}`);break;case\"insertion\":t.reportError(28,`+ ${ee.pretty(e,n,ee.Type.ADDED)}`);break;default:Ie.assertNever(i.type)}}var vb=class{supports(e,t){return!!e.reference.startsWith(\"patch:\")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async patchPackage(e,t){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=BE(e),a=await QE(i,o,t),l=await M.mktempPromise(),c=x.join(l,\"current.zip\"),u=await t.fetcher.fetch(n,t),g=P.getIdentVendorPath(e),f=await rn(),h=new Wr(c,{libzip:f,create:!0,level:t.project.configuration.get(\"compressionLevel\")});await Ie.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:C}of a){if(p===null)continue;let y=new Wr(c,{libzip:f,level:t.project.configuration.get(\"compressionLevel\")}),B=new jt(x.resolve(Oe.root,g),{baseFs:y});try{await Sb(yE(p),{baseFs:B,version:s})}catch(v){if(!(v instanceof lp))throw v;let D=t.project.configuration.get(\"enableInlineHunks\"),L=!D&&!C?\" (set enableInlineHunks for details)\":\"\",H=`${P.prettyLocator(t.project.configuration,e)}: ${v.message}${L}`,j=$=>{!D||pue(v.hunk,{configuration:t.project.configuration,report:$})};if(y.discardAndClose(),C){t.report.reportWarningOnce(66,H,{reportExtra:j});continue}else throw new at(66,H,j)}y.saveAndClose()}return new Wr(c,{libzip:f,level:t.project.configuration.get(\"compressionLevel\")})}};var xb=class{supportsDescriptor(e,t){return!!e.range.startsWith(\"patch:\")}supportsLocator(e,t){return!!e.reference.startsWith(\"patch:\")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){let{patchPaths:n}=wE(e);return n.every(s=>!jM(s))?e:P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){let{sourceDescriptor:i}=wE(e);return[i]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=wE(e),a=await QE(n,o,i.fetchOptions),l=t.get(s.descriptorHash);if(typeof l>\"u\")throw new Error(\"Assertion failed: The dependency should have been resolved\");let c=WM(a,l.version);return[YM(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){let{sourceLocator:i}=BE(e);return{...await t.resolver.resolve(i,t),...e}}};var Zu=class extends De{constructor(){super(...arguments);this.save=z.Boolean(\"-s,--save\",!1,{description:\"Add the patch to your resolution entries\"});this.patchFolder=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=x.resolve(this.context.cwd,K.toPortablePath(this.patchFolder)),o=x.join(s,\"../source\"),a=x.join(s,\"../.yarn-patch.json\");if(!M.existsSync(o))throw new be(\"The argument folder didn't get created by 'yarn patch'\");let l=await JM(o,s),c=await M.readJsonPromise(a),u=P.parseLocator(c.locator,!0);if(!i.storedPackages.has(u.locatorHash))throw new be(\"No package found in the project for the given locator\");if(!this.save){this.context.stdout.write(l);return}let g=t.get(\"patchFolder\"),f=x.join(g,`${P.slugifyLocator(u)}.patch`);await M.mkdirPromise(g,{recursive:!0}),await M.writeFilePromise(f,l);let h=new Map;for(let p of i.storedPackages.values()){if(P.isVirtualLocator(p))continue;let C=p.dependencies.get(u.identHash);if(!C)continue;let y=P.isVirtualDescriptor(C)?P.devirtualizeDescriptor(C):C,B=HM(y),v=i.storedResolutions.get(B.descriptorHash);if(!v)throw new Error(\"Assertion failed: Expected the resolution to have been registered\");if(!i.storedPackages.get(v))throw new Error(\"Assertion failed: Expected the package to have been registered\");let L=i.originalPackages.get(p.locatorHash);if(!L)throw new Error(\"Assertion failed: Expected the original package to have been registered\");let H=L.dependencies.get(C.identHash);if(!H)throw new Error(\"Assertion failed: Expected the original dependency to have been registered\");h.set(H.descriptorHash,H)}for(let p of h.values()){let C=GM(p,{parentLocator:null,sourceDescriptor:P.convertLocatorToDescriptor(u),sourceVersion:null,patchPaths:[`./${x.relative(i.cwd,f)}`]});i.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:P.stringifyIdent(C),description:p.range}},reference:C.range})}await i.persist()}};Zu.paths=[[\"patch-commit\"]],Zu.usage=ve.Usage({description:\"generate a patch out of a directory\",details:\"\\n      By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\\n\\n      With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\\n\\n      Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\\n    \"});var $u=class extends De{constructor(){super(...arguments);this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=P.parseLocator(this.package);if(o.reference===\"unknown\"){let a=Ie.mapAndFilter([...i.storedPackages.values()],l=>l.identHash!==o.identHash?Ie.mapAndFilter.skip:P.isVirtualLocator(l)?Ie.mapAndFilter.skip:l);if(a.length===0)throw new be(\"No package found in the project for the given locator\");if(a.length>1)throw new be(`Multiple candidate packages found; explicitly choose one of them (use \\`yarn why <package>\\` to get more information as to who depends on them):\n${a.map(l=>`\n- ${P.prettyLocator(t,l)}`).join(\"\")}`);o=a[0]}if(!i.storedPackages.has(o.locatorHash))throw new be(\"No package found in the project for the given locator\");await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async a=>{let l=await qM(o,{cache:s,project:i});a.reportJson({locator:P.stringifyLocator(o),path:K.fromPortablePath(l)}),a.reportInfo(0,`Package ${P.prettyLocator(t,o)} got extracted with success!`),a.reportInfo(0,`You can now edit the following folder: ${ee.pretty(t,K.fromPortablePath(l),\"magenta\")}`),a.reportInfo(0,`Once you are done run ${ee.pretty(t,`yarn patch-commit -s ${process.platform===\"win32\"?'\"':\"\"}${K.fromPortablePath(l)}${process.platform===\"win32\"?'\"':\"\"}`,\"cyan\")} and Yarn will store a patchfile based on your changes.`)})}};$u.paths=[[\"patch\"]],$u.usage=ve.Usage({description:\"prepare a package for patching\",details:\"\\n      This command will cause a package to be extracted in a temporary directory intended to be editable at will.\\n      \\n      Once you're done with your changes, run `yarn patch-commit -s <path>` (with `<path>` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\\n    \"});var f6e={configuration:{enableInlineHunks:{description:\"If true, the installs will print unmatched patch hunks\",type:\"BOOLEAN\",default:!1},patchFolder:{description:\"Folder where the patch files must be written\",type:\"ABSOLUTE_PATH\",default:\"./.yarn/patches\"}},commands:[Zu,$u],fetchers:[vb],resolvers:[xb]},h6e=f6e;var ZM={};ut(ZM,{default:()=>C6e});var Pb=class{supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error(\"Assertion failed: Expected the pnpm linker to be enabled\");let i=XM(),n=t.project.installersCustomData.get(i);if(!n)throw new be(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=n.pathByLocator.get(e.locatorHash);if(typeof s>\"u\")throw new be(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return s}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=XM(),n=t.project.installersCustomData.get(i);if(!n)throw new be(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\\/node_modules\\/(@[^/]*\\/)?[^/]+)(\\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=x.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new VM(e)}isEnabled(e){return e.project.configuration.get(\"nodeLinker\")===\"pnpm\"}},VM=class{constructor(e){this.opts=e;this.asyncActions=new Ie.AsyncActions(10);this.customData={pathByLocator:new Map,locatorByPath:new Map}}getCustomDataKey(){return XM()}attachCustomData(e){}async installPackage(e,t,i){switch(e.linkType){case\"SOFT\":return this.installPackageSoft(e,t,i);case\"HARD\":return this.installPackageHard(e,t,i)}throw new Error(\"Assertion failed: Unsupported package link type\")}async installPackageSoft(e,t,i){let n=x.resolve(t.packageFs.getRealPath(),t.prefixPath);return this.customData.pathByLocator.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,t,i){var u;let n=p6e(e,{project:this.opts.project});this.customData.locatorByPath.set(n,P.stringifyLocator(e)),this.customData.pathByLocator.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await M.mkdirPromise(n,{recursive:!0}),await M.copyPromise(n,t.prefixPath,{baseFs:t.packageFs,overwrite:!1})}));let o=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e,a={manifest:(u=await ot.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?u:new ot,misc:{hasBindingGyp:uo.hasBindingGyp(t)}},l=this.opts.project.getDependencyMeta(o,e.version),c=uo.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,t){this.opts.project.configuration.get(\"nodeLinker\")===\"pnpm\"&&(!due(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.customData.pathByLocator.get(e.locatorHash);if(typeof n>\"u\")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(e)})`);let s=x.join(n,xt.nodeModules),o=[],a=await Cue(s);for(let[l,c]of t){let u=c;due(c,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,\"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies\"),u=P.devirtualizeLocator(c));let g=this.customData.pathByLocator.get(u.locatorHash);if(typeof g>\"u\")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(c)})`);let f=P.stringifyIdent(l),h=x.join(s,f),p=x.relative(x.dirname(h),g),C=a.get(f);a.delete(f),o.push(Promise.resolve().then(async()=>{if(C){if(C.isSymbolicLink()&&await M.readlinkPromise(h)===p)return;await M.removePromise(h)}await M.mkdirpPromise(x.dirname(h)),process.platform==\"win32\"?await M.symlinkPromise(g,h,\"junction\"):await M.symlinkPromise(p,h)}))}o.push(mue(s,a)),await Promise.all(o)}))}async attachExternalDependents(e,t){throw new Error(\"External dependencies haven't been implemented for the pnpm linker\")}async finalizeInstall(){let e=Iue(this.opts.project);if(this.opts.project.configuration.get(\"nodeLinker\")!==\"pnpm\")await M.removePromise(e);else{let t=[],i=new Set;for(let s of this.customData.pathByLocator.values()){let o=x.contains(e,s);if(o!==null){let[a,,...l]=o.split(x.sep);i.add(a);let c=x.join(e,a);t.push(M.readdirPromise(c).then(u=>Promise.all(u.map(async g=>{let f=x.join(c,g);if(g===xt.nodeModules){let h=await Cue(f);return h.delete(l.join(x.sep)),mue(f,h)}else return M.removePromise(f)}))).catch(u=>{if(u.code!==\"ENOENT\")throw u}))}}let n;try{n=await M.readdirPromise(e)}catch{n=[]}for(let s of n)i.has(s)||t.push(M.removePromise(x.join(e,s)));await Promise.all(t)}return await this.asyncActions.wait(),await _M(e),this.opts.project.configuration.get(\"nodeLinker\")!==\"node-modules\"&&await _M(Eue(this.opts.project)),{customData:this.customData}}};function XM(){return JSON.stringify({name:\"PnpmInstaller\",version:2})}function Eue(r){return x.join(r.cwd,xt.nodeModules)}function Iue(r){return x.join(Eue(r),\".store\")}function p6e(r,{project:e}){let t=P.slugifyLocator(r),i=P.getIdentVendorPath(r);return x.join(Iue(e),t,i)}function due(r,{project:e}){return!P.isVirtualLocator(r)||!e.tryWorkspaceByLocator(r)}async function Cue(r){let e=new Map,t=[];try{t=await M.readdirPromise(r,{withFileTypes:!0})}catch(i){if(i.code!==\"ENOENT\")throw i}try{for(let i of t)if(!i.name.startsWith(\".\"))if(i.name.startsWith(\"@\")){let n=await M.readdirPromise(x.join(r,i.name),{withFileTypes:!0});if(n.length===0)e.set(i.name,i);else for(let s of n)e.set(`${i.name}/${s.name}`,s)}else e.set(i.name,i)}catch(i){if(i.code!==\"ENOENT\")throw i}return e}async function mue(r,e){var n;let t=[],i=new Set;for(let s of e.keys()){t.push(M.removePromise(x.join(r,s)));let o=(n=P.tryParseIdent(s))==null?void 0:n.scope;o&&i.add(`@${o}`)}return Promise.all(t).then(()=>Promise.all([...i].map(s=>_M(x.join(r,s)))))}async function _M(r){try{await M.rmdirPromise(r)}catch(e){if(e.code!==\"ENOENT\"&&e.code!==\"ENOTEMPTY\")throw e}}var d6e={linkers:[Pb]},C6e=d6e;var rQ=()=>({modules:new Map([[\"@yarnpkg/cli\",Qm],[\"@yarnpkg/core\",VC],[\"@yarnpkg/fslib\",Lp],[\"@yarnpkg/libzip\",CC],[\"@yarnpkg/parsers\",Yp],[\"@yarnpkg/shell\",yC],[\"clipanion\",JZ($p)],[\"semver\",m6e],[\"typanion\",gn],[\"yup\",E6e],[\"@yarnpkg/plugin-essentials\",GT],[\"@yarnpkg/plugin-compat\",WT],[\"@yarnpkg/plugin-dlx\",zT],[\"@yarnpkg/plugin-file\",ZT],[\"@yarnpkg/plugin-git\",HT],[\"@yarnpkg/plugin-github\",$T],[\"@yarnpkg/plugin-http\",eO],[\"@yarnpkg/plugin-init\",nO],[\"@yarnpkg/plugin-link\",sO],[\"@yarnpkg/plugin-nm\",MO],[\"@yarnpkg/plugin-npm\",LM],[\"@yarnpkg/plugin-npm-cli\",KM],[\"@yarnpkg/plugin-pack\",DM],[\"@yarnpkg/plugin-patch\",zM],[\"@yarnpkg/plugin-pnp\",vO],[\"@yarnpkg/plugin-pnpm\",ZM]]),plugins:new Set([\"@yarnpkg/plugin-essentials\",\"@yarnpkg/plugin-compat\",\"@yarnpkg/plugin-dlx\",\"@yarnpkg/plugin-file\",\"@yarnpkg/plugin-git\",\"@yarnpkg/plugin-github\",\"@yarnpkg/plugin-http\",\"@yarnpkg/plugin-init\",\"@yarnpkg/plugin-link\",\"@yarnpkg/plugin-nm\",\"@yarnpkg/plugin-npm\",\"@yarnpkg/plugin-npm-cli\",\"@yarnpkg/plugin-pack\",\"@yarnpkg/plugin-patch\",\"@yarnpkg/plugin-pnp\",\"@yarnpkg/plugin-pnpm\"])});R0({binaryVersion:Lr||\"<unknown>\",pluginConfiguration:rQ()});})();\n/*!\n * buildToken\n * Builds OAuth token prefix (helper function)\n *\n * @name buildToken\n * @function\n * @param {GitUrl} obj The parsed Git url object.\n * @return {String} token prefix\n */\n/*!\n * fill-range <https://github.com/jonschlinkert/fill-range>\n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n/*!\n * is-extglob <https://github.com/jonschlinkert/is-extglob>\n *\n * Copyright (c) 2014-2016, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n/*!\n * is-glob <https://github.com/jonschlinkert/is-glob>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n/*!\n * is-number <https://github.com/jonschlinkert/is-number>\n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n/*!\n * is-windows <https://github.com/jonschlinkert/is-windows>\n *\n * Copyright © 2015-2018, Jon Schlinkert.\n * Released under the MIT License.\n */\n/*!\n * to-regex-range <https://github.com/micromatch/to-regex-range>\n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n/**\n  @license\n  Copyright (c) 2015, Rebecca Turner\n\n  Permission to use, copy, modify, and/or distribute this software for any\n  purpose with or without fee is hereby granted, provided that the above\n  copyright notice and this permission notice appear in all copies.\n\n  THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n  REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n  INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n  PERFORMANCE OF THIS SOFTWARE.\n */\n/**\n  @license\n  Copyright Joyent, Inc. and other Node contributors.\n\n  Permission is hereby granted, free of charge, to any person obtaining a\n  copy of this software and associated documentation files (the\n  \"Software\"), to deal in the Software without restriction, including\n  without limitation the rights to use, copy, modify, merge, publish,\n  distribute, sublicense, and/or sell copies of the Software, and to permit\n  persons to whom the Software is furnished to do so, subject to the\n  following conditions:\n\n  The above copyright notice and this permission notice shall be included\n  in all copies or substantial portions of the Software.\n\n  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n  NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n  DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n  OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n  USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n/**\n  @license\n  Copyright Node.js contributors. All rights reserved.\n\n  Permission is hereby granted, free of charge, to any person obtaining a copy\n  of this software and associated documentation files (the \"Software\"), to\n  deal in the Software without restriction, including without limitation the\n  rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n  sell copies of the Software, and to permit persons to whom the Software is\n  furnished to do so, subject to the following conditions:\n\n  The above copyright notice and this permission notice shall be included in\n  all copies or substantial portions of the Software.\n\n  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n  IN THE SOFTWARE.\n*/\n/**\n  @license\n  The MIT License (MIT)\n\n  Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)\n\n  Permission is hereby granted, free of charge, to any person obtaining a copy\n  of this software and associated documentation files (the \"Software\"), to deal\n  in the Software without restriction, including without limitation the rights\n  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n  copies of the Software, and to permit persons to whom the Software is\n  furnished to do so, subject to the following conditions:\n\n  The above copyright notice and this permission notice shall be included in\n  all copies or substantial portions of the Software.\n\n  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n  THE SOFTWARE.\n*/\n"
  },
  {
    "path": ".yarnrc.yml",
    "content": "enableGlobalCache: true\n\nnmHoistingLimits: workspaces\n\nnmMode: hardlinks-global\n\nnodeLinker: node-modules\n\nplugins:\n  - path: .yarn/plugins/@yarnpkg/plugin-compat.cjs\n    spec: .yarn/plugins/@yarnpkg/plugin-compat.cjs\n\nyarnPath: .yarn/releases/yarn-3.4.1.cjs\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "*This guide is best-effort and will be improved as necessary.*\n\n## Dev environment\n\nTools I use:\n\n- yarn 3 for package management\n- volta (optional, node version management)\n\n## Features, bugfixes, and other code\n\nWe use package.json scripts for building, testing, and linting.  Read the scripts to become familiar with our build process.  The big ones are:\n\n```\nyarn\nyarn build\nyarn test\nyarn fmt\n```\n\n`yarn prepack` / `pnpm prepack`/ `npm prepare` are maintained so that anyone can install `ts-node` from git, which is useful for testing experimental branches and unreleased features.\n\nSource lives in `src` and is compiled to `dist`.  Some shim files live outside of `src` so that they can be imported at\ncertain paths.  For example, to allow users to import `ts-node/register`, we have `register/index.js` which is a shim to\ncompiled code in `dist`.\n\n`dist-raw` is for larger chunks of code which are not compiled nor linted because they have been copy-pasted from `node`'s source code.\n\n## Tests\n\nTest cases are declared in `src/test/*.spec.ts`, and test fixtures live in `./tests`.  They can be run with `yarn test`.\n\nTo run a subset of tests:\n\n```\n# Use ava's --match flag to match the name of a test or suite\n# https://github.com/avajs/ava/blob/main/docs/05-command-line.md\n# Don't forget the * wildcards\nyarn test --match '*esm loader*'\n\n# Or pass a filename as it exists in the compiled output\n# To run the tests in ./src/test/diagnostics.spec.ts\nyarn test ./dist/test/diagnostics.spec.js\n```\n\nTests are run with AVA, but using a custom wrapper API to enable some TS-friendly features and grouped test suites.\n\nThe tests `yarn pack` ts-node into a tarball and `yarn install` it into `./tests/node_modules`.  This makes `./tests` a better testing environment\nbecause it more closely matches the end-user's environment.  Complex `require()` / `import` / `--require` / `--loader` invocations behave\nthe way they would in a users's project.\n\nHistorically, it has been difficult to test ts-node in-process because it mutates the node environment: installing require hooks, stack trace formatters, etc.\n`nyc`, `ava`, and `ts-node` all mutate the node environment, so it is tricky to setup and teardown individual tests in isolation, because ts-node's hooks need to be\nreset without disturbing `nyc` or `ava` hooks.  For this reason, many tests are integration style, spawning ts-node's CLI in an external process, asking it to\nexecute one of the fixture projects in `./tests`.\n\nOver time, I've gradually added setup and teardown logic so that more components can be tested in-process.\n\nWe have a debug configuration for VSCode.\n\n1. Open a `*.spec.ts` so it is the active/focused file.\n2. (optional) set breakpoints.\n3. Invoke debugger with F5.\n\nNote that some tests might misbehave in the debugger.  REPL tests in particular.  I'm not sure why, but I think it is related to how `console` does not write to\nstdout when in a debug session.\n\n### Test Context\n\nAva has the concept of test \"context\", an object which can store reusable fields common across many tests.\n\nBy convention, any functions that setup reusable context start with `ctx`, making them easier to tab-complete and auto-import while writing tests.\n\nSee `ctxTsNode` for an example.\n\nContext setup functions are re-executed for each test case.  If you don't want this, wrap the context function in lodash `once()`.  Each test will still get a unique context object, but the values placed onto each context will be identical.\n\nEvery `ctx*` function has a namespace with `Ctx` and `T` types.  These make it easier/cleaner to write tests.\n\n### Test Macros\n\nAva has the concept of test \"macros\", reusable functions which can declare a type of test many times with different inputs.\n\nMacro functions are created with `test.macro()`.\n\nBy convention, if a macro function is meant to be imported and reused in multiple files, its name should start with `macro`.\n\nMacros can also be declared to require a certain \"context,\" thanks to the namespace types described in \"Test Context\" above.\n\nSee examples in `helpers/*.ts`.\n\n## Documentation\n\nDocumentation is written in markdown in `website/docs` and rendered into a website by Docusaurus.  The README is also generated from these markdown files.\n\nTo edit documentation, modify the markdown files in `./website/docs` and the sidebar declaration in `./website/sidebars.js`\n\nDocs for the latest stable release live in a `docs` branch.  The \"Edit this page\" links on the website link to the `docs`\nbranch so that the website can be improved in parallel with new feature work.\n\nDocs changes for unreleased features are merged to `main` in the same PR which implements the feature, adds tests, etc.\nWhen we release a new version, we merge `main` with `docs`, unifying the two.\n\n```shell\ncd ./website\nyarn\nyarn start\n# Will host live website locally\n\nyarn build-readme # will rebuild the README.md\n```\n\nThis site was used to generate the favicon from a high-res PNG export of the SVG. https://realfavicongenerator.net/\n\n## Release checklist\n\nWe publish using `np`: https://npm.im/np\n\n1. Merge `docs` into `main` using a pull request, ensuring a consistent squash-merge\n2. Rebuild the README (see instructions above, necessary because npmjs.com renders the readme)\n3. (optional) Update the api-extractor report; check for unexpected changes.  See below\n4. Publish with `np`\n - `np --branch main --no-tests`\n  - `--no-tests` because we must rely on CI to test ts-node.  Even if you *did* run the tests locally, you would only be testing a single operating system, node version, and TypeScript version, so locally-run tests are insufficient.\n5. Add changelog to the Github Release; match formatting from previous releases\n6. Move `docs` branch to head of `main`\n  - this rebuilds the website\n  - `git push --force origin main:docs`\n  - avoids merge messiness due to earlier squash-merge from `docs` to `main`\n7. If tsconfig schema has changed, send a pull request to schemastore.  [Example](https://github.com/SchemaStore/schemastore/pull/1208)\n\n## APIExtractor\n\n`yarn api-extractor` will update an API report generated by [`api-extractor`](https://api-extractor.com/pages/overview/intro/) which may be useful\nwhen generating release notes to detect (breaking) changes in our API surface.\n\nI configured it for my own convenience; it is not a necessary part of our development process.\n"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2014 Blake Embrey (hello@blakeembrey.com)\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\nall copies 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\nTHE SOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "<!--\nBEFORE EDITING THIS README\nOur README.md is auto-generated by combining pages in website/docs and website/readme-sources\n\nIf you are sending a pull request to improve documentation, submit your changes\nin the source markdown files and we will generate the README from there.\n\nYou can build the readme with this command:\n\n    cd website && yarn build-readme\n-->\n\n# [![TypeScript Node](logo.svg?sanitize=true)](https://typestrong.org/ts-node)\n\n[![NPM version](https://img.shields.io/npm/v/ts-node.svg?style=flat)](https://npmjs.org/package/ts-node)\n[![NPM downloads](https://img.shields.io/npm/dm/ts-node.svg?style=flat)](https://npmjs.org/package/ts-node)\n[![Build status](https://img.shields.io/github/actions/workflow/status/TypeStrong/ts-node/continuous-integration.yml?branch=main)](https://github.com/TypeStrong/ts-node/actions?query=workflow%3A%22Continuous+Integration%22)\n[![Test coverage](https://codecov.io/gh/TypeStrong/ts-node/branch/main/graph/badge.svg)](https://codecov.io/gh/TypeStrong/ts-node)\n\n> TypeScript execution and REPL for node.js, with source map and native ESM support.\n\nThe latest documentation can also be found on our website: <https://typestrong.org/ts-node>\n\n# Table of Contents\n\n*   [Overview](#overview)\n    *   [Features](#features)\n*   [Installation](#installation)\n*   [Usage](#usage)\n    *   [Command Line](#command-line)\n    *   [Shebang](#shebang)\n    *   [node flags and other tools](#node-flags-and-other-tools)\n    *   [Programmatic](#programmatic)\n*   [Configuration](#configuration)\n    *   [CLI flags](#cli-flags)\n    *   [Via tsconfig.json (recommended)](#via-tsconfigjson-recommended)\n        *   [@tsconfig/bases](#tsconfigbases)\n        *   [Default config](#default-config)\n    *   [`node` flags](#node-flags)\n*   [Options](#options)\n    *   [CLI Options](#cli-options)\n        *   [help](#help)\n        *   [version](#version)\n        *   [eval](#eval)\n        *   [print](#print)\n        *   [interactive](#interactive)\n        *   [esm](#esm)\n    *   [TSConfig Options](#tsconfig-options)\n        *   [project](#project)\n        *   [skipProject](#skipproject)\n        *   [cwdMode](#cwdmode)\n        *   [compilerOptions](#compileroptions)\n        *   [showConfig](#showconfig)\n    *   [Typechecking](#typechecking)\n        *   [transpileOnly](#transpileonly)\n        *   [typeCheck](#typecheck)\n        *   [compilerHost](#compilerhost)\n        *   [files](#files)\n        *   [ignoreDiagnostics](#ignorediagnostics)\n    *   [Transpilation Options](#transpilation-options)\n        *   [ignore](#ignore)\n        *   [skipIgnore](#skipignore)\n        *   [compiler](#compiler)\n        *   [swc](#swc)\n        *   [transpiler](#transpiler)\n        *   [preferTsExts](#prefertsexts)\n    *   [Diagnostic Options](#diagnostic-options)\n        *   [logError](#logerror)\n        *   [pretty](#pretty)\n        *   [TS_NODE_DEBUG](#ts_node_debug)\n    *   [Advanced Options](#advanced-options)\n        *   [require](#require)\n        *   [cwd](#cwd)\n        *   [emit](#emit)\n        *   [scope](#scope)\n        *   [scopeDir](#scopedir)\n        *   [moduleTypes](#moduletypes)\n        *   [TS_NODE_HISTORY](#ts_node_history)\n        *   [noExperimentalReplAwait](#noexperimentalreplawait)\n        *   [experimentalResolver](#experimentalresolver)\n        *   [experimentalSpecifierResolution](#experimentalspecifierresolution)\n    *   [API Options](#api-options)\n*   [SWC](#swc-1)\n*   [CommonJS vs native ECMAScript modules](#commonjs-vs-native-ecmascript-modules)\n    *   [CommonJS](#commonjs)\n    *   [Native ECMAScript modules](#native-ecmascript-modules)\n*   [Troubleshooting](#troubleshooting)\n    *   [Configuration](#configuration-1)\n    *   [Common errors](#common-errors)\n        *   [`TSError`](#tserror)\n        *   [`SyntaxError`](#syntaxerror)\n            *   [Unsupported JavaScript syntax](#unsupported-javascript-syntax)\n        *   [`ERR_REQUIRE_ESM`](#err_require_esm)\n        *   [`ERR_UNKNOWN_FILE_EXTENSION`](#err_unknown_file_extension)\n    *   [Missing Types](#missing-types)\n    *   [npx, yarn dlx, and node_modules](#npx-yarn-dlx-and-node_modules)\n*   [Performance](#performance)\n    *   [Skip typechecking](#skip-typechecking)\n    *   [With typechecking](#with-typechecking)\n*   [Advanced](#advanced)\n    *   [How it works](#how-it-works)\n    *   [Ignored files](#ignored-files)\n        *   [File extensions](#file-extensions)\n        *   [Skipping `node_modules`](#skipping-node_modules)\n        *   [Skipping pre-compiled TypeScript](#skipping-pre-compiled-typescript)\n        *   [Scope by directory](#scope-by-directory)\n        *   [Ignore by regexp](#ignore-by-regexp)\n    *   [paths and baseUrl\n        ](#paths-and-baseurl)\n        *   [Why is this not built-in to ts-node?](#why-is-this-not-built-in-to-ts-node)\n    *   [Third-party compilers](#third-party-compilers)\n    *   [Transpilers](#transpilers)\n        *   [Third-party plugins](#third-party-plugins)\n        *   [Write your own plugin](#write-your-own-plugin)\n    *   [Module type overrides](#module-type-overrides)\n        *   [Caveats](#caveats)\n    *   [API](#api)\n*   [Recipes](#recipes)\n    *   [Watching and restarting](#watching-and-restarting)\n    *   [AVA](#ava)\n        *   [CommonJS](#commonjs-1)\n        *   [Native ECMAScript modules](#native-ecmascript-modules-1)\n    *   [Gulp](#gulp)\n    *   [IntelliJ and Webstorm](#intellij-and-webstorm)\n    *   [Mocha](#mocha)\n        *   [Mocha 7 and newer](#mocha-7-and-newer)\n        *   [Mocha <=6](#mocha-6)\n    *   [Tape](#tape)\n    *   [Visual Studio Code](#visual-studio-code)\n    *   [Other](#other)\n*   [License](#license)\n\n# Overview\n\nts-node is a TypeScript execution engine and REPL for Node.js.\n\nIt JIT transforms TypeScript into JavaScript, enabling you to directly execute TypeScript on Node.js without precompiling.\nThis is accomplished by hooking node's module loading APIs, enabling it to be used seamlessly alongside other Node.js\ntools and libraries.\n\n## Features\n\n*   Automatic sourcemaps in stack traces\n*   Automatic `tsconfig.json` parsing\n*   Automatic defaults to match your node version\n*   Typechecking (optional)\n*   REPL\n*   Write standalone scripts\n*   Native ESM loader\n*   Use third-party transpilers\n*   Use custom transformers\n*   Integrate with test runners, debuggers, and CLI tools\n*   Compatible with pre-compilation for production\n\n![TypeScript REPL](website/static/img/screenshot.png)\n\n# Installation\n\n```shell\n# Locally in your project.\nnpm install -D typescript\nnpm install -D ts-node\n\n# Or globally with TypeScript.\nnpm install -g typescript\nnpm install -g ts-node\n\n# Depending on configuration, you may also need these\nnpm install -D tslib @types/node\n```\n\n**Tip:** Installing modules locally allows you to control and share the versions through `package.json`. ts-node will always resolve the compiler from `cwd` before checking relative to its own installation.\n\n# Usage\n\n## Command Line\n\n```shell\n# Execute a script as `node` + `tsc`.\nts-node script.ts\n\n# Starts a TypeScript REPL.\nts-node\n\n# Execute code with TypeScript.\nts-node -e 'console.log(\"Hello, world!\")'\n\n# Execute, and print, code with TypeScript.\nts-node -p -e '\"Hello, world!\"'\n\n# Pipe scripts to execute with TypeScript.\necho 'console.log(\"Hello, world!\")' | ts-node\n\n# Equivalent to ts-node --transpileOnly\nts-node-transpile-only script.ts\n\n# Equivalent to ts-node --cwdMode\nts-node-cwd script.ts\n\n# Equivalent to ts-node --esm\nts-node-esm script.ts\n```\n\n## Shebang\n\nTo write scripts with maximum portability, [specify options in your `tsconfig.json`](#via-tsconfigjson-recommended) and omit them from the shebang.\n\n```typescript twoslash\n#!/usr/bin/env ts-node\n\n// ts-node options are read from tsconfig.json\n\nconsole.log(\"Hello, world!\")\n```\n\nIncluding options within the shebang requires the [`env -S` flag](https://manpages.debian.org/bullseye/coreutils/env.1.en.html#S), which is available on recent versions of `env`. ([compatibility](https://github.com/TypeStrong/ts-node/pull/1448#issuecomment-913895766))\n\n```typescript twoslash\n#!/usr/bin/env -S ts-node --files\n// This shebang works on Mac and Linux with newer versions of env\n// Technically, Mac allows omitting `-S`, but Linux requires it\n```\n\nTo test your version of `env` for compatibility with `-S`:\n\n```shell\n# Note that these unusual quotes are necessary\n/usr/bin/env --debug '-S echo foo bar'\n```\n\n## node flags and other tools\n\nYou can register ts-node without using our CLI: `node -r ts-node/register` and `node --loader ts-node/esm`\n\nIn many cases, setting [`NODE_OPTIONS`](https://nodejs.org/api/cli.html#cli_node_options_options) will enable `ts-node` within other node tools, child processes, and worker threads.  This can be combined with other node flags.\n\n```shell\nNODE_OPTIONS=\"-r ts-node/register --no-warnings\" node ./index.ts\n```\n\nOr, if you require native ESM support:\n\n```shell\nNODE_OPTIONS=\"--loader ts-node/esm\"\n```\n\nThis tells any node processes which receive this environment variable to install `ts-node`'s hooks before executing other code.\n\nIf you are invoking node directly, you can avoid the environment variable and pass those flags to node.\n\n```shell\nnode --loader ts-node/esm --inspect ./index.ts\n```\n\n## Programmatic\n\nYou can require ts-node and register the loader for future requires by using `require('ts-node').register({ /* options */ })`.\n\nCheck out our [API](#api) for more features.\n\n# Configuration\n\nts-node supports a variety of options which can be specified via `tsconfig.json`, as CLI flags, as environment variables, or programmatically.\n\nFor a complete list, see [Options](#options).\n\n## CLI flags\n\nts-node CLI flags must come *before* the entrypoint script. For example:\n\n```shell\n$ ts-node --project tsconfig-dev.json say-hello.ts Ronald\nHello, Ronald!\n```\n\n## Via tsconfig.json (recommended)\n\nts-node automatically finds and loads `tsconfig.json`.  Most ts-node options can be specified in a `\"ts-node\"` object using their programmatic, camelCase names. We recommend this because it works even when you cannot pass CLI flags, such as `node --require ts-node/register` and when using shebangs.\n\nUse `--skipProject` to skip loading the `tsconfig.json`.  Use `--project` to explicitly specify the path to a `tsconfig.json`.\n\nWhen searching, it is resolved using [the same search behavior as `tsc`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html). By default, this search is performed relative to the entrypoint script. In `--cwdMode` or if no entrypoint is specified -- for example when using the REPL -- the search is performed relative to `--cwd` / `process.cwd()`.\n\nYou can use this sample configuration as a starting point:\n\n```jsonc title=\"tsconfig.json\"\n{\n  // This is an alias to @tsconfig/node16: https://github.com/tsconfig/bases\n  \"extends\": \"ts-node/node16/tsconfig.json\",\n\n  // Most ts-node options can be specified here using their programmatic names.\n  \"ts-node\": {\n    // It is faster to skip typechecking.\n    // Remove if you want ts-node to do typechecking.\n    \"transpileOnly\": true,\n\n    \"files\": true,\n\n    \"compilerOptions\": {\n      // compilerOptions specified here will override those declared below,\n      // but *only* in ts-node.  Useful if you want ts-node and tsc to use\n      // different options with a single tsconfig.json.\n    }\n  },\n  \"compilerOptions\": {\n    // typescript options here\n  }\n}\n```\n\nOur bundled [JSON schema](https://unpkg.com/browse/ts-node@latest/tsconfig.schema.json) lists all compatible options.\n\n### @tsconfig/bases\n\n[@tsconfig/bases](https://github.com/tsconfig/bases) maintains recommended configurations for several node versions.\nAs a convenience, these are bundled with ts-node.\n\n```jsonc title=\"tsconfig.json\"\n{\n  \"extends\": \"ts-node/node16/tsconfig.json\",\n\n  // Or install directly with `npm i -D @tsconfig/node16`\n  \"extends\": \"@tsconfig/node16/tsconfig.json\",\n}\n```\n\n### Default config\n\nIf no `tsconfig.json` is loaded from disk, ts-node will use the newest recommended defaults from\n[@tsconfig/bases](https://github.com/tsconfig/bases/) compatible with your `node` and `typescript` versions.\nWith the latest `node` and `typescript`, this is [`@tsconfig/node16`](https://github.com/tsconfig/bases/blob/master/bases/node16.json).\n\nOlder versions of `typescript` are incompatible with `@tsconfig/node16`.  In those cases we will use an older default configuration.\n\nWhen in doubt, `ts-node --showConfig` will log the configuration being used, and `ts-node -vv` will log `node` and `typescript` versions.\n\n## `node` flags\n\n[`node` flags](https://nodejs.org/api/cli.html) must be passed directly to `node`; they cannot be passed to the ts-node binary nor can they be specified in `tsconfig.json`\n\nWe recommend using the [`NODE_OPTIONS`](https://nodejs.org/api/cli.html#cli_node_options_options) environment variable to pass options to `node`.\n\n```shell\nNODE_OPTIONS='--trace-deprecation --abort-on-uncaught-exception' ts-node ./index.ts\n```\n\nAlternatively, you can invoke `node` directly and install ts-node via `--require`/`-r`\n\n```shell\nnode --trace-deprecation --abort-on-uncaught-exception -r ts-node/register ./index.ts\n```\n\n# Options\n\nAll command-line flags support both `--camelCase` and `--hyphen-case`.\n\nMost options can be declared in your tsconfig.json: [Configuration via tsconfig.json](#via-tsconfigjson-recommended)\n\n`ts-node` supports `--print` (`-p`), `--eval` (`-e`), `--require` (`-r`) and `--interactive` (`-i`) similar to the [node.js CLI](https://nodejs.org/api/cli.html).\n\n`ts-node` supports `--project` and `--showConfig` similar to the [tsc CLI](https://www.typescriptlang.org/docs/handbook/compiler-options.html#compiler-options).\n\n*Environment variables, where available, are in `ALL_CAPS`*\n\n## CLI Options\n\n### help\n\n```shell\nts-node --help\n```\n\nPrints the help text\n\n### version\n\n```shell\nts-node -v\nts-node -vvv\n```\n\nPrints the version. `-vv` includes node and typescript compiler versions.  `-vvv` includes absolute paths to ts-node and\ntypescript installations.\n\n### eval\n\n```shell\nts-node -e <typescript code>\n# Example\nts-node -e 'console.log(\"Hello world!\")'\n```\n\nEvaluate code\n\n### print\n\n```shell\nts-node -p -e <typescript code>\n# Example\nts-node -p -e '\"Hello world!\"'\n```\n\nPrint result of `--eval`\n\n### interactive\n\n```shell\nts-node -i\n```\n\nOpens the REPL even if stdin does not appear to be a terminal\n\n### esm\n\n```shell\nts-node --esm\nts-node-esm\n```\n\nBootstrap with the ESM loader, enabling full ESM support\n\n## TSConfig Options\n\n### project\n\n```shell\nts-node -P <path/to/tsconfig>\nts-node --project <path/to/tsconfig>\n```\n\nPath to tsconfig file.\n\n*Note the uppercase `-P`. This is different from `tsc`'s `-p/--project` option.*\n\n*Environment:* `TS_NODE_PROJECT`\n\n### skipProject\n\n```shell\nts-node --skipProject\n```\n\nSkip project config resolution and loading\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_SKIP_PROJECT`\n\n### cwdMode\n\n```shell\nts-node -c\nts-node --cwdMode\nts-node-cwd\n```\n\nResolve config relative to the current directory instead of the directory of the entrypoint script\n\n### compilerOptions\n\n```shell\nts-node -O <json compilerOptions>\nts-node --compilerOptions <json compilerOptions>\n```\n\nJSON object to merge with compiler options\n\n*Environment:* `TS_NODE_COMPILER_OPTIONS`\n\n### showConfig\n\n```shell\nts-node --showConfig\n```\n\nPrint resolved `tsconfig.json`, including `ts-node` options, and exit\n\n## Typechecking\n\n### transpileOnly\n\n```shell\nts-node -T\nts-node --transpileOnly\n```\n\nUse TypeScript's faster `transpileModule`\n\n*Default:* `false`<br/>\n*Environment:* `TS_NODE_TRANSPILE_ONLY`\n\n### typeCheck\n\n```shell\nts-node --typeCheck\n```\n\nOpposite of `--transpileOnly`\n\n*Default:* `true`<br/>\n*Environment:* `TS_NODE_TYPE_CHECK`\n\n### compilerHost\n\n```shell\nts-node -H\nts-node --compilerHost\n```\n\nUse TypeScript's compiler host API\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_COMPILER_HOST`\n\n### files\n\n```shell\nts-node --files\n```\n\nLoad `files`, `include` and `exclude` from `tsconfig.json` on startup.  This may\navoid certain typechecking failures.  See [Missing types](#missing-types) for details.\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_FILES`\n\n### ignoreDiagnostics\n\n```shell\nts-node -D <code,code>\nts-node --ignoreDiagnostics <code,code>\n```\n\nIgnore TypeScript warnings by diagnostic code\n\n*Environment:* `TS_NODE_IGNORE_DIAGNOSTICS`\n\n## Transpilation Options\n\n### ignore\n\n```shell\nts-node -I <regexp matching ignored files>\nts-node --ignore <regexp matching ignored files>\n```\n\nOverride the path patterns to skip compilation\n\n*Default:* `/node_modules/` <br/>\n*Environment:* `TS_NODE_IGNORE`\n\n### skipIgnore\n\n```shell\nts-node --skipIgnore\n```\n\nSkip ignore checks\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_SKIP_IGNORE`\n\n### compiler\n\n```shell\nts-node -C <name>\nts-node --compiler <name>\n```\n\nSpecify a custom TypeScript compiler\n\n*Default:* `typescript` <br/>\n*Environment:* `TS_NODE_COMPILER`\n\n### swc\n\n```shell\nts-node --swc\n```\n\nTranspile with [swc](#swc).  Implies `--transpileOnly`\n\n*Default:* `false`\n\n### transpiler\n\n```shell\nts-node --transpiler <name>\n# Example\nts-node --transpiler ts-node/transpilers/swc\n```\n\nUse a third-party, non-typechecking transpiler\n\n### preferTsExts\n\n```shell\nts-node --preferTsExts\n```\n\nRe-order file extensions so that TypeScript imports are preferred\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_PREFER_TS_EXTS`\n\n## Diagnostic Options\n\n### logError\n\n```shell\nts-node --logError\n```\n\nLogs TypeScript errors to stderr instead of throwing exceptions\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_LOG_ERROR`\n\n### pretty\n\n```shell\nts-node --pretty\n```\n\nUse pretty diagnostic formatter\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_PRETTY`\n\n### TS_NODE_DEBUG\n\n```shell\nTS_NODE_DEBUG=true ts-node\n```\n\nEnable debug logging\n\n## Advanced Options\n\n### require\n\n```shell\nts-node -r <module name or path>\nts-node --require <module name or path>\n```\n\nRequire a node module before execution\n\n### cwd\n\n```shell\nts-node --cwd <path/to/directory>\n```\n\nBehave as if invoked in this working directory\n\n*Default:* `process.cwd()`<br/>\n*Environment:* `TS_NODE_CWD`\n\n### emit\n\n```shell\nts-node --emit\n```\n\nEmit output files into `.ts-node` directory. Requires `--compilerHost`\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_EMIT`\n\n### scope\n\n```shell\nts-node --scope\n```\n\nScope compiler to files within `scopeDir`.  Anything outside this directory is ignored.\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_SCOPE`\n\n### scopeDir\n\n```shell\nts-node --scopeDir <path/to/directory>\n```\n\nDirectory within which compiler is limited when `scope` is enabled.\n\n*Default:* First of: `tsconfig.json` \"rootDir\" if specified, directory containing `tsconfig.json`, or cwd if no `tsconfig.json` is loaded.<br/>\n*Environment:* `TS_NODE_SCOPE_DIR`\n\n### moduleTypes\n\nOverride the module type of certain files, ignoring the `package.json` `\"type\"` field.  See [Module type overrides](#module-type-overrides) for details.\n\n*Default:* obeys `package.json` `\"type\"` and `tsconfig.json` `\"module\"` <br/>\n*Can only be specified via `tsconfig.json` or API.*\n\n### TS_NODE_HISTORY\n\n```shell\nTS_NODE_HISTORY=<path/to/history/file> ts-node\n```\n\nPath to history file for REPL\n\n*Default:* `~/.ts_node_repl_history`\n\n### noExperimentalReplAwait\n\n```shell\nts-node --noExperimentalReplAwait\n```\n\nDisable top-level await in REPL.  Equivalent to node's [`--no-experimental-repl-await`](https://nodejs.org/api/cli.html#cli_no_experimental_repl_await)\n\n*Default:* Enabled if TypeScript version is 3.8 or higher and target is ES2018 or higher.<br/>\n*Environment:* `TS_NODE_EXPERIMENTAL_REPL_AWAIT` set `false` to disable\n\n### experimentalResolver\n\nEnable experimental hooks that re-map imports and require calls to support:\n\n*   remapping extensions, e.g. so that `import \"./foo.js\"` will execute `foo.ts`. Currently the following extensions will be mapped:\n    *   `.js` to `.ts`, `.tsx`, or `.jsx`\n    *   `.cjs` to `.cts`\n    *   `.mjs` to `.mts`\n    *   `.jsx` to `.tsx`\n*   including file extensions in CommonJS, for consistency with ESM where this is often mandatory\n\nIn the future, this hook will also support:\n\n*   `baseUrl`, `paths`\n*   `rootDirs`\n*   `outDir` to `rootDir` mappings for composite projects and monorepos\n\nFor details, see [#1514](https://github.com/TypeStrong/ts-node/issues/1514).\n\n*Default:* `false`, but will likely be enabled by default in a future version<br/>\n*Can only be specified via `tsconfig.json` or API.*\n\n### experimentalSpecifierResolution\n\n```shell\nts-node --experimentalSpecifierResolution node\n```\n\nLike node's [`--experimental-specifier-resolution`](https://nodejs.org/dist/latest-v18.x/docs/api/esm.html#customizing-esm-specifier-resolution-algorithm), but can also be set in your `tsconfig.json` for convenience.\nRequires [`esm`](#esm) to be enabled.\n\n*Default:* `explicit`<br/>\n\n## API Options\n\nThe API includes [additional options](https://typestrong.org/ts-node/api/interfaces/RegisterOptions.html) not shown here.\n\n# SWC\n\nSWC support is built-in via the `--swc` flag or `\"swc\": true` tsconfig option.\n\n[SWC](https://swc.rs) is a TypeScript-compatible transpiler implemented in Rust.  This makes it an order of magnitude faster than vanilla `transpileOnly`.\n\nTo use it, first install `@swc/core` or `@swc/wasm`.  If using `importHelpers`, also install `@swc/helpers`.  If `target` is less than \"es2015\" and using `async`/`await` or generator functions, also install `regenerator-runtime`.\n\n```shell\nnpm i -D @swc/core @swc/helpers regenerator-runtime\n```\n\nThen add the following to your `tsconfig.json`.\n\n```jsonc title=\"tsconfig.json\"\n{\n  \"ts-node\": {\n    \"swc\": true\n  }\n}\n```\n\n> SWC uses `@swc/helpers` instead of `tslib`.  If you have enabled `importHelpers`, you must also install `@swc/helpers`.\n\n# CommonJS vs native ECMAScript modules\n\nTypeScript is almost always written using modern `import` syntax, but it is also transformed before being executed by the underlying runtime.  You can choose to either transform to CommonJS or to preserve the native `import` syntax, using node's native ESM support.  Configuration is different for each.\n\nHere is a brief comparison of the two.\n\n| CommonJS | Native ECMAScript modules |\n|---|---|\n| Write native `import` syntax | Write native `import` syntax |\n| Transforms `import` into `require()` | Does not transform `import` |\n| Node executes scripts using the classic [CommonJS loader](https://nodejs.org/dist/latest-v16.x/docs/api/modules.html) | Node executes scripts using the new [ESM loader](https://nodejs.org/dist/latest-v16.x/docs/api/esm.html) |\n| Use any of:<br/>`ts-node`<br/>`node -r ts-node/register`<br/>`NODE_OPTIONS=\"ts-node/register\" node`<br/>`require('ts-node').register({/* options */})` | Use any of:<br/>`ts-node --esm`<br/>`ts-node-esm`<br/>Set `\"esm\": true` in `tsconfig.json`<br />`node --loader ts-node/esm`<br/>`NODE_OPTIONS=\"--loader ts-node/esm\" node` |\n\n## CommonJS\n\nTransforming to CommonJS is typically simpler and more widely supported because it is older.  You must remove [`\"type\": \"module\"`](https://nodejs.org/api/packages.html#packages_type) from `package.json` and set [`\"module\": \"CommonJS\"`](https://www.typescriptlang.org/tsconfig/#module) in `tsconfig.json`.\n\n```jsonc title=\"package.json\"\n{\n  // This can be omitted; commonjs is the default\n  \"type\": \"commonjs\"\n}\n```\n\n```jsonc title=\"tsconfig.json\"\n{\n  \"compilerOptions\": {\n    \"module\": \"CommonJS\"\n  }\n}\n```\n\nIf you must keep `\"module\": \"ESNext\"` for `tsc`, webpack, or another build tool, you can set an override for ts-node.\n\n```jsonc title=\"tsconfig.json\"\n{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\"\n  },\n  \"ts-node\": {\n    \"compilerOptions\": {\n      \"module\": \"CommonJS\"\n    }\n  }\n}\n```\n\n## Native ECMAScript modules\n\n[Node's ESM loader hooks](https://nodejs.org/api/esm.html#esm_experimental_loaders) are [**experimental**](https://nodejs.org/api/documentation.html#documentation_stability_index) and subject to change. ts-node's ESM support is as stable as possible, but it relies on APIs which node can *and will* break in new versions of node.  Thus it is not recommended for production.\n\nFor complete usage, limitations, and to provide feedback, see [#1007](https://github.com/TypeStrong/ts-node/issues/1007).\n\nYou must set [`\"type\": \"module\"`](https://nodejs.org/api/packages.html#packages_type) in `package.json` and [`\"module\": \"ESNext\"`](https://www.typescriptlang.org/tsconfig/#module) in `tsconfig.json`.\n\n```jsonc title=\"package.json\"\n{\n  \"type\": \"module\"\n}\n```\n\n```jsonc title=\"tsconfig.json\"\n{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\" // or ES2015, ES2020\n  },\n  \"ts-node\": {\n    // Tell ts-node CLI to install the --loader automatically, explained below\n    \"esm\": true\n  }\n}\n```\n\nYou must also ensure node is passed `--loader`.  The ts-node CLI will do this automatically with our `esm` option.\n\n> Note: `--esm` must spawn a child process to pass it `--loader`.  This may change if node adds the ability to install loader hooks\n> into the current process.\n\n```shell\n# pass the flag\nts-node --esm\n# Use the convenience binary\nts-node-esm\n# or add `\"esm\": true` to your tsconfig.json to make it automatic\nts-node\n```\n\nIf you are not using our CLI, pass the loader flag to node.\n\n```shell\nnode --loader ts-node/esm ./index.ts\n# Or via environment variable\nNODE_OPTIONS=\"--loader ts-node/esm\" node ./index.ts\n```\n\n# Troubleshooting\n\n## Configuration\n\nts-node uses sensible default configurations to reduce boilerplate while still respecting `tsconfig.json` if you\nhave one.  If you are unsure which configuration is used, you can log it with `ts-node --showConfig`.  This is similar to\n`tsc --showConfig` but includes `\"ts-node\"` options as well.\n\nts-node also respects your locally-installed `typescript` version, but global installations fallback to the globally-installed\n`typescript`.  If you are unsure which versions are used, `ts-node -vv` will log them.\n\n```shell\n$ ts-node -vv\nts-node v10.0.0\nnode v16.1.0\ncompiler v4.2.2\n\n$ ts-node --showConfig\n{\n  \"compilerOptions\": {\n    \"target\": \"es6\",\n    \"lib\": [\n      \"es6\",\n      \"dom\"\n    ],\n    \"rootDir\": \"./src\",\n    \"outDir\": \"./.ts-node\",\n    \"module\": \"commonjs\",\n    \"moduleResolution\": \"node\",\n    \"strict\": true,\n    \"declaration\": false,\n    \"sourceMap\": true,\n    \"inlineSources\": true,\n    \"types\": [\n      \"node\"\n    ],\n    \"stripInternal\": true,\n    \"incremental\": true,\n    \"skipLibCheck\": true,\n    \"importsNotUsedAsValues\": \"error\",\n    \"inlineSourceMap\": false,\n    \"noEmit\": false\n  },\n  \"ts-node\": {\n    \"cwd\": \"/d/project\",\n    \"projectSearchDir\": \"/d/project\",\n    \"require\": [],\n    \"project\": \"/d/project/tsconfig.json\"\n  }\n}\n```\n\n## Common errors\n\nIt is important to differentiate between errors from ts-node, errors from the TypeScript compiler, and errors from `node`.  It is also important to understand when errors are caused by a type error in your code, a bug in your code, or a flaw in your configuration.\n\n### `TSError`\n\nType errors from the compiler are thrown as a `TSError`.  These are the same as errors you get from `tsc`.\n\n### `SyntaxError`\n\nAny error that is not a `TSError` is from node.js (e.g. `SyntaxError`), and cannot be fixed by TypeScript or ts-node. These are bugs in your code or configuration.\n\n#### Unsupported JavaScript syntax\n\nYour version of `node` may not support all JavaScript syntax supported by TypeScript.  The compiler must transform this syntax via \"downleveling,\" which is controlled by\nthe [tsconfig `\"target\"` option](https://www.typescriptlang.org/tsconfig#target).  Otherwise your code will compile fine, but node will throw a `SyntaxError`.\n\nFor example, `node` 12 does not understand the `?.` optional chaining operator.  If you use `\"target\": \"esnext\"`, then the following TypeScript syntax:\n\n```typescript twoslash\nconst bar: string | undefined = foo?.bar;\n```\n\nwill compile into this JavaScript:\n\n```javascript\nconst a = foo?.bar;\n```\n\nWhen you try to run this code, node 12 will throw a `SyntaxError`.  To fix this, you must switch to `\"target\": \"es2019\"` or lower so TypeScript transforms `?.` into something `node` can understand.\n\n### `ERR_REQUIRE_ESM`\n\nThis error is thrown by node when a module is `require()`d, but node believes it should execute as native ESM.  This can happen for a few reasons:\n\n*   You have installed an ESM dependency but your own code compiles to CommonJS.\n    *   Solution: configure your project to compile and execute as native ESM. [Docs](#native-ecmascript-modules)\n    *   Solution: downgrade the dependency to an older, CommonJS version.\n*   You have moved your project to ESM but still have a config file, such as `webpack.config.ts`, which must be executed as CommonJS <!-- SYNC_WITH_MTO_DOCS -->\n    *   Solution: if supported by the relevant tool, rename your config file to `.cts`\n    *   Solution: Configure a module type override. [Docs](#module-type-overrides)\n*   You have a mix of CommonJS and native ESM in your project\n    *   Solution: double-check all package.json \"type\" and tsconfig.json \"module\" configuration [Docs](#commonjs-vs-native-ecmascript-modules)\n    *   Solution: consider simplifying by making your project entirely CommonJS or entirely native ESM\n\n### `ERR_UNKNOWN_FILE_EXTENSION`\n\nThis error is thrown by node when a module has an unrecognized file extension, or no extension at all, and is being executed as native ESM.  This can happen for a few reasons:\n\n*   You are using a tool which has an extensionless binary, such as `mocha`.\n    *   CommonJS supports extensionless files but native ESM does not.\n    *   Solution: upgrade to ts-node >=[v10.6.0](https://github.com/TypeStrong/ts-node/releases/tag/v10.6.0), which implements a workaround.\n*   Our ESM loader is not installed.\n    *   Solution: Use `ts-node-esm`, `ts-node --esm`, or add `\"ts-node\": {\"esm\": true}` to your tsconfig.json.  [Docs](#native-ecmascript-modules)\n*   You have moved your project to ESM but still have a config file, such as `webpack.config.ts`, which must be executed as CommonJS <!-- SYNC_WITH_MTO_DOCS -->\n    *   Solution: if supported by the relevant tool, rename your config file to `.cts`\n    *   Solution: Configure a module type override. [Docs](#module-type-overrides)\n\n## Missing Types\n\nts-node does *not* eagerly load `files`, `include` or `exclude` by default. This is because a large majority of projects do not use all of the files in a project directory (e.g. `Gulpfile.ts`, runtime vs tests) and parsing every file for types slows startup time. Instead, ts-node starts with the script file (e.g. `ts-node index.ts`) and TypeScript resolves dependencies based on imports and references.\n\nOccasionally, this optimization leads to missing types. Fortunately, there are other ways to include them in typechecking.\n\nFor global definitions, you can use the `typeRoots` compiler option.  This requires that your type definitions be structured as type packages (not loose TypeScript definition files). More details on how this works can be found in the [TypeScript Handbook](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#types-typeroots-and-types).\n\nExample `tsconfig.json`:\n\n```jsonc\n{\n  \"compilerOptions\": {\n    \"typeRoots\" : [\"./node_modules/@types\", \"./typings\"]\n  }\n}\n```\n\nExample project structure:\n\n```text\n<project_root>/\n-- tsconfig.json\n-- typings/\n  -- <module_name>/\n    -- index.d.ts\n```\n\nExample module declaration file:\n\n```typescript twoslash\ndeclare module '<module_name>' {\n    // module definitions go here\n}\n```\n\nFor module definitions, you can use [`paths`](https://www.typescriptlang.org/docs/handbook/module-resolution.html#path-mapping):\n\n```jsonc title=\"tsconfig.json\"\n{\n  \"compilerOptions\": {\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"custom-module-type\": [\"types/custom-module-type\"]\n    }\n  }\n}\n```\n\nAnother option is [triple-slash directives](https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html). This may be helpful if you prefer not to change your `compilerOptions` or structure your type definitions for `typeRoots`. Below is an example of a triple-slash directive as a relative path within your project:\n\n```typescript twoslash\n/// <reference path=\"./types/lib_greeter\" />\nimport {Greeter} from \"lib_greeter\"\nconst g = new Greeter();\ng.sayHello();\n```\n\nIf none of the above work, and you *must* use `files`, `include`, or `exclude`, enable our [`files`](#files) option.\n\n## npx, yarn dlx, and node_modules\n\nWhen executing TypeScript with `npx` or `yarn dlx`, the code resides within a temporary `node_modules` directory.\n\nThe contents of `node_modules` are ignored by default.  If execution fails, enable [`skipIgnore`](#skipignore).\n\n<!--See also: [npx and yarn dlx](./recipes/npx-and-yarn-dlx.md)-->\n\n# Performance\n\nThese tricks will make ts-node faster.\n\n## Skip typechecking\n\nIt is often better to typecheck as part of your tests or linting.  You can run `tsc --noEmit` to do this.  In these cases, ts-node can skip typechecking, making it much faster.\n\nTo skip typechecking in ts-node, do one of the following:\n\n*   Enable [swc](#swc)\n    *   This is by far the fastest option\n*   Enable [`transpileOnly`](#transpileonly) to skip typechecking without swc\n\n## With typechecking\n\nIf you absolutely must typecheck in ts-node:\n\n*   Avoid dynamic `require()` which may trigger repeated typechecking; prefer `import`\n*   Try with and without `--files`; one may be faster depending on your project\n*   Check `tsc --showConfig`; make sure all executed files are included\n*   Enable [`skipLibCheck`](https://www.typescriptlang.org/tsconfig#skipLibCheck)\n*   Set a [`types`](https://www.typescriptlang.org/tsconfig#types) array to avoid loading unnecessary `@types`\n\n# Advanced\n\n## How it works\n\nts-node works by registering hooks for `.ts`, `.tsx`, `.js`, and/or `.jsx` extensions.\n\nVanilla `node` loads `.js` by reading code from disk and executing it.  Our hook runs in the middle, transforming code from TypeScript to JavaScript and passing the result to `node` for execution.  This transformation will respect your `tsconfig.json` as if you had compiled via `tsc`.\n\nWe also register a few other hooks to apply sourcemaps to stack traces and remap from `.js` imports to `.ts`.\n\n## Ignored files\n\nts-node transforms certain files and ignores others.  We refer to this mechanism as \"scoping.\"  There are various\noptions to configure scoping, so that ts-node transforms only the files in your project.\n\n> **Warning:**\n>\n> An ignored file can still be executed by node.js.  Ignoring a file means we do not transform it from TypeScript into JavaScript, but it does not prevent execution.\n>\n> If a file requires transformation but is ignored, node may either fail to resolve it or attempt to execute it as vanilla JavaScript.  This may cause syntax errors or other failures, because node does not understand TypeScript type syntax nor bleeding-edge ECMAScript features.\n\n### File extensions\n\n`.js` and `.jsx` are only transformed when [`allowJs`](https://www.typescriptlang.org/docs/handbook/compiler-options.html#compiler-options) is enabled.\n\n`.tsx` and `.jsx` are only transformed when [`jsx`](https://www.typescriptlang.org/docs/handbook/jsx.html) is enabled.\n\n> **Warning:**\n>\n> When ts-node is used with `allowJs`, *all* non-ignored JavaScript files are transformed by ts-node.\n\n### Skipping `node_modules`\n\nBy default, ts-node avoids compiling files in `/node_modules/` for three reasons:\n\n1.  Modules should always be published in a format node.js can consume\n2.  Transpiling the entire dependency tree will make your project slower\n3.  Differing behaviours between TypeScript and node.js (e.g. ES2015 modules) can result in a project that works until you decide to support a feature natively from node.js\n\nIf you need to import uncompiled TypeScript in `node_modules`, use [`--skipIgnore`](#skipignore) or [`TS_NODE_SKIP_IGNORE`](#skipignore) to bypass this restriction.\n\n### Skipping pre-compiled TypeScript\n\nIf a compiled JavaScript file with the same name as a TypeScript file already exists, the TypeScript file will be ignored.  ts-node will import the pre-compiled JavaScript.\n\nTo force ts-node to import the TypeScript source, not the precompiled JavaScript, use [`--preferTsExts`](#prefertsexts).\n\n### Scope by directory\n\nOur [`scope`](#scope) and [`scopeDir`](#scopedir) options will limit transformation to files\nwithin a directory.\n\n### Ignore by regexp\n\nOur [`ignore`](#ignore) option will ignore files matching one or more regular expressions.\n\n## paths and baseUrl&#xA;\n\nYou can use ts-node together with [tsconfig-paths](https://www.npmjs.com/package/tsconfig-paths) to load modules according to the `paths` section in `tsconfig.json`.\n\n```jsonc title=\"tsconfig.json\"\n{\n  \"ts-node\": {\n    // Do not forget to `npm i -D tsconfig-paths`\n    \"require\": [\"tsconfig-paths/register\"]\n  }\n}\n```\n\n### Why is this not built-in to ts-node?\n\nThe official TypeScript Handbook explains the intended purpose for `\"paths\"` in [\"Additional module resolution flags\"](https://www.typescriptlang.org/docs/handbook/module-resolution.html#additional-module-resolution-flags).\n\n> The TypeScript compiler has a set of additional flags to *inform* the compiler of transformations that are expected to happen to the sources to generate the final output.\n>\n> It is important to note that the compiler will not perform any of these transformations; it just uses these pieces of information to guide the process of resolving a module import to its definition file.\n\nThis means `\"paths\"` are intended to describe mappings that the build tool or runtime *already* performs, not to tell the build tool or\nruntime how to resolve modules.  In other words, they intend us to write our imports in a way `node` already understands.  For this reason, ts-node does not modify `node`'s module resolution behavior to implement `\"paths\"` mappings.\n\n## Third-party compilers\n\nSome projects require a patched typescript compiler which adds additional features.  For example, [`ttypescript`](https://github.com/cevek/ttypescript/tree/master/packages/ttypescript) and [`ts-patch`](https://github.com/nonara/ts-patch#readme)\nadd the ability to configure custom transformers.  These are drop-in replacements for the vanilla `typescript` module and\nimplement the same API.\n\nFor example, to use `ttypescript` and `ts-transformer-keys`, add this to your `tsconfig.json`:\n\n```jsonc title=\"tsconfig.json\"\n{\n  \"ts-node\": {\n    // This can be omitted when using ts-patch\n    \"compiler\": \"ttypescript\"\n  },\n  \"compilerOptions\": {\n    // plugin configuration is the same for both ts-patch and ttypescript\n    \"plugins\": [\n      { \"transform\": \"ts-transformer-keys/transformer\" }\n    ]\n  }\n}\n```\n\n## Transpilers\n\nts-node supports third-party transpilers as plugins.  Transpilers such as swc can transform TypeScript into JavaScript\nmuch faster than the TypeScript compiler.  You will still benefit from ts-node's automatic `tsconfig.json` discovery,\nsourcemap support, and global ts-node CLI. Plugins automatically derive an appropriate configuration from your existing\n`tsconfig.json` which simplifies project boilerplate.\n\n> **What is the difference between a compiler and a transpiler?**\n>\n> For our purposes, a compiler implements TypeScript's API and can perform typechecking.\n> A third-party transpiler does not.  Both transform TypeScript into JavaScript.\n\n### Third-party plugins\n\nThe `transpiler` option allows using third-party transpiler plugins with ts-node.  `transpiler` must be given the\nname of a module which can be `require()`d.  The built-in `swc` plugin is exposed as `ts-node/transpilers/swc`.\n\nFor example, to use a hypothetical \"@cspotcode/fast-ts-compiler\", first install it into your project: `npm install @cspotcode/fast-ts-compiler`\n\nThen add the following to your tsconfig:\n\n```jsonc title=\"tsconfig.json\"\n{\n  \"ts-node\": {\n    \"transpileOnly\": true,\n    \"transpiler\": \"@cspotcode/fast-ts-compiler\"\n  }\n}\n```\n\n### Write your own plugin\n\nTo write your own transpiler plugin, check our [API docs](https://typestrong.org/ts-node/api/interfaces/TranspilerModule.html).\n\nPlugins are `require()`d by ts-node, so they can be a local script or a node module published to npm.  The module must\nexport a `create` function described by our\n[`TranspilerModule`](https://typestrong.org/ts-node/api/interfaces/TranspilerModule.html) interface.  `create` is\ninvoked by ts-node at startup to create one or more transpiler instances.  The instances are used to transform\nTypeScript into JavaScript.\n\nFor a working example, check out out our bundled swc plugin: https://github.com/TypeStrong/ts-node/blob/main/src/transpilers/swc.ts\n\n## Module type overrides\n\n> Wherever possible, it is recommended to use TypeScript's [`NodeNext` or `Node16` mode](https://www.typescriptlang.org/docs/handbook/esm-node.html) instead of the options described\n> in this section.  Setting `\"module\": \"NodeNext\"` and using the `.cts` file extension should work well for most projects.\n\nWhen deciding how a file should be compiled and executed -- as either CommonJS or native ECMAScript module -- ts-node matches\n`node` and `tsc` behavior.  This means TypeScript files are transformed according to your `tsconfig.json` `\"module\"`\noption and executed according to node's rules for the `package.json` `\"type\"` field.  Set `\"module\": \"NodeNext\"` and everything should work.\n\nIn rare cases, you may need to override this behavior for some files.  For example, some tools read a `name-of-tool.config.ts`\nand require that file to execute as CommonJS.  If you have `package.json` configured with `\"type\": \"module\"` and `tsconfig.json` with\n`\"module\": \"esnext\"`, the config is native ECMAScript by default and will raise an error.  You will need to force the config and\nany supporting scripts to execute as CommonJS.\n\nIn these situations, our `moduleTypes` option can override certain files to be\nCommonJS or ESM.  Similar overriding is possible by using `.mts`, `.cts`, `.cjs` and `.mjs` file extensions.\n`moduleTypes` achieves the same effect for `.ts` and `.js` files, and *also* overrides your `tsconfig.json` `\"module\"`\nconfig appropriately.\n\nThe following example tells ts-node to execute a webpack config as CommonJS:\n\n```jsonc title=\"tsconfig.json\"\n{\n  \"ts-node\": {\n    \"transpileOnly\": true,\n    \"moduleTypes\": {\n      \"webpack.config.ts\": \"cjs\",\n      // Globs are also supported with the same behavior as tsconfig \"include\"\n      \"webpack-config-scripts/**/*\": \"cjs\"\n    }\n  },\n  \"compilerOptions\": {\n    \"module\": \"es2020\",\n    \"target\": \"es2020\"\n  }\n}\n```\n\nEach key is a glob pattern with the same syntax as tsconfig's `\"include\"` array.\nWhen multiple patterns match the same file, the last pattern takes precedence.\n\n*   `cjs` overrides matches files to compile and execute as CommonJS.\n*   `esm` overrides matches files to compile and execute as native ECMAScript modules.\n*   `package` resets either of the above to default behavior, which obeys `package.json` `\"type\"` and `tsconfig.json` `\"module\"` options.\n\n### Caveats\n\nFiles with an overridden module type are transformed with the same limitations as [`isolatedModules`](https://www.typescriptlang.org/tsconfig#isolatedModules).  This will only affect rare cases such as using `const enum`s with [`preserveConstEnums`](https://www.typescriptlang.org/tsconfig#preserveConstEnums) disabled.\n\nThis feature is meant to facilitate scenarios where normal `compilerOptions` and `package.json` configuration is not possible.  For example, a `webpack.config.ts` cannot be given its own `package.json` to override `\"type\"`.  Wherever possible you should favor using traditional `package.json` and `tsconfig.json` configurations.\n\n## API\n\nts-node's complete API is documented here: [API Docs](https://typestrong.org/ts-node/api/)\n\nHere are a few highlights of what you can accomplish:\n\n*   [`create()`](https://typestrong.org/ts-node/api/index.html#create) creates ts-node's compiler service without\n    registering any hooks.\n*   [`createRepl()`](https://typestrong.org/ts-node/api/index.html#createRepl) creates an instance of our REPL service, so\n    you can create your own TypeScript-powered REPLs.\n*   [`createEsmHooks()`](https://typestrong.org/ts-node/api/index.html#createEsmHooks) creates our ESM loader hooks,\n    suitable for composing with other loaders or augmenting with additional features.\n\n# Recipes\n\n## Watching and restarting\n\nts-node focuses on adding first-class TypeScript support to node.  Watching files and code reloads are out of scope for the project.\n\nIf you want to restart the `ts-node` process on file change, existing node.js tools such as [nodemon](https://github.com/remy/nodemon), [onchange](https://github.com/Qard/onchange) and [node-dev](https://github.com/fgnass/node-dev) work.\n\nThere's also [`ts-node-dev`](https://github.com/whitecolor/ts-node-dev), a modified version of [`node-dev`](https://github.com/fgnass/node-dev) using `ts-node` for compilation that will restart the process on file change. Note that `ts-node-dev` is incompatible with our native ESM loader.\n\n## AVA\n\nAssuming you are configuring AVA via your `package.json`, add one of the following configurations.\n\n### CommonJS\n\nUse this configuration if your `package.json` does not have `\"type\": \"module\"`.\n\n```jsonc title=\"package.json\"\n{\n  \"ava\": {\n    \"extensions\": [\n      \"ts\"\n    ],\n    \"require\": [\n      \"ts-node/register\"\n    ]\n  }\n}\n```\n\n### Native ECMAScript modules\n\nThis configuration is necessary if your `package.json` has `\"type\": \"module\"`.\n\n```jsonc title=\"package.json\"\n{\n  \"ava\": {\n    \"extensions\": {\n      \"ts\": \"module\"\n    },\n    \"nonSemVerExperiments\": {\n      \"configurableModuleFormat\": true\n    },\n    \"nodeArguments\": [\n      \"--loader=ts-node/esm\"\n    ]\n  }\n}\n```\n\n## Gulp\n\nts-node support is built-in to gulp.\n\n```sh\n# Create a `gulpfile.ts` and run `gulp`.\ngulp\n```\n\nSee also: https://gulpjs.com/docs/en/getting-started/javascript-and-gulpfiles#transpilation\n\n## IntelliJ and Webstorm\n\nCreate a new Node.js configuration and add `-r ts-node/register` to \"Node parameters.\"\n\n**Note:** If you are using the `--project <tsconfig.json>` command line argument as per the [Configuration Options](#configuration), and want to apply this same behavior when launching in IntelliJ, specify under \"Environment Variables\": `TS_NODE_PROJECT=<tsconfig.json>`.\n\n## Mocha\n\n### Mocha 7 and newer\n\n```shell\nmocha --require ts-node/register --extensions ts,tsx --watch --watch-files src 'tests/**/*.{ts,tsx}' [...args]\n```\n\nOr specify options via your mocha config file.\n\n```jsonc title=\".mocharc.json\"\n{\n  // Specify \"require\" for CommonJS\n  \"require\": \"ts-node/register\",\n  // Specify \"loader\" for native ESM\n  \"loader\": \"ts-node/esm\",\n  \"extensions\": [\"ts\", \"tsx\"],\n  \"spec\": [\n    \"tests/**/*.spec.*\"\n  ],\n  \"watch-files\": [\n    \"src\"\n  ]\n}\n```\n\nSee also: https://mochajs.org/#configuring-mocha-nodejs\n\n### Mocha <=6\n\n```shell\nmocha --require ts-node/register --watch-extensions ts,tsx \"test/**/*.{ts,tsx}\" [...args]\n```\n\n**Note:** `--watch-extensions` is only used in `--watch` mode.\n\n## Tape\n\n```shell\nts-node node_modules/tape/bin/tape [...args]\n```\n\n## Visual Studio Code\n\nCreate a new Node.js debug configuration, add `-r ts-node/register` to node args and move the `program` to the `args` list (so VS Code doesn't look for `outFiles`).\n\n```jsonc title=\".vscode/launch.json\"\n{\n    \"configurations\": [{\n        \"type\": \"node\",\n        \"request\": \"launch\",\n        \"name\": \"Launch Program\",\n        \"runtimeArgs\": [\n            \"-r\",\n            \"ts-node/register\"\n        ],\n        \"args\": [\n            \"${workspaceFolder}/src/index.ts\"\n        ]\n    }],\n}\n```\n\n**Note:** If you are using the `--project <tsconfig.json>` command line argument as per the [Configuration Options](#configuration), and want to apply this same behavior when launching in VS Code, add an \"env\" key into the launch configuration: `\"env\": { \"TS_NODE_PROJECT\": \"<tsconfig.json>\" }`.\n\n## Other\n\nIn many cases, setting [`NODE_OPTIONS`](https://nodejs.org/api/cli.html#cli_node_options_options) will enable `ts-node` within other node tools, child processes, and worker threads.\n\n```shell\nNODE_OPTIONS=\"-r ts-node/register\"\n```\n\nOr, if you require native ESM support:\n\n```shell\nNODE_OPTIONS=\"--loader ts-node/esm\"\n```\n\nThis tells any node processes which receive this environment variable to install `ts-node`'s hooks before executing other code.\n\n# License\n\nts-node is licensed under the MIT license.  [MIT](https://github.com/TypeStrong/ts-node/blob/main/LICENSE)\n\nts-node includes source code from Node.js which is licensed under the MIT license.  [Node.js license information](https://raw.githubusercontent.com/nodejs/node/master/LICENSE)\n\nts-node includes source code from the TypeScript compiler which is licensed under the Apache License 2.0.  [TypeScript license information](https://github.com/microsoft/TypeScript/blob/master/LICENSE.txt)\n"
  },
  {
    "path": "SECURITY.md",
    "content": "# Security Policy\n\n## Security contact information\n\nTo report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure.\n"
  },
  {
    "path": "api-extractor/ts-node.api.md",
    "content": "## API Report File for \"ts-node\"\n\n> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).\n\n```ts\n\n/// <reference types=\"node\" />\n\nimport { BaseError } from 'make-error';\nimport type * as _ts from 'typescript';\n\n// @public\nexport function create(rawOptions?: CreateOptions): Service;\n\n// Warning: (ae-forgotten-export) The symbol \"createEsmHooks\" needs to be exported by the entry point index.d.ts\n//\n// @public\nexport const createEsmHooks: typeof createEsmHooks_2;\n\n// @public\nexport interface CreateOptions {\n    compiler?: string;\n    compilerHost?: boolean;\n    compilerOptions?: object;\n    cwd?: string;\n    // @deprecated\n    dir?: string;\n    emit?: boolean;\n    esm?: boolean;\n    experimentalReplAwait?: boolean;\n    experimentalSpecifierResolution?: 'node' | 'explicit';\n    experimentalTsImportSpecifiers?: boolean;\n    // (undocumented)\n    fileExists?: (path: string) => boolean;\n    files?: boolean;\n    ignore?: string[];\n    ignoreDiagnostics?: Array<number | string>;\n    logError?: boolean;\n    moduleTypes?: ModuleTypes;\n    preferTsExts?: boolean;\n    pretty?: boolean;\n    project?: string;\n    projectSearchDir?: string;\n    // (undocumented)\n    readFile?: (path: string) => string | undefined;\n    require?: Array<string>;\n    scope?: boolean;\n    // (undocumented)\n    scopeDir?: string;\n    skipIgnore?: boolean;\n    skipProject?: boolean;\n    swc?: boolean;\n    // (undocumented)\n    transformers?: _ts.CustomTransformers | ((p: _ts.Program) => _ts.CustomTransformers);\n    transpileOnly?: boolean;\n    transpiler?: string | [string, object];\n    tsTrace?: (str: string) => void;\n    typeCheck?: boolean;\n}\n\n// @public\nexport function createRepl(options?: CreateReplOptions): ReplService;\n\n// @public\nexport interface CreateReplOptions {\n    // (undocumented)\n    service?: Service;\n    // Warning: (ae-forgotten-export) The symbol \"EvalState\" needs to be exported by the entry point index.d.ts\n    //\n    // (undocumented)\n    state?: EvalState;\n    // (undocumented)\n    stderr?: NodeJS.WritableStream;\n    // (undocumented)\n    stdin?: NodeJS.ReadableStream;\n    // (undocumented)\n    stdout?: NodeJS.WritableStream;\n}\n\n// @public\nexport interface CreateTranspilerOptions {\n    // (undocumented)\n    service: Pick<Service, Extract<'config' | 'options' | 'projectLocalResolveHelper', keyof Service>>;\n}\n\n// @public\nexport type EvalAwarePartialHost = Pick<CreateOptions, 'readFile' | 'fileExists'>;\n\n// @public (undocumented)\nexport type ExperimentalSpecifierResolution = 'node' | 'explicit';\n\n// @public (undocumented)\nexport type ModuleTypeOverride = 'cjs' | 'esm' | 'package';\n\n// @public (undocumented)\nexport type ModuleTypes = Record<string, ModuleTypeOverride>;\n\n// @public (undocumented)\nexport interface NodeLoaderHooksAPI1 {\n    // (undocumented)\n    getFormat: NodeLoaderHooksAPI1.GetFormatHook;\n    // (undocumented)\n    resolve: NodeLoaderHooksAPI1.ResolveHook;\n    // (undocumented)\n    transformSource: NodeLoaderHooksAPI1.TransformSourceHook;\n}\n\n// @public (undocumented)\nexport namespace NodeLoaderHooksAPI1 {\n    // (undocumented)\n    export type GetFormatHook = (url: string, context: {}, defaultGetFormat: GetFormatHook) => Promise<{\n        format: NodeLoaderHooksFormat;\n    }>;\n    // (undocumented)\n    export type ResolveHook = NodeLoaderHooksAPI2.ResolveHook;\n    // (undocumented)\n    export type TransformSourceHook = (source: string | Buffer, context: {\n        url: string;\n        format: NodeLoaderHooksFormat;\n    }, defaultTransformSource: NodeLoaderHooksAPI1.TransformSourceHook) => Promise<{\n        source: string | Buffer;\n    }>;\n}\n\n// @public (undocumented)\nexport interface NodeLoaderHooksAPI2 {\n    // (undocumented)\n    load: NodeLoaderHooksAPI2.LoadHook;\n    // (undocumented)\n    resolve: NodeLoaderHooksAPI2.ResolveHook;\n}\n\n// @public (undocumented)\nexport namespace NodeLoaderHooksAPI2 {\n    // (undocumented)\n    export type LoadHook = (url: string, context: {\n        format: NodeLoaderHooksFormat | null | undefined;\n        importAssertions?: NodeImportAssertions;\n    }, defaultLoad: NodeLoaderHooksAPI2['load']) => Promise<{\n        format: NodeLoaderHooksFormat;\n        source: string | Buffer | undefined;\n        shortCircuit?: boolean;\n    }>;\n    // (undocumented)\n    export interface NodeImportAssertions {\n        // (undocumented)\n        type?: 'json';\n    }\n    // (undocumented)\n    export type NodeImportConditions = unknown;\n    // (undocumented)\n    export type ResolveHook = (specifier: string, context: {\n        conditions?: NodeImportConditions;\n        importAssertions?: NodeImportAssertions;\n        parentURL: string;\n    }, defaultResolve: ResolveHook) => Promise<{\n        url: string;\n        format?: NodeLoaderHooksFormat;\n        shortCircuit?: boolean;\n    }>;\n}\n\n// @public (undocumented)\nexport type NodeLoaderHooksFormat = 'builtin' | 'commonjs' | 'dynamic' | 'json' | 'module' | 'wasm';\n\n// @public\nexport type NodeModuleEmitKind = 'nodeesm' | 'nodecjs';\n\n// @public @deprecated\nexport type Register = Service;\n\n// @public\nexport function register(opts?: RegisterOptions): Service;\n\n// @public\nexport function register(service: Service): Service;\n\n// @public\nexport const REGISTER_INSTANCE: unique symbol;\n\n// @public\nexport interface RegisterOptions extends CreateOptions {\n    experimentalResolver?: boolean;\n}\n\n// @public (undocumented)\nexport interface ReplService {\n    // (undocumented)\n    evalAwarePartialHost: EvalAwarePartialHost;\n    evalCode(code: string): any;\n    nodeEval(code: string, context: any, _filename: string, callback: (err: Error | null, result?: any) => any): void;\n    setService(service: Service): void;\n    start(): void;\n    // @deprecated\n    start(code: string): void;\n    // (undocumented)\n    readonly state: EvalState;\n}\n\n// @public\nexport interface Service {\n    // (undocumented)\n    compile(code: string, fileName: string, lineOffset?: number): string;\n    // (undocumented)\n    config: _ts.ParsedCommandLine;\n    // (undocumented)\n    enabled(enabled?: boolean): boolean;\n    // (undocumented)\n    getTypeInfo(code: string, fileName: string, position: number): TypeInfo;\n    // (undocumented)\n    ignored(fileName: string): boolean;\n    // (undocumented)\n    options: RegisterOptions;\n    // (undocumented)\n    ts: TSCommon;\n}\n\n// @public\nexport interface TranspileOptions {\n    // (undocumented)\n    fileName: string;\n}\n\n// @public\nexport interface TranspileOutput {\n    // (undocumented)\n    diagnostics?: _ts.Diagnostic[];\n    // (undocumented)\n    outputText: string;\n    // (undocumented)\n    sourceMapText?: string;\n}\n\n// @public\nexport interface Transpiler {\n    // (undocumented)\n    transpile(input: string, options: TranspileOptions): TranspileOutput;\n}\n\n// @public\nexport type TranspilerFactory = (options: CreateTranspilerOptions) => Transpiler;\n\n// @public\nexport interface TranspilerModule {\n    // (undocumented)\n    create: TranspilerFactory;\n}\n\n// @public\nexport interface TSCommon {\n    // (undocumented)\n    createDocumentRegistry: typeof _ts.createDocumentRegistry;\n    // (undocumented)\n    createEmitAndSemanticDiagnosticsBuilderProgram: typeof _ts.createEmitAndSemanticDiagnosticsBuilderProgram;\n    // (undocumented)\n    createIncrementalCompilerHost: typeof _ts.createIncrementalCompilerHost;\n    // (undocumented)\n    createIncrementalProgram: typeof _ts.createIncrementalProgram;\n    // (undocumented)\n    createLanguageService: typeof _ts.createLanguageService;\n    // (undocumented)\n    createModuleResolutionCache: typeof _ts.createModuleResolutionCache;\n    // (undocumented)\n    createSourceFile: typeof _ts.createSourceFile;\n    // (undocumented)\n    displayPartsToString: typeof _ts.displayPartsToString;\n    // (undocumented)\n    Extension: typeof _ts.Extension;\n    // (undocumented)\n    findConfigFile: typeof _ts.findConfigFile;\n    // (undocumented)\n    flattenDiagnosticMessageText: typeof _ts.flattenDiagnosticMessageText;\n    // (undocumented)\n    formatDiagnostics: typeof _ts.formatDiagnostics;\n    // (undocumented)\n    formatDiagnosticsWithColorAndContext: typeof _ts.formatDiagnosticsWithColorAndContext;\n    // (undocumented)\n    getDefaultLibFileName: typeof _ts.getDefaultLibFileName;\n    // (undocumented)\n    getDefaultLibFilePath: typeof _ts.getDefaultLibFilePath;\n    // (undocumented)\n    getPreEmitDiagnostics: typeof _ts.getPreEmitDiagnostics;\n    // (undocumented)\n    JsxEmit: typeof _ts.JsxEmit;\n    // (undocumented)\n    ModuleKind: TSCommon.ModuleKindEnum;\n    // (undocumented)\n    ModuleResolutionKind: typeof _ts.ModuleResolutionKind;\n    // (undocumented)\n    parseJsonConfigFileContent: typeof _ts.parseJsonConfigFileContent;\n    // (undocumented)\n    readConfigFile: typeof _ts.readConfigFile;\n    // (undocumented)\n    resolveModuleName: typeof _ts.resolveModuleName;\n    // (undocumented)\n    resolveModuleNameFromCache: typeof _ts.resolveModuleNameFromCache;\n    // (undocumented)\n    resolveTypeReferenceDirective: typeof _ts.resolveTypeReferenceDirective;\n    // (undocumented)\n    ScriptSnapshot: typeof _ts.ScriptSnapshot;\n    // (undocumented)\n    ScriptTarget: typeof _ts.ScriptTarget;\n    // (undocumented)\n    sys: typeof _ts.sys;\n    // (undocumented)\n    transpileModule: typeof _ts.transpileModule;\n    // (undocumented)\n    version: typeof _ts.version;\n}\n\n// @public (undocumented)\nexport namespace TSCommon {\n    // (undocumented)\n    export type CompilerOptions = _ts.CompilerOptions;\n    // (undocumented)\n    export type FileReference = _ts.FileReference;\n    // (undocumented)\n    export interface LanguageServiceHost extends _ts.LanguageServiceHost {\n    }\n    // (undocumented)\n    export namespace ModuleKind {\n        // (undocumented)\n        export type CommonJS = _ts.ModuleKind.CommonJS;\n        // (undocumented)\n        export type ESNext = _ts.ModuleKind.ESNext;\n    }\n    // (undocumented)\n    export type ModuleKindEnum = typeof _ts.ModuleKind & {\n        Node16: typeof _ts.ModuleKind extends {\n            Node16: any;\n        } ? typeof _ts.ModuleKind['Node16'] : 100;\n    };\n    // (undocumented)\n    export type ModuleResolutionHost = _ts.ModuleResolutionHost;\n    // (undocumented)\n    export type ParsedCommandLine = _ts.ParsedCommandLine;\n    // (undocumented)\n    export type ResolvedModule = _ts.ResolvedModule;\n    // (undocumented)\n    export type ResolvedModuleWithFailedLookupLocations = _ts.ResolvedModuleWithFailedLookupLocations;\n    // (undocumented)\n    export type ResolvedProjectReference = _ts.ResolvedProjectReference;\n    // (undocumented)\n    export type ResolvedTypeReferenceDirective = _ts.ResolvedTypeReferenceDirective;\n    // (undocumented)\n    export type SourceFile = _ts.SourceFile;\n}\n\n// @public\nexport interface TsConfigOptions extends Omit<RegisterOptions, 'transformers' | 'readFile' | 'fileExists' | 'skipProject' | 'project' | 'dir' | 'cwd' | 'projectSearchDir' | 'optionBasePaths' | 'tsTrace'> {\n}\n\n// @public\nexport class TSError extends BaseError {\n    constructor(diagnosticText: string, diagnosticCodes: number[], diagnostics?: ReadonlyArray<_ts.Diagnostic>);\n    // (undocumented)\n    diagnosticCodes: number[];\n    // (undocumented)\n    diagnostics: ReadonlyArray<_ts.Diagnostic>;\n    // (undocumented)\n    diagnosticText: string;\n    // (undocumented)\n    name: string;\n}\n\n// @public\nexport interface TypeInfo {\n    // (undocumented)\n    comment: string;\n    // (undocumented)\n    name: string;\n}\n\n// @public\nexport const VERSION: any;\n\n// (No @packageDocumentation comment for this package)\n\n```\n"
  },
  {
    "path": "api-extractor.json",
    "content": "/**\n * Config file for API Extractor.  For more info, please visit: https://api-extractor.com\n */\n{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json\",\n\n  /**\n   * Optionally specifies another JSON config file that this file extends from.  This provides a way for\n   * standard settings to be shared across multiple projects.\n   *\n   * If the path starts with \"./\" or \"../\", the path is resolved relative to the folder of the file that contains\n   * the \"extends\" field.  Otherwise, the first path segment is interpreted as an NPM package name, and will be\n   * resolved using NodeJS require().\n   *\n   * SUPPORTED TOKENS: none\n   * DEFAULT VALUE: \"\"\n   */\n  // \"extends\": \"./shared/api-extractor-base.json\"\n  // \"extends\": \"my-package/include/api-extractor-base.json\"\n\n  /**\n   * Determines the \"<projectFolder>\" token that can be used with other config file settings.  The project folder\n   * typically contains the tsconfig.json and package.json config files, but the path is user-defined.\n   *\n   * The path is resolved relative to the folder of the config file that contains the setting.\n   *\n   * The default value for \"projectFolder\" is the token \"<lookup>\", which means the folder is determined by traversing\n   * parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder\n   * that contains a tsconfig.json file.  If a tsconfig.json file cannot be found in this way, then an error\n   * will be reported.\n   *\n   * SUPPORTED TOKENS: <lookup>\n   * DEFAULT VALUE: \"<lookup>\"\n   */\n  // \"projectFolder\": \"..\",\n\n  /**\n   * (REQUIRED) Specifies the .d.ts file to be used as the starting point for analysis.  API Extractor\n   * analyzes the symbols exported by this module.\n   *\n   * The file extension must be \".d.ts\" and not \".ts\".\n   *\n   * The path is resolved relative to the folder of the config file that contains the setting; to change this,\n   * prepend a folder token such as \"<projectFolder>\".\n   *\n   * SUPPORTED TOKENS: <projectFolder>, <packageName>, <unscopedPackageName>\n   */\n  \"mainEntryPointFilePath\": \"<projectFolder>/dist/index.d.ts\",\n\n  /**\n   * A list of NPM package names whose exports should be treated as part of this package.\n   *\n   * For example, suppose that Webpack is used to generate a distributed bundle for the project \"library1\",\n   * and another NPM package \"library2\" is embedded in this bundle.  Some types from library2 may become part\n   * of the exported API for library1, but by default API Extractor would generate a .d.ts rollup that explicitly\n   * imports library2.  To avoid this, we can specify:\n   *\n   *   \"bundledPackages\": [ \"library2\" ],\n   *\n   * This would direct API Extractor to embed those types directly in the .d.ts rollup, as if they had been\n   * local files for library1.\n   */\n  \"bundledPackages\": [],\n\n  /**\n   * Determines how the TypeScript compiler engine will be invoked by API Extractor.\n   */\n  \"compiler\": {\n    /**\n     * Specifies the path to the tsconfig.json file to be used by API Extractor when analyzing the project.\n     *\n     * The path is resolved relative to the folder of the config file that contains the setting; to change this,\n     * prepend a folder token such as \"<projectFolder>\".\n     *\n     * Note: This setting will be ignored if \"overrideTsconfig\" is used.\n     *\n     * SUPPORTED TOKENS: <projectFolder>, <packageName>, <unscopedPackageName>\n     * DEFAULT VALUE: \"<projectFolder>/tsconfig.json\"\n     */\n    // \"tsconfigFilePath\": \"<projectFolder>/tsconfig.json\",\n    /**\n     * Provides a compiler configuration that will be used instead of reading the tsconfig.json file from disk.\n     * The object must conform to the TypeScript tsconfig schema:\n     *\n     * http://json.schemastore.org/tsconfig\n     *\n     * If omitted, then the tsconfig.json file will be read from the \"projectFolder\".\n     *\n     * DEFAULT VALUE: no overrideTsconfig section\n     */\n    // \"overrideTsconfig\": {\n    //   . . .\n    // }\n    /**\n     * This option causes the compiler to be invoked with the --skipLibCheck option. This option is not recommended\n     * and may cause API Extractor to produce incomplete or incorrect declarations, but it may be required when\n     * dependencies contain declarations that are incompatible with the TypeScript engine that API Extractor uses\n     * for its analysis.  Where possible, the underlying issue should be fixed rather than relying on skipLibCheck.\n     *\n     * DEFAULT VALUE: false\n     */\n    // \"skipLibCheck\": true,\n  },\n\n  /**\n   * Configures how the API report file (*.api.md) will be generated.\n   */\n  \"apiReport\": {\n    /**\n     * (REQUIRED) Whether to generate an API report.\n     */\n    \"enabled\": true,\n\n    /**\n     * The filename for the API report files.  It will be combined with \"reportFolder\" or \"reportTempFolder\" to produce\n     * a full file path.\n     *\n     * The file extension should be \".api.md\", and the string should not contain a path separator such as \"\\\" or \"/\".\n     *\n     * SUPPORTED TOKENS: <packageName>, <unscopedPackageName>\n     * DEFAULT VALUE: \"<unscopedPackageName>.api.md\"\n     */\n    \"reportFileName\": \"<unscopedPackageName>.api.md\",\n\n    /**\n     * Specifies the folder where the API report file is written.  The file name portion is determined by\n     * the \"reportFileName\" setting.\n     *\n     * The API report file is normally tracked by Git.  Changes to it can be used to trigger a branch policy,\n     * e.g. for an API review.\n     *\n     * The path is resolved relative to the folder of the config file that contains the setting; to change this,\n     * prepend a folder token such as \"<projectFolder>\".\n     *\n     * SUPPORTED TOKENS: <projectFolder>, <packageName>, <unscopedPackageName>\n     * DEFAULT VALUE: \"<projectFolder>/etc/\"\n     */\n    \"reportFolder\": \"<projectFolder>/api-extractor/\"\n\n    /**\n     * Specifies the folder where the temporary report file is written.  The file name portion is determined by\n     * the \"reportFileName\" setting.\n     *\n     * After the temporary file is written to disk, it is compared with the file in the \"reportFolder\".\n     * If they are different, a production build will fail.\n     *\n     * The path is resolved relative to the folder of the config file that contains the setting; to change this,\n     * prepend a folder token such as \"<projectFolder>\".\n     *\n     * SUPPORTED TOKENS: <projectFolder>, <packageName>, <unscopedPackageName>\n     * DEFAULT VALUE: \"<projectFolder>/temp/\"\n     */\n    // \"reportTempFolder\": \"<projectFolder>/temp/\"\n  },\n\n  /**\n   * Configures how the doc model file (*.api.json) will be generated.\n   */\n  \"docModel\": {\n    /**\n     * (REQUIRED) Whether to generate a doc model file.\n     */\n    \"enabled\": false\n\n    /**\n     * The output path for the doc model file.  The file extension should be \".api.json\".\n     *\n     * The path is resolved relative to the folder of the config file that contains the setting; to change this,\n     * prepend a folder token such as \"<projectFolder>\".\n     *\n     * SUPPORTED TOKENS: <projectFolder>, <packageName>, <unscopedPackageName>\n     * DEFAULT VALUE: \"<projectFolder>/temp/<unscopedPackageName>.api.json\"\n     */\n    // \"apiJsonFilePath\": \"<projectFolder>/temp/<unscopedPackageName>.api.json\"\n  },\n\n  /**\n   * Configures how the .d.ts rollup file will be generated.\n   */\n  \"dtsRollup\": {\n    /**\n     * (REQUIRED) Whether to generate the .d.ts rollup file.\n     */\n    \"enabled\": false\n\n    /**\n     * Specifies the output path for a .d.ts rollup file to be generated without any trimming.\n     * This file will include all declarations that are exported by the main entry point.\n     *\n     * If the path is an empty string, then this file will not be written.\n     *\n     * The path is resolved relative to the folder of the config file that contains the setting; to change this,\n     * prepend a folder token such as \"<projectFolder>\".\n     *\n     * SUPPORTED TOKENS: <projectFolder>, <packageName>, <unscopedPackageName>\n     * DEFAULT VALUE: \"<projectFolder>/dist/<unscopedPackageName>.d.ts\"\n     */\n    // \"untrimmedFilePath\": \"<projectFolder>/dist/<unscopedPackageName>.d.ts\",\n\n    /**\n     * Specifies the output path for a .d.ts rollup file to be generated with trimming for a \"beta\" release.\n     * This file will include only declarations that are marked as \"@public\" or \"@beta\".\n     *\n     * The path is resolved relative to the folder of the config file that contains the setting; to change this,\n     * prepend a folder token such as \"<projectFolder>\".\n     *\n     * SUPPORTED TOKENS: <projectFolder>, <packageName>, <unscopedPackageName>\n     * DEFAULT VALUE: \"\"\n     */\n    // \"betaTrimmedFilePath\": \"<projectFolder>/dist/<unscopedPackageName>-beta.d.ts\",\n\n    /**\n     * Specifies the output path for a .d.ts rollup file to be generated with trimming for a \"public\" release.\n     * This file will include only declarations that are marked as \"@public\".\n     *\n     * If the path is an empty string, then this file will not be written.\n     *\n     * The path is resolved relative to the folder of the config file that contains the setting; to change this,\n     * prepend a folder token such as \"<projectFolder>\".\n     *\n     * SUPPORTED TOKENS: <projectFolder>, <packageName>, <unscopedPackageName>\n     * DEFAULT VALUE: \"\"\n     */\n    // \"publicTrimmedFilePath\": \"<projectFolder>/dist/<unscopedPackageName>-public.d.ts\",\n\n    /**\n     * When a declaration is trimmed, by default it will be replaced by a code comment such as\n     * \"Excluded from this release type: exampleMember\".  Set \"omitTrimmingComments\" to true to remove the\n     * declaration completely.\n     *\n     * DEFAULT VALUE: false\n     */\n    // \"omitTrimmingComments\": true\n  },\n\n  /**\n   * Configures how the tsdoc-metadata.json file will be generated.\n   */\n  \"tsdocMetadata\": {\n    /**\n     * Whether to generate the tsdoc-metadata.json file.\n     *\n     * DEFAULT VALUE: true\n     */\n    \"enabled\": false\n    /**\n     * Specifies where the TSDoc metadata file should be written.\n     *\n     * The path is resolved relative to the folder of the config file that contains the setting; to change this,\n     * prepend a folder token such as \"<projectFolder>\".\n     *\n     * The default value is \"<lookup>\", which causes the path to be automatically inferred from the \"tsdocMetadata\",\n     * \"typings\" or \"main\" fields of the project's package.json.  If none of these fields are set, the lookup\n     * falls back to \"tsdoc-metadata.json\" in the package folder.\n     *\n     * SUPPORTED TOKENS: <projectFolder>, <packageName>, <unscopedPackageName>\n     * DEFAULT VALUE: \"<lookup>\"\n     */\n    // \"tsdocMetadataFilePath\": \"<projectFolder>/dist/tsdoc-metadata.json\"\n  },\n\n  /**\n   * Specifies what type of newlines API Extractor should use when writing output files.  By default, the output files\n   * will be written with Windows-style newlines.  To use POSIX-style newlines, specify \"lf\" instead.\n   * To use the OS's default newline kind, specify \"os\".\n   *\n   * DEFAULT VALUE: \"crlf\"\n   */\n  \"newlineKind\": \"lf\",\n\n  /**\n   * Configures how API Extractor reports error and warning messages produced during analysis.\n   *\n   * There are three sources of messages:  compiler messages, API Extractor messages, and TSDoc messages.\n   */\n  \"messages\": {\n    /**\n     * Configures handling of diagnostic messages reported by the TypeScript compiler engine while analyzing\n     * the input .d.ts files.\n     *\n     * TypeScript message identifiers start with \"TS\" followed by an integer.  For example: \"TS2551\"\n     *\n     * DEFAULT VALUE:  A single \"default\" entry with logLevel=warning.\n     */\n    \"compilerMessageReporting\": {\n      /**\n       * Configures the default routing for messages that don't match an explicit rule in this table.\n       */\n      \"default\": {\n        /**\n         * Specifies whether the message should be written to the the tool's output log.  Note that\n         * the \"addToApiReportFile\" property may supersede this option.\n         *\n         * Possible values: \"error\", \"warning\", \"none\"\n         *\n         * Errors cause the build to fail and return a nonzero exit code.  Warnings cause a production build fail\n         * and return a nonzero exit code.  For a non-production build (e.g. when \"api-extractor run\" includes\n         * the \"--local\" option), the warning is displayed but the build will not fail.\n         *\n         * DEFAULT VALUE: \"warning\"\n         */\n        \"logLevel\": \"warning\",\n\n        /**\n         * When addToApiReportFile is true:  If API Extractor is configured to write an API report file (.api.md),\n         * then the message will be written inside that file; otherwise, the message is instead logged according to\n         * the \"logLevel\" option.\n         *\n         * DEFAULT VALUE: false\n         */\n        \"addToApiReportFile\": true\n      },\n\n      // \"TS2551\": {\n      //   \"logLevel\": \"warning\",\n      //   \"addToApiReportFile\": true\n      // },\n      //\n      // . . .\n    },\n\n    /**\n     * Configures handling of messages reported by API Extractor during its analysis.\n     *\n     * API Extractor message identifiers start with \"ae-\".  For example: \"ae-extra-release-tag\"\n     *\n     * DEFAULT VALUE: See api-extractor-defaults.json for the complete table of extractorMessageReporting mappings\n     */\n    \"extractorMessageReporting\": {\n      \"default\": {\n        \"logLevel\": \"warning\",\n        \"addToApiReportFile\": true\n      },\n\n      \"ae-missing-release-tag\": {\n        \"logLevel\": \"none\"\n      }\n\n      // \"ae-extra-release-tag\": {\n      //   \"logLevel\": \"warning\",\n      //   \"addToApiReportFile\": true\n      // },\n      //\n      // . . .\n    },\n\n    /**\n     * Configures handling of messages reported by the TSDoc parser when analyzing code comments.\n     *\n     * TSDoc message identifiers start with \"tsdoc-\".  For example: \"tsdoc-link-tag-unescaped-text\"\n     *\n     * DEFAULT VALUE:  A single \"default\" entry with logLevel=warning.\n     */\n    \"tsdocMessageReporting\": {\n      \"default\": {\n        \"logLevel\": \"warning\"\n        // \"addToApiReportFile\": false\n      }\n\n      // \"tsdoc-link-tag-unescaped-text\": {\n      //   \"logLevel\": \"warning\",\n      //   \"addToApiReportFile\": true\n      // },\n      //\n      // . . .\n    }\n  }\n}\n"
  },
  {
    "path": "ava.config.cjs",
    "content": "const expect = require('expect');\nconst semver = require('semver');\nconst { createRequire } = require('module');\n\nmodule.exports = {\n  files: ['dist/test/**/*.spec.js'],\n  failWithoutAssertions: false,\n  environmentVariables: {\n    ts_node_install_lock: `id-${Math.floor(Math.random() * 10e9)}`,\n    // Force jest expect() errors to generate colorized strings, makes output more readable.\n    // Delete the env var within ava processes via `require` option below.\n    // This avoids passing it to spawned processes under test, which would negatively affect\n    // their behavior.\n    FORCE_COLOR: '3',\n    NODE_PATH: '',\n    CONCURRENT_TESTS: '4'\n  },\n  require: ['./src/test/remove-env-var-force-color.js'],\n  nodeArguments: ['--loader', './src/test/test-loader.mjs', '--no-warnings'],\n  timeout: '300s',\n  concurrency: 4,\n  // We do chdir -- maybe other things -- that you can't do in worker_threads.\n  workerThreads: false,\n};\n\n{\n  /*\n   * Tests *must* install and use our most recent ts-node tarball.\n   * We must prevent them from accidentally require-ing a different version of\n   * ts-node, from either node_modules or tests/node_modules.\n   *\n   * Another possibility of interference is NODE_PATH environment variable being set,\n   * and ts-node being installed in any of the paths listed on NODE_PATH, to fix this,\n   * the NODE_PATH variable must be removed from the environment *BEFORE* running ava.\n   * An error will be thrown when trying to run tests with NODE_PATH set to paths with ts-node installed.\n   */\n\n  const { existsSync, rmSync } = require('fs');\n  const rimraf = require('rimraf');\n  const { resolve } = require('path');\n\n  remove(resolve(__dirname, 'node_modules/ts-node'));\n  remove(resolve(__dirname, 'tests/node_modules/ts-node'));\n\n  // Prove that we did it correctly\n  (() => {\n    let resolved;\n    try {\n      resolved = createRequire(resolve(__dirname, 'tests/foo.js')).resolve('ts-node');\n    } catch(err) {return}\n\n    // require.resolve() found ts-node; this should not happen.\n    let errorMessage = `require.resolve('ts-node') unexpectedly resolved to ${resolved}\\n`;\n    // Check for NODE_PATH interference. See comments above.\n    if(process.env.NODE_PATH) {\n      errorMessage += `NODE_PATH environment variable is set.  This test suite does not support running with NODE_PATH.  Unset it before running the tests.`;\n    }\n    throw new Error(errorMessage);\n  })();\n\n  function remove(p) {\n    // Avoid node deprecation warning triggered by rimraf\n    if(existsSync(p)) (rmSync || rimraf.sync)(p, {recursive: true})\n  }\n}\n"
  },
  {
    "path": "child-loader.mjs",
    "content": "import { fileURLToPath } from 'url';\nimport { createRequire } from 'module';\nconst require = createRequire(fileURLToPath(import.meta.url));\n\n// TODO why use require() here?  I think we can just `import`\n/** @type {import('./dist/child-loader')} */\nconst childLoader = require('./dist/child/child-loader');\nexport const { resolve, load, getFormat, transformSource } = childLoader;\n"
  },
  {
    "path": "codecov.yml",
    "content": "fixes:\n  # Remap from npm-installed ts-node to root of project\n  # This can take the place of ./scripts/rewrite-coverage-paths.js\n  - \"tests/node_modules/ts-node/::\"\n\ncoverage:\n  status:\n    patch:\n      default:\n        # Do not fail when `patch` coverage is low.  When this fails, it is misleading and not necessarily bad.\n        # For example if a patch changes 2 lines, and only one is covered, then patch coverage is 50%.\n        target: 0%\n    project:\n      default:\n        threshold: 1%\n\ncomment:\n  layout: \"files\"\n"
  },
  {
    "path": "development-docs/README.md",
    "content": "This directory contains a variety of documents:\n\n- notes\n- old to-do lists\n- design ideas from when I implemented various features\n- templates for drafting release notes\n- etc\n\nIt is useful to me to keep these notes.  If you find their presence\nconfusing, you can safely ignore this directory.\n"
  },
  {
    "path": "development-docs/isExternalLibraryImport.md",
    "content": "## How we override isExternalLibraryImport\n\n`isExternalLibraryImport` is a boolean returned by node's module resolver that is `true`\nif the target module is inside a `node_modules` directory.\n\nThis has 2x effects inside the compiler:\na) compiler refuses to emit JS for external modules\nb) increments node_module depth +1, which affects `maxNodeModulesJsDepth`\n\nIf someone `require()`s a file inside `node_modules`, we need to override this flag to overcome (a).\n\n### ts-node's behavior\n\n- If TS's normal resolution deems a file is external, we might override this flag.\n  - Is file's containing module directory marked as \"must be internal\"?\n    - if yes, override as \"internal\"\n    - if no, track this flag, and leave it as \"external\"\n\nWhen you try to `require()` a file that's previously been deemed \"external\", we mark the entire module's\ndirectory as \"must be internal\" and add the file to `rootFiles` to trigger a re-resolve.\n\nWhen you try to `require()` a file that's totally unknown to the compiler, we have to add it to `rootFiles`\nto trigger a recompile.  This is a separate issue.\n\n### Implementation notes\n\nIn `updateMemoryCache`:\n- If file is not in rootFiles and is not known internal (either was never resolved or was resolved external)\n  - mark module directory as \"must be internal\"\n  - add file to rootFiles to either pull file into compilation or trigger re-resolve (will do both)\n\nTODO: WHAT IF WE MUST MARK FILEA INTERNAL; WILL FILEB AUTOMATICALLY GET THE SAME TREATMENT?\n\nTODO if `noResolve`, force adding to `rootFileNames`?\n\nTODO if `noResolve` are the resolvers called anyway?\n\nTODO eagerly classify .ts as internal, only use the \"bucket\" behavior for .js?\n- b/c externalModule and maxNodeModulesJsDepth only seems to affect typechecking of .js, not .ts\n\n### Tests\n\nrequire() .ts file where TS didn't know about it before\nrequire() .js file where TS didn't know about it before, w/allowJs\nimport {} ./node_modules/*/.ts\nimport {} ./node_modules/*/.js w/allowJs (initially external; will be switched to internal)\nimport {} ./node_modules/*/.ts from another file within node_modules\nimport {} ./node_modules/*/.js from another file within node_modules\nrequire() from ./node_modules when it is ignored; ensure is not forced internal and maxNodeModulesJsDepth is respected (type info does not change)\n\n### Keywords for searching TypeScript's source code\n\nThese may jog my memory the next time I need to read TypeScript's source and remember how this works.\n\ncurrentNodeModulesDepth\nsourceFilesFoundSearchingNodeModules\n\nisExternalLibraryImport is used to increment currentNodeModulesDepth\ncurrentNodeModulesDepth is used to put things into sourceFilesFoundSearchingNodeModules\n\nhttps://github.com/microsoft/TypeScript/blob/ec338146166935069124572135119b57a3d2cd22/src/compiler/program.ts#L2384-L2398\n\ngetSourceFilesToEmit / sourceFileMayBeEmitted obeys internal \"external\" state, is responsible for preventing emit of external modules\n"
  },
  {
    "path": "development-docs/nodenextNode16.md",
    "content": "# Adding support for NodeNext, Node16, `.cts`, `.mts`, `.cjs`, `.mjs`\n\n*This feature has already been implemented.  Here are my notes from when\nI was doing the work*\n\n## TODOs\n\nImplement node module type classifier:\n- if NodeNext or Node12: ask classifier for CJS or ESM determination\nAdd `ForceNodeNextCJSEmit`\n\nDoes our code check for .d.ts extensions anywhere?\n- if so, teach it about .d.cts and .d.mts\n\nFor nodenext and node12, support supplemental \"flavor\" information:\n-\n\nThink about splitting out index.ts further:\n- register.ts - hooking stuff\n- types.ts\n- env.ts - env vars and global registration types (process.symbol)\n- service.ts\n\n# TESTS\n\nMatrix:\n\n- package.json type absent, commonjs, and module\n- import and require\n- from cjs and esm\n- .cts, .cjs\n- .mts, .mjs\n- typechecking, transpileOnly, and swc\n- dynamic import\n- import = require\n- static import\n- allowJs on and off\n\nNotes about specific matrix entries:\n- require mjs, mts from cjs throws error\n\nRethink:\n`getOutput`: null in transpile-only mode.  Also may return emitskipped\n`getOutputTranspileOnly`: configured module option\n`getOutputForceCommonJS`: `commonjs` module option\n`getOutputForceNodeCommonJS`: `nodenext` cjs module option\n`getOutputForceESM`: `esnext` module option\n\nAdd second layer of classification to classifier:\nif classifier returns `auto` (no `moduleType` override)\n- if `getOutput` emits, done\n- else call `nodeModuleTypeClassifier`\n  - delegate to appropriate `getOutput` based on its response\n"
  },
  {
    "path": "development-docs/release-template.md",
    "content": "## Template to be copy-pasted as a template for new release notes.\n\n---\n\n<!--\n  I don't make a discussion thread for every release.  Github has a button to make a discussion thread for a release.\n  Then I update the discussion thread to remove the release notes and instead link to the release.\n-->\nQuestions about this release? Ask in the official discussion thread: #TODO\n\n<!-- only for major releases -->\n\n*Breaking changes are prefixed with **[BREAKING]***\n\n**Added**\n\n- Adds description of thing added (#Issue, #PR, #etc) @contributor-name\n  <!-- list any and all relevant issues and PRs in parens above; you are not limited to exactly 1 issue and 1 PR -->\n  <!-- nor are you limited to linking each only once.  Sometimes a single PR pertains to multiple changelog entries; link to it from each -->\n  - Optionally add details ([docs](link to docs))\n  - Or multiple docs links ([CLI docs](link to docusaurus page), [API docs](link to typedoc page))\n\n**Changed**\n\n- **[BREAKING]** Make yadda yadda...\n\n**Deprecated**\n\n**Removed**\n\n**Fixed**\n\n- Fix #TODO: Description of fix (#Issue, #PR, #etc)\n\n**Docs**\n\n- In the past I've documented major improvements to docs, new docsite, new docs sections about confusing bits\n- In general should avoid changelog entries that do not affect ts-node consumers\n\n**Misc**\n\n- In the past I've documented improvements to testing, codecov, etc.\n- In general should avoid changelog entries that do not affect ts-node consumers\n\nhttps://github.com/TypeStrong/ts-node/compare/vTODO...vTODO\nhttps://github.com/TypeStrong/ts-node/milestone/TODO\n\n---\n\n## Discussion thread template\n\n---\n\nDiscussion thread for the vTODO release.\n\n[Release notes](https://github.com/TypeStrong/ts-node/releases/tag/vTODO)\n"
  },
  {
    "path": "development-docs/repl-api.md",
    "content": "## How to create your own ts-node powered REPL\n\n- Create ts-node REPL service which includes EvalState\n- Create ts-node compiler service using EvalState-aware `readFile` and `fileExists` implementations from REPL\n- Bind REPL service to compiler service (chicken-and-egg problem necessitates late binding)\n- Either:\n  - call REPL method start() to start a REPL\n  - create your own node repl but pass it REPL service's nodeEval() function\n\n```\nimport * as tsnode from 'ts-node';\nconst repl = tsnode.createRepl();\nconst service = tsnode.register({\n    ... options,\n    ...repl.evalAwarePartialHost\n});\nrepl.setService(service);\n\n// Start it\nrepl.start();\n\n// or\nconst nodeRepl = require('repl').start({\n    ...options,\n    eval: repl.nodeEval\n});\n```\n"
  },
  {
    "path": "development-docs/rootDirOutDirMapping.md",
    "content": "## Musings about resolving between rootDir and outDir\n\nWhen /dist and /src are understood to be overlaid because of src -> dist compiling\n/dist/\n/src/\n\nLoop over require.extensions\n/src/foo.js\n/src/foo.mjs\n/src/foo.cjs\n/src/foo.ts\n/src/foo.mts\n/src/foo.cts\n/src/foo/index.js\n/src/foo/index.mjs\n/src/foo/index.ts\n// Where do we check package.json main??\n\n\n/dist/foo.js\n/dist/foo.ts\n\n\n_resolveLookupPaths\n_findPath\n_resolveFilename\n\n_findPath calls resolveExports calls packageExportsResolve, which is in the ESM loader\n\nIs anything within packageExportsResolve hooked/modified by us?  File extension swapping?\n\n\nWhen resolver calls statSync('./dist/foo.js') and we intercept and discover './src/foo.ts'\nHow to redirect?  We need to rewrite whatever local variable is storing `./dist/foo.js`\n"
  },
  {
    "path": "development-docs/test-style-guide.md",
    "content": "## Test guidelines\n\n*These notes are my attempt at keeping myself consistent when writing tests. Nothing too formal.*\n\n### DRYing up tests with reusable functions\n\nIf a reusable function does not need access to anything from the context,\nit's a plain function.\n\nIf the reusable function needs access to stuff from context, it's a\ncontext helper.\n\nIf the reusable function implements all the necessary assertions within itself, it's a macro.\n\n### Function args\n\nPlain functions w/many options should accept a single option-bag.  \nShould also have `setOptions` method to overlay additional options, and `getOptions` to inspect.\n*At time of writing, I have not implemented `setOptions` nor `getOptions`*\n\nNever destructure `t`\nNever destructure `test`\nOnly exception: destructure `{context}` or `{contextEach}` if calling `const test = context(fooCtx)` b/c avoids `test = _test.context()`\n\n### Consistent naming\n\nWhen exec-ing a process:\n\nAwaited result is in local var `r`  \nNon-awaited is in local var `p`  \nDo not destructure either way.\n\nContext builders are named with a `ctx` prefix and also declare a couple types on their namespace.  See src/test/helpers/ctx* for format.\n"
  },
  {
    "path": "development-docs/yarnPnpInterop.md",
    "content": "## Yarn PnP interop\n\nAsked about it here:\nhttps://discord.com/channels/226791405589233664/654372321225605128/957301175609344070\n\nPnP API checks if import specifiers are for dependencies: non-relative, non-absolute\n  libfoo\n  @scope/libfoo\n\nWhen they are, it does `resolveToUnqualified` to map to an unqualified path.\nThis path points to the module's location on disk (in a zip, perhaps) but does\nnot handle file extension resolution or stuff like that.\n\nTo interop with PnP, we need PnP to *only* `resolveToUnqualified`.\nWe do everything else.\n\n```typescript\nimport { Module } from 'module';\nimport fs from 'fs';\n\nconst pathRegExp = /^(?![a-zA-Z]:[\\\\/]|\\\\\\\\|\\.{0,2}(?:\\/|$))((?:@[^/]+\\/)?[^/]+)\\/*(.*|)$/;\n\nconst originalModuleResolveFilename = Module._resolveFilename;\nModule._resolveFilename = function (\n    request: string,\n    parent: typeof Module | null | undefined,\n    isMain: boolean,\n    options?: { [key: string]: any }\n) {\n    const dependencyNameMatch = request.match(pathRegExp);\n    if (dependencyNameMatch !== null) {\n\n      const [, dependencyName, subPath] = dependencyNameMatch;\n\n      const unqualified = pnpapi.resolveToUnqualified(....);\n\n      // Do your modified resolution on the unqualified path here\n\n    } else {\n\n      // Do your modified resolution here; no need for PnP\n\n    }\n\n};\n```\n\nPnP can be installed at runtime.\n\nTo conditionally check if PnP is available at the start of *every* resolution:\n\n```typescript\n// Get the pnpapi of either the issuer or the specifier.\n// The latter is required when the specifier is an absolute path to a\n// zip file and the issuer doesn't belong to a pnpapi\nconst {findPnPApi} = Module;\nconst pnpapi = findPnPApi ? (findPnpApi(issuer) ?? (url ? findPnpApi(specifier) : null)) : null;\nif (pnpapi) {...}\n```\n"
  },
  {
    "path": "dist-raw/NODE-LICENSE.md",
    "content": "This directory contains portions of Node.js source code which is licensed as follows:\n\n---\n\nCopyright Joyent, Inc. and other Node contributors.\n\nPermission is hereby granted, free of charge, to any person obtaining a\ncopy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to permit\npersons to whom the Software is furnished to do so, subject to the\nfollowing conditions:\n\nThe above copyright notice and this permission notice shall be included\nin all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\nOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\nNO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\nUSE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "dist-raw/README.md",
    "content": "The `dist-raw` directory contains JS sources that are distributed verbatim, not compiled nor typechecked via TS.\n\nTo implement ESM support, we unfortunately must duplicate some of node's built-in functionality that is not\nexposed via an API.  We have copy-pasted the necessary code from https://github.com/nodejs/node/tree/master/lib\nthen modified it to suite our needs.\n\nFormatting may be intentionally bad to keep the diff as small as possible, to make it easier to merge\nupstream changes and understand our modifications.  For example, when we need to wrap node's source code\nin a factory function, we will not indent the function body, to avoid whitespace changes in the diff.\n\nOne obvious problem with this approach: the code has been pulled from one version of node, whereas users of ts-node\nrun multiple versions of node.\nUsers running node 14 may see that ts-node behaves like node 18, for example.\n\n## `raw` directory\n\nWithin the `raw` directory, we keep unmodified copies of the node source files.  This allows us to use diffing tools to\ncompare files in `raw` to those in `dist-raw`, which will highlight all of the changes we have made.  Hopefully, these\nchanges are as minimal as possible.\n\n## Naming convention\n\nNot used consistently, but the idea is:\n\n`node-<directory>(...-<directory>)-<filename>.js`\n\n`node-internal-errors.js` -> `github.com/nodejs/node/blob/TAG/lib/internal/errors.js`\n\nSo, take the path within node's `lib/` directory, and replace slashes with hyphens.\n\nIn the `raw` directory, files are suffixed with the version number or revision from which\nthey were downloaded.\n\nIf they have a `stripped` suffix, this means they have large chunks of code deleted, but no other modifications.\nThis is useful when diffing.  Sometimes our `dist-raw` files only have a small part of a much larger node source file.\nIt is easier to diff `raw/*-stripped.js` against `dist-raw/*.js`.\n"
  },
  {
    "path": "dist-raw/node-internal-constants.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/master/lib/internal/constants.js\nmodule.exports = {\n  CHAR_FORWARD_SLASH: 47, /* / */\n};\n"
  },
  {
    "path": "dist-raw/node-internal-errors.js",
    "content": "'use strict';\n\nconst path = require('path');\n\nexports.codes = {\n  ERR_INPUT_TYPE_NOT_ALLOWED: createErrorCtor(joinArgs('ERR_INPUT_TYPE_NOT_ALLOWED')),\n  ERR_INVALID_ARG_VALUE: createErrorCtor(joinArgs('ERR_INVALID_ARG_VALUE')),\n  ERR_INVALID_MODULE_SPECIFIER: createErrorCtor(joinArgs('ERR_INVALID_MODULE_SPECIFIER')),\n  ERR_INVALID_PACKAGE_CONFIG: createErrorCtor(joinArgs('ERR_INVALID_PACKAGE_CONFIG')),\n  ERR_INVALID_PACKAGE_TARGET: createErrorCtor(joinArgs('ERR_INVALID_PACKAGE_TARGET')),\n  ERR_MANIFEST_DEPENDENCY_MISSING: createErrorCtor(joinArgs('ERR_MANIFEST_DEPENDENCY_MISSING')),\n  ERR_MODULE_NOT_FOUND: createErrorCtor((path, base, type = 'package') => {\n    return `Cannot find ${type} '${path}' imported from ${base}`\n  }),\n  ERR_PACKAGE_IMPORT_NOT_DEFINED: createErrorCtor(joinArgs('ERR_PACKAGE_IMPORT_NOT_DEFINED')),\n  ERR_PACKAGE_PATH_NOT_EXPORTED: createErrorCtor(joinArgs('ERR_PACKAGE_PATH_NOT_EXPORTED')),\n  ERR_UNSUPPORTED_DIR_IMPORT: createErrorCtor(joinArgs('ERR_UNSUPPORTED_DIR_IMPORT')),\n  ERR_UNSUPPORTED_ESM_URL_SCHEME: createErrorCtor(joinArgs('ERR_UNSUPPORTED_ESM_URL_SCHEME')),\n  ERR_UNKNOWN_FILE_EXTENSION: createErrorCtor(joinArgs('ERR_UNKNOWN_FILE_EXTENSION')),\n}\n\nfunction joinArgs(name) {\n  return (...args) => {\n    return [name, ...args].join(' ')\n  }\n}\n\nfunction createErrorCtor(errorMessageCreator) {\n  return class CustomError extends Error {\n    constructor(...args) {\n      super(errorMessageCreator(...args))\n    }\n  }\n}\nexports.createErrRequireEsm = createErrRequireEsm;\n\n// Native ERR_REQUIRE_ESM Error is declared here:\n//   https://github.com/nodejs/node/blob/2d5d77306f6dff9110c1f77fefab25f973415770/lib/internal/errors.js#L1294-L1313\n// Error class factory is implemented here:\n//   function E: https://github.com/nodejs/node/blob/2d5d77306f6dff9110c1f77fefab25f973415770/lib/internal/errors.js#L323-L341\n//   function makeNodeErrorWithCode: https://github.com/nodejs/node/blob/2d5d77306f6dff9110c1f77fefab25f973415770/lib/internal/errors.js#L251-L278\n// The code below should create an error that matches the native error as closely as possible.\n// Third-party libraries which attempt to catch the native ERR_REQUIRE_ESM should recognize our imitation error.\nfunction createErrRequireEsm(filename, parentPath, packageJsonPath) {\n  const code = 'ERR_REQUIRE_ESM'\n  const err = new Error(getErrRequireEsmMessage(filename, parentPath, packageJsonPath))\n  // Set `name` to be used in stack trace, generate stack trace with that name baked in, then re-declare the `name` field.\n  // This trick is copied from node's source.\n  err.name = `Error [${ code }]`\n  err.stack\n  Object.defineProperty(err, 'name', {\n    value: 'Error',\n    enumerable: false,\n    writable: true,\n    configurable: true\n  })\n  err.code = code\n  return err\n}\n\n// Copy-pasted from https://github.com/nodejs/node/blob/b533fb3508009e5f567cc776daba8fbf665386a6/lib/internal/errors.js#L1293-L1311\n// so that our error message is identical to the native message.\nfunction getErrRequireEsmMessage(filename, parentPath = null, packageJsonPath = null) {\n  const ext = path.extname(filename)\n  let msg = `Must use import to load ES Module: ${filename}`;\n  if (parentPath && packageJsonPath) {\n    const path = require('path');\n    const basename = path.basename(filename) === path.basename(parentPath) ?\n      filename : path.basename(filename);\n    msg +=\n      '\\nrequire() of ES modules is not supported.\\nrequire() of ' +\n      `${filename} ${parentPath ? `from ${parentPath} ` : ''}` +\n      `is an ES module file as it is a ${ext} file whose nearest parent ` +\n      `package.json contains \"type\": \"module\" which defines all ${ext} ` +\n      'files in that package scope as ES modules.\\nInstead ' +\n      'change the requiring code to use ' +\n      'import(), or remove \"type\": \"module\" from ' +\n      `${packageJsonPath}.\\n`;\n    return msg;\n  }\n  return msg;\n}\n"
  },
  {
    "path": "dist-raw/node-internal-modules-cjs-helpers.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/v17.0.1/lib/internal/modules/cjs/helpers.js\n\n'use strict';\n\nconst {\n  ArrayPrototypeForEach,\n  ObjectDefineProperty,\n  ObjectPrototypeHasOwnProperty,\n  SafeSet,\n  StringPrototypeIncludes,\n  StringPrototypeStartsWith,\n} = require('./node-primordials');\n\nconst { getOptionValue } = require('./node-options');\nconst userConditions = getOptionValue('--conditions');\n\nconst noAddons = getOptionValue('--no-addons');\nconst addonConditions = noAddons ? [] : ['node-addons'];\n\n// TODO: Use this set when resolving pkg#exports conditions in loader.js.\nconst cjsConditions = new SafeSet([\n  'require',\n  'node',\n  ...addonConditions,\n  ...userConditions,\n]);\n\n/**\n * @param {any} object\n * @param {string} [dummyModuleName]\n * @return {void}\n */\nfunction addBuiltinLibsToObject(object, dummyModuleName) {\n  // Make built-in modules available directly (loaded lazily).\n  const Module = require('module').Module;\n  const { builtinModules } = Module;\n\n  // To require built-in modules in user-land and ignore modules whose\n  // `canBeRequiredByUsers` is false. So we create a dummy module object and not\n  // use `require()` directly.\n  const dummyModule = new Module(dummyModuleName);\n\n  ArrayPrototypeForEach(builtinModules, (name) => {\n    // Neither add underscored modules, nor ones that contain slashes (e.g.,\n    // 'fs/promises') or ones that are already defined.\n    if (StringPrototypeStartsWith(name, '_') ||\n        StringPrototypeIncludes(name, '/') ||\n        ObjectPrototypeHasOwnProperty(object, name)) {\n      return;\n    }\n    // Goals of this mechanism are:\n    // - Lazy loading of built-in modules\n    // - Having all built-in modules available as non-enumerable properties\n    // - Allowing the user to re-assign these variables as if there were no\n    //   pre-existing globals with the same name.\n\n    const setReal = (val) => {\n      // Deleting the property before re-assigning it disables the\n      // getter/setter mechanism.\n      delete object[name];\n      object[name] = val;\n    };\n\n    ObjectDefineProperty(object, name, {\n      get: () => {\n        const lib = dummyModule.require(name);\n\n        // Disable the current getter/setter and set up a new\n        // non-enumerable property.\n        delete object[name];\n        ObjectDefineProperty(object, name, {\n          get: () => lib,\n          set: setReal,\n          configurable: true,\n          enumerable: false\n        });\n\n        return lib;\n      },\n      set: setReal,\n      configurable: true,\n      enumerable: false\n    });\n  });\n}\n\nexports.addBuiltinLibsToObject = addBuiltinLibsToObject;\nexports.cjsConditions = cjsConditions;\n"
  },
  {
    "path": "dist-raw/node-internal-modules-cjs-loader.js",
    "content": "// Copied from several files in node's source code.\n// https://github.com/nodejs/node/blob/2d5d77306f6dff9110c1f77fefab25f973415770/lib/internal/modules/cjs/loader.js\n// Each function and variable below must have a comment linking to the source in node's github repo.\n\n'use strict';\n\nconst {\n  ArrayIsArray,\n  ArrayPrototypeIncludes,\n  ArrayPrototypeJoin,\n  ArrayPrototypePush,\n  JSONParse,\n  ObjectKeys,\n  RegExpPrototypeTest,\n  SafeMap,\n  SafeWeakMap,\n  StringPrototypeCharCodeAt,\n  StringPrototypeEndsWith,\n  StringPrototypeLastIndexOf,\n  StringPrototypeIndexOf,\n  StringPrototypeMatch,\n  StringPrototypeSlice,\n  StringPrototypeStartsWith,\n} = require('./node-primordials');\nconst { NativeModule } = require('./node-nativemodule');\nconst { pathToFileURL, fileURLToPath } = require('url');\nconst fs = require('fs');\nconst path = require('path');\nconst { sep } = path;\nconst { internalModuleStat } = require('./node-internalBinding-fs');\nconst packageJsonReader = require('./node-internal-modules-package_json_reader');\nconst {\n  cjsConditions,\n} = require('./node-internal-modules-cjs-helpers');\nconst { getOptionValue } = require('./node-options');\nconst preserveSymlinks = getOptionValue('--preserve-symlinks');\nconst preserveSymlinksMain = getOptionValue('--preserve-symlinks-main');\nconst {normalizeSlashes} = require('../dist/util');\nconst {createErrRequireEsm} = require('./node-internal-errors');\nconst {\n  codes: {\n    ERR_INVALID_MODULE_SPECIFIER,\n  },\n} = require('./node-internal-errors');\n\nconst {\n  CHAR_FORWARD_SLASH,\n} = require('./node-internal-constants');\n\nconst Module = require('module');\n\nconst isWindows = process.platform === 'win32';\n\nlet statCache = null;\n\nfunction stat(filename) {\n  filename = path.toNamespacedPath(filename);\n  if (statCache !== null) {\n    const result = statCache.get(filename);\n    if (result !== undefined) return result;\n  }\n  const result = internalModuleStat(filename);\n  if (statCache !== null && result >= 0) {\n    // Only set cache when `internalModuleStat(filename)` succeeds.\n    statCache.set(filename, result);\n  }\n  return result;\n}\n\n// Note:\n// we cannot get access to node's internal cache, which is populated from\n// within node's Module constructor.  So the cache here will always be empty.\n// It's possible we could approximate our own cache by building it up with\n// hacky workarounds, but it's not worth the complexity and flakiness.\nconst moduleParentCache = new SafeWeakMap();\n\n// Given a module name, and a list of paths to test, returns the first\n// matching file in the following precedence.\n//\n// require(\"a.<ext>\")\n//   -> a.<ext>\n//\n// require(\"a\")\n//   -> a\n//   -> a.<ext>\n//   -> a/index.<ext>\n\nconst packageJsonCache = new SafeMap();\n\nfunction readPackage(requestPath) {\n  const jsonPath = path.resolve(requestPath, 'package.json');\n\n  const existing = packageJsonCache.get(jsonPath);\n  if (existing !== undefined) return existing;\n\n  const result = packageJsonReader.read(jsonPath);\n  const json = result.containsKeys === false ? '{}' : result.string;\n  if (json === undefined) {\n    packageJsonCache.set(jsonPath, false);\n    return false;\n  }\n\n  try {\n    const parsed = JSONParse(json);\n    const filtered = {\n      name: parsed.name,\n      main: parsed.main,\n      exports: parsed.exports,\n      imports: parsed.imports,\n      type: parsed.type\n    };\n    packageJsonCache.set(jsonPath, filtered);\n    return filtered;\n  } catch (e) {\n    e.path = jsonPath;\n    e.message = 'Error parsing ' + jsonPath + ': ' + e.message;\n    throw e;\n  }\n}\n\nfunction readPackageScope(checkPath) {\n  const rootSeparatorIndex = StringPrototypeIndexOf(checkPath, sep);\n  let separatorIndex;\n  do {\n    separatorIndex = StringPrototypeLastIndexOf(checkPath, sep);\n    checkPath = StringPrototypeSlice(checkPath, 0, separatorIndex);\n    if (StringPrototypeEndsWith(checkPath, sep + 'node_modules'))\n      return false;\n    const pjson = readPackage(checkPath + sep);\n    if (pjson) return {\n      data: pjson,\n      path: checkPath,\n    };\n  } while (separatorIndex > rootSeparatorIndex);\n  return false;\n}\n\n/**\n * @param {{\n *   nodeEsmResolver: ReturnType<typeof import('./node-internal-modules-esm-resolve').createResolve>,\n *   extensions: import('../src/file-extensions').Extensions,\n *   preferTsExts\n * }} opts\n */\nfunction createCjsLoader(opts) {\nconst {nodeEsmResolver, preferTsExts} = opts;\nconst {replacementsForCjs, replacementsForJs, replacementsForMjs, replacementsForJsx} = opts.extensions;\nconst {\n  encodedSepRegEx,\n  packageExportsResolve,\n  packageImportsResolve\n} = nodeEsmResolver;\n\nfunction tryPackage(requestPath, exts, isMain, originalPath) {\n  // const pkg = readPackage(requestPath)?.main;\n  const tmp = readPackage(requestPath)\n  const pkg = tmp != null ? tmp.main : undefined;\n\n  if (!pkg) {\n    return tryExtensions(path.resolve(requestPath, 'index'), exts, isMain);\n  }\n\n  const filename = path.resolve(requestPath, pkg);\n  let actual = tryReplacementExtensions(filename, isMain) ||\n    tryFile(filename, isMain) ||\n    tryExtensions(filename, exts, isMain) ||\n    tryExtensions(path.resolve(filename, 'index'), exts, isMain);\n  if (actual === false) {\n    actual = tryExtensions(path.resolve(requestPath, 'index'), exts, isMain);\n    if (!actual) {\n      // eslint-disable-next-line no-restricted-syntax\n      const err = new Error(\n        `Cannot find module '${filename}'. ` +\n        'Please verify that the package.json has a valid \"main\" entry'\n      );\n      err.code = 'MODULE_NOT_FOUND';\n      err.path = path.resolve(requestPath, 'package.json');\n      err.requestPath = originalPath;\n      // TODO(BridgeAR): Add the requireStack as well.\n      throw err;\n    } else {\n      const jsonPath = path.resolve(requestPath, 'package.json');\n      process.emitWarning(\n        `Invalid 'main' field in '${jsonPath}' of '${pkg}'. ` +\n          'Please either fix that or report it to the module author',\n        'DeprecationWarning',\n        'DEP0128'\n      );\n    }\n  }\n  return actual;\n}\n\n// In order to minimize unnecessary lstat() calls,\n// this cache is a list of known-real paths.\n// Set to an empty Map to reset.\nconst realpathCache = new SafeMap();\n\n// Check if the file exists and is not a directory\n// if using --preserve-symlinks and isMain is false,\n// keep symlinks intact, otherwise resolve to the\n// absolute realpath.\nfunction tryFile(requestPath, isMain) {\n  const rc = stat(requestPath);\n  if (rc !== 0) return;\n  if (preserveSymlinks && !isMain) {\n    return path.resolve(requestPath);\n  }\n  return toRealPath(requestPath);\n}\n\nfunction toRealPath(requestPath) {\n  return fs.realpathSync(requestPath, {\n    // [internalFS.realpathCacheKey]: realpathCache\n  });\n}\n\nfunction statReplacementExtensions(p) {\n  const lastDotIndex = p.lastIndexOf('.');\n  if(lastDotIndex >= 0) {\n    const ext = p.slice(lastDotIndex);\n    if (ext === '.js' || ext === '.jsx' || ext === '.mjs' || ext === '.cjs') {\n      const pathnameWithoutExtension = p.slice(0, lastDotIndex);\n      const replacementExts =\n        ext === '.js' ? replacementsForJs\n        : ext === '.jsx' ? replacementsForJsx\n        : ext === '.mjs' ? replacementsForMjs\n        : replacementsForCjs;\n      for (let i = 0; i < replacementExts.length; i++) {\n        const filename = pathnameWithoutExtension + replacementExts[i];\n        const rc = stat(filename);\n        if (rc === 0) {\n          return [rc, filename];\n        }\n      }\n    }\n  }\n  return [stat(p), p];\n}\nfunction tryReplacementExtensions(p, isMain) {\n  const lastDotIndex = p.lastIndexOf('.');\n  if(lastDotIndex >= 0) {\n    const ext = p.slice(lastDotIndex);\n    if (ext === '.js' || ext === '.jsx' || ext === '.mjs' || ext === '.cjs') {\n      const pathnameWithoutExtension = p.slice(0, lastDotIndex);\n      const replacementExts =\n        ext === '.js' ? replacementsForJs\n        : ext === '.jsx' ? replacementsForJsx\n        : ext === '.mjs' ? replacementsForMjs\n        : replacementsForCjs;\n      for (let i = 0; i < replacementExts.length; i++) {\n        const filename = tryFile(pathnameWithoutExtension + replacementExts[i], isMain);\n        if (filename) {\n          return filename;\n        }\n      }\n    }\n  }\n  return false;\n}\n\n// Given a path, check if the file exists with any of the set extensions\nfunction tryExtensions(p, exts, isMain) {\n  for (let i = 0; i < exts.length; i++) {\n    const filename = tryFile(p + exts[i], isMain);\n\n    if (filename) {\n      return filename;\n    }\n  }\n  return false;\n}\n\nfunction trySelfParentPath(parent) {\n  if (!parent) return false;\n\n  if (parent.filename) {\n    return parent.filename;\n  } else if (parent.id === '<repl>' || parent.id === 'internal/preload') {\n    try {\n      return process.cwd() + path.sep;\n    } catch {\n      return false;\n    }\n  }\n}\n\nfunction trySelf(parentPath, request) {\n  if (!parentPath) return false;\n\n  const { data: pkg, path: pkgPath } = readPackageScope(parentPath) || {};\n  if (!pkg || pkg.exports === undefined) return false;\n  if (typeof pkg.name !== 'string') return false;\n\n  let expansion;\n  if (request === pkg.name) {\n    expansion = '.';\n  } else if (StringPrototypeStartsWith(request, `${pkg.name}/`)) {\n    expansion = '.' + StringPrototypeSlice(request, pkg.name.length);\n  } else {\n    return false;\n  }\n\n  try {\n    return finalizeEsmResolution(packageExportsResolve(\n      pathToFileURL(pkgPath + '/package.json'), expansion, pkg,\n      pathToFileURL(parentPath), cjsConditions).resolved, parentPath, pkgPath);\n  } catch (e) {\n    if (e.code === 'ERR_MODULE_NOT_FOUND')\n      throw createEsmNotFoundErr(request, pkgPath + '/package.json');\n    throw e;\n  }\n}\n\n// This only applies to requests of a specific form:\n// 1. name/.*\n// 2. @scope/name/.*\nconst EXPORTS_PATTERN = /^((?:@[^/\\\\%]+\\/)?[^./\\\\%][^/\\\\%]*)(\\/.*)?$/;\nfunction resolveExports(nmPath, request) {\n  // The implementation's behavior is meant to mirror resolution in ESM.\n  const { 1: name, 2: expansion = '' } =\n    StringPrototypeMatch(request, EXPORTS_PATTERN) || [];\n  if (!name)\n    return;\n  const pkgPath = path.resolve(nmPath, name);\n  const pkg = readPackage(pkgPath);\n  // if (pkg?.exports != null) {\n  if (pkg != null && pkg.exports != null) {\n    try {\n      return finalizeEsmResolution(packageExportsResolve(\n        pathToFileURL(pkgPath + '/package.json'), '.' + expansion, pkg, null,\n        cjsConditions).resolved, null, pkgPath);\n    } catch (e) {\n      if (e.code === 'ERR_MODULE_NOT_FOUND')\n        throw createEsmNotFoundErr(request, pkgPath + '/package.json');\n      throw e;\n    }\n  }\n}\n\n// Backwards compat for old node versions\nconst hasModulePathCache = !!require('module')._pathCache;\nconst Module_pathCache = Object.create(null);\nconst Module_pathCache_get = hasModulePathCache ? (cacheKey) => Module._pathCache[cacheKey] : (cacheKey) => Module_pathCache[cacheKey];\nconst Module_pathCache_set = hasModulePathCache ? (cacheKey, value) => (Module._pathCache[cacheKey] = value) : (cacheKey) => (Module_pathCache[cacheKey] = value);\n\nconst trailingSlashRegex = /(?:^|\\/)\\.?\\.$/;\nconst Module_findPath = function _findPath(request, paths, isMain) {\n  const absoluteRequest = path.isAbsolute(request);\n  if (absoluteRequest) {\n    paths = [''];\n  } else if (!paths || paths.length === 0) {\n    return false;\n  }\n\n  const cacheKey = request + '\\x00' + ArrayPrototypeJoin(paths, '\\x00');\n  const entry = Module_pathCache_get(cacheKey);\n  if (entry)\n    return entry;\n\n  let exts;\n  let trailingSlash = request.length > 0 &&\n    StringPrototypeCharCodeAt(request, request.length - 1) ===\n    CHAR_FORWARD_SLASH;\n  if (!trailingSlash) {\n    trailingSlash = RegExpPrototypeTest(trailingSlashRegex, request);\n  }\n\n  // For each path\n  for (let i = 0; i < paths.length; i++) {\n    // Don't search further if path doesn't exist\n    const curPath = paths[i];\n    if (curPath && stat(curPath) < 1) continue;\n\n    if (!absoluteRequest) {\n      const exportsResolved = resolveExports(curPath, request);\n      if (exportsResolved)\n        return exportsResolved;\n    }\n\n    const _basePath = path.resolve(curPath, request);\n    let filename;\n\n    const [rc, basePath] = statReplacementExtensions(_basePath);\n    if (!trailingSlash) {\n      if (rc === 0) {  // File.\n        if (!isMain) {\n          if (preserveSymlinks) {\n            filename = path.resolve(basePath);\n          } else {\n            filename = toRealPath(basePath);\n          }\n        } else if (preserveSymlinksMain) {\n          // For the main module, we use the preserveSymlinksMain flag instead\n          // mainly for backward compatibility, as the preserveSymlinks flag\n          // historically has not applied to the main module.  Most likely this\n          // was intended to keep .bin/ binaries working, as following those\n          // symlinks is usually required for the imports in the corresponding\n          // files to resolve; that said, in some use cases following symlinks\n          // causes bigger problems which is why the preserveSymlinksMain option\n          // is needed.\n          filename = path.resolve(basePath);\n        } else {\n          filename = toRealPath(basePath);\n        }\n      }\n\n      if (!filename) {\n        // Try it with each of the extensions\n        if (exts === undefined)\n          exts = ObjectKeys(Module._extensions);\n        filename = tryExtensions(basePath, exts, isMain);\n      }\n    }\n\n    if (!filename && rc === 1) {  // Directory.\n      // try it with each of the extensions at \"index\"\n      if (exts === undefined)\n        exts = ObjectKeys(Module._extensions);\n      filename = tryPackage(basePath, exts, isMain, request);\n    }\n\n    if (filename) {\n      Module_pathCache_set(cacheKey, filename);\n      return filename;\n    }\n  }\n\n  return false;\n};\n\nconst Module_resolveFilename = function _resolveFilename(request, parent, isMain, options) {\n  if (StringPrototypeStartsWith(request, 'node:') ||\n      NativeModule.canBeRequiredByUsers(request)) {\n    return request;\n  }\n\n  let paths;\n\n  if (typeof options === 'object' && options !== null) {\n    if (ArrayIsArray(options.paths)) {\n      const isRelative = StringPrototypeStartsWith(request, './') ||\n          StringPrototypeStartsWith(request, '../') ||\n          ((isWindows && StringPrototypeStartsWith(request, '.\\\\')) ||\n          StringPrototypeStartsWith(request, '..\\\\'));\n\n      if (isRelative) {\n        paths = options.paths;\n      } else {\n        const fakeParent = new Module('', null);\n\n        paths = [];\n\n        for (let i = 0; i < options.paths.length; i++) {\n          const path = options.paths[i];\n          fakeParent.paths = Module._nodeModulePaths(path);\n          const lookupPaths = Module._resolveLookupPaths(request, fakeParent);\n\n          for (let j = 0; j < lookupPaths.length; j++) {\n            if (!ArrayPrototypeIncludes(paths, lookupPaths[j]))\n              ArrayPrototypePush(paths, lookupPaths[j]);\n          }\n        }\n      }\n    } else if (options.paths === undefined) {\n      paths = Module._resolveLookupPaths(request, parent);\n    } else {\n      throw new ERR_INVALID_ARG_VALUE('options.paths', options.paths);\n    }\n  } else {\n    paths = Module._resolveLookupPaths(request, parent);\n  }\n\n  if (parent?.filename) {\n    if (request[0] === '#') {\n      const pkg = readPackageScope(parent.filename) || {};\n\n      if (pkg.data?.imports != null) {\n        try {\n          return finalizeEsmResolution(\n            packageImportsResolve(request, pathToFileURL(parent.filename),\n                                  cjsConditions), parent.filename,\n            pkg.path);\n        } catch (e) {\n          if (e.code === 'ERR_MODULE_NOT_FOUND')\n            throw createEsmNotFoundErr(request);\n          throw e;\n        }\n      }\n    }\n  }\n\n  // Try module self resolution first\n  const parentPath = trySelfParentPath(parent);\n  const selfResolved = trySelf(parentPath, request);\n  if (selfResolved) {\n    const cacheKey = request + '\\x00' +\n         (paths.length === 1 ? paths[0] : ArrayPrototypeJoin(paths, '\\x00'));\n    Module._pathCache[cacheKey] = selfResolved;\n    return selfResolved;\n  }\n\n  // Look up the filename first, since that's the cache key.\n  const filename = Module._findPath(request, paths, isMain, false);\n  if (filename) return filename;\n  const requireStack = [];\n  for (let cursor = parent;\n    cursor;\n    cursor = moduleParentCache.get(cursor)) {\n    ArrayPrototypePush(requireStack, cursor.filename || cursor.id);\n  }\n  let message = `Cannot find module '${request}'`;\n  if (requireStack.length > 0) {\n    message = message + '\\nRequire stack:\\n- ' +\n              ArrayPrototypeJoin(requireStack, '\\n- ');\n  }\n  // eslint-disable-next-line no-restricted-syntax\n  const err = new Error(message);\n  err.code = 'MODULE_NOT_FOUND';\n  err.requireStack = requireStack;\n  throw err;\n};\n\nfunction finalizeEsmResolution(resolved, parentPath, pkgPath) {\n  if (RegExpPrototypeTest(encodedSepRegEx, resolved))\n    throw new ERR_INVALID_MODULE_SPECIFIER(\n      resolved, 'must not include encoded \"/\" or \"\\\\\" characters', parentPath);\n  const filename = fileURLToPath(resolved);\n  const actual = tryReplacementExtensions(filename) || tryFile(filename);\n  if (actual)\n    return actual;\n  const err = createEsmNotFoundErr(filename,\n                                   path.resolve(pkgPath, 'package.json'));\n  throw err;\n}\n\nfunction createEsmNotFoundErr(request, path) {\n  // eslint-disable-next-line no-restricted-syntax\n  const err = new Error(`Cannot find module '${request}'`);\n  err.code = 'MODULE_NOT_FOUND';\n  if (path)\n    err.path = path;\n  // TODO(BridgeAR): Add the requireStack as well.\n  return err;\n}\n\n\nreturn {\n  Module_findPath,\n  Module_resolveFilename\n}\n\n}\n\n/**\n * copied from Module._extensions['.js']\n * https://github.com/nodejs/node/blob/v15.3.0/lib/internal/modules/cjs/loader.js#L1113-L1120\n\n * Assert that script can be loaded as CommonJS when we attempt to require it.\n * If it should be loaded as ESM, throw ERR_REQUIRE_ESM like node does.\n *\n * @param {import('../src/index').Service} service\n * @param {NodeJS.Module} module\n * @param {string} filename\n */\nfunction assertScriptCanLoadAsCJS(service, module, filename) {\n  const pkg = readPackageScope(filename);\n\n  // ts-node modification: allow our configuration to override\n  const tsNodeClassification = service.moduleTypeClassifier.classifyModuleByModuleTypeOverrides(normalizeSlashes(filename));\n  if(tsNodeClassification.moduleType === 'cjs') return;\n\n  // ignore package.json when file extension is ESM-only or CJS-only\n  // [MUST_UPDATE_FOR_NEW_FILE_EXTENSIONS]\n  const lastDotIndex = filename.lastIndexOf('.');\n  const ext = lastDotIndex >= 0 ? filename.slice(lastDotIndex) : '';\n\n  if((ext === '.cts' || ext === '.cjs') && tsNodeClassification.moduleType === 'auto') return;\n\n  // Function require shouldn't be used in ES modules.\n  if (ext === '.mts' || ext === '.mjs' || tsNodeClassification.moduleType === 'esm' || (pkg && pkg.data && pkg.data.type === 'module')) {\n    const parentPath = module.parent && module.parent.filename;\n    const packageJsonPath = pkg ? path.resolve(pkg.path, 'package.json') : null;\n    throw createErrRequireEsm(filename, parentPath, packageJsonPath);\n  }\n}\n\n\nmodule.exports = {\n  createCjsLoader,\n  assertScriptCanLoadAsCJS,\n  readPackageScope\n};\n"
  },
  {
    "path": "dist-raw/node-internal-modules-esm-get_format.js",
    "content": "// Copied from https://raw.githubusercontent.com/nodejs/node/v15.3.0/lib/internal/modules/esm/get_format.js\n\n'use strict';\nconst {\n  RegExpPrototypeExec,\n  StringPrototypeStartsWith,\n} = require('./node-primordials');\nconst { extname } = require('path');\nconst { getOptionValue } = require('./node-options');\n\nconst [nodeMajor, nodeMinor] = process.versions.node.split('.').map(s => parseInt(s, 10));\nconst experimentalJsonModules =\n  nodeMajor > 17\n  || (nodeMajor === 17 && nodeMinor >= 5)\n  || (nodeMajor === 16 && nodeMinor >= 15)\n  || getOptionValue('--experimental-json-modules');\nconst experimentalWasmModules = getOptionValue('--experimental-wasm-modules');\nconst { URL, fileURLToPath } = require('url');\nconst { ERR_UNKNOWN_FILE_EXTENSION } = require('./node-internal-errors').codes;\n\nconst extensionFormatMap = {\n  '__proto__': null,\n  '.cjs': 'commonjs',\n  '.js': 'module',\n  '.mjs': 'module'\n};\n\nconst legacyExtensionFormatMap = {\n  '__proto__': null,\n  '.cjs': 'commonjs',\n  '.js': 'commonjs',\n  '.json': 'commonjs',\n  '.mjs': 'module',\n  '.node': 'commonjs'\n};\n\nif (experimentalWasmModules)\n  extensionFormatMap['.wasm'] = legacyExtensionFormatMap['.wasm'] = 'wasm';\n\nif (experimentalJsonModules)\n  extensionFormatMap['.json'] = legacyExtensionFormatMap['.json'] = 'json';\n\n/**\n *\n * @param {'node' | 'explicit'} [tsNodeExperimentalSpecifierResolution]\n * @param {ReturnType<\n *  typeof import('../dist-raw/node-internal-modules-esm-resolve').createResolve\n * >} nodeEsmResolver\n */\nfunction createGetFormat(tsNodeExperimentalSpecifierResolution, nodeEsmResolver) {\n// const experimentalSpeciferResolution = tsNodeExperimentalSpecifierResolution ?? getOptionValue('--experimental-specifier-resolution');\nlet experimentalSpeciferResolution = tsNodeExperimentalSpecifierResolution != null ? tsNodeExperimentalSpecifierResolution : getOptionValue('--experimental-specifier-resolution');\nconst { getPackageType } = nodeEsmResolver;\n\n/**\n * @param {string} url\n * @param {{}} context\n * @param {any} defaultGetFormatUnused\n * @returns {ReturnType<import('../src/esm').NodeLoaderHooksAPI1.GetFormatHook>}\n */\nfunction defaultGetFormat(url, context, defaultGetFormatUnused) {\n  if (StringPrototypeStartsWith(url, 'node:')) {\n    return { format: 'builtin' };\n  }\n  const parsed = new URL(url);\n  if (parsed.protocol === 'data:') {\n    const [ , mime ] = RegExpPrototypeExec(\n      /^([^/]+\\/[^;,]+)(?:[^,]*?)(;base64)?,/,\n      parsed.pathname,\n    ) || [ null, null, null ];\n    const format = ({\n      '__proto__': null,\n      'text/javascript': 'module',\n      'application/json': experimentalJsonModules ? 'json' : null,\n      'application/wasm': experimentalWasmModules ? 'wasm' : null\n    })[mime] || null;\n    return { format };\n  } else if (parsed.protocol === 'file:') {\n    const ext = extname(parsed.pathname);\n    let format;\n    if (ext === '.js') {\n      format = getPackageType(parsed.href) === 'module' ? 'module' : 'commonjs';\n    } else {\n      format = extensionFormatMap[ext];\n    }\n    if (!format) {\n      if (experimentalSpeciferResolution === 'node') {\n        process.emitWarning(\n          'The Node.js specifier resolution in ESM is experimental.',\n          'ExperimentalWarning');\n        format = legacyExtensionFormatMap[ext];\n      } else {\n        throw new ERR_UNKNOWN_FILE_EXTENSION(ext, fileURLToPath(url));\n      }\n    }\n    return { format: format || null };\n  }\n  return { format: null };\n}\n\nreturn {defaultGetFormat};\n}\n\nmodule.exports = {\n  createGetFormat\n};\n"
  },
  {
    "path": "dist-raw/node-internal-modules-esm-resolve.js",
    "content": "// Copied from https://raw.githubusercontent.com/nodejs/node/v15.3.0/lib/internal/modules/esm/resolve.js\n\n'use strict';\n\nconst {versionGteLt} = require('../dist/util');\n\n// Test for node >14.13.1 || (>=12.20.0 && <13)\nconst builtinModuleProtocol =\n  versionGteLt(process.versions.node, '14.13.1') ||\n  versionGteLt(process.versions.node, '12.20.0', '13.0.0')\n    ? 'node:'\n    : 'nodejs:';\n\nconst {\n  ArrayIsArray,\n  ArrayPrototypeJoin,\n  ArrayPrototypeShift,\n  JSONParse,\n  JSONStringify,\n  ObjectFreeze,\n  ObjectGetOwnPropertyNames,\n  ObjectPrototypeHasOwnProperty,\n  RegExpPrototypeTest,\n  SafeMap,\n  SafeSet,\n  StringPrototypeEndsWith,\n  StringPrototypeIndexOf,\n  StringPrototypeLastIndexOf,\n  StringPrototypeReplace,\n  StringPrototypeSlice,\n  StringPrototypeSplit,\n  StringPrototypeStartsWith,\n  StringPrototypeSubstr,\n} = require('./node-primordials');\n\n// const internalFS = require('internal/fs/utils');\nconst Module = require('module');\nconst { NativeModule } = require('./node-nativemodule');\nconst {\n  realpathSync,\n  statSync,\n  Stats,\n} = require('fs');\n// const { getOptionValue } = require('internal/options');\nconst { getOptionValue } = require('./node-options');\n// // Do not eagerly grab .manifest, it may be in TDZ\n// const policy = getOptionValue('--experimental-policy') ?\n//   require('internal/process/policy') :\n//   null;\n// disabled for now.  I am not sure if/how we should support this\nconst policy = null;\nconst { sep, relative } = require('path');\nconst preserveSymlinks = getOptionValue('--preserve-symlinks');\nconst preserveSymlinksMain = getOptionValue('--preserve-symlinks-main');\nconst typeFlag = getOptionValue('--input-type');\n// const { URL, pathToFileURL, fileURLToPath } = require('internal/url');\nconst { URL, pathToFileURL, fileURLToPath } = require('url');\nconst {\n  ERR_INPUT_TYPE_NOT_ALLOWED,\n  ERR_INVALID_ARG_VALUE,\n  ERR_INVALID_MODULE_SPECIFIER,\n  ERR_INVALID_PACKAGE_CONFIG,\n  ERR_INVALID_PACKAGE_TARGET,\n  ERR_MANIFEST_DEPENDENCY_MISSING,\n  ERR_MODULE_NOT_FOUND,\n  ERR_PACKAGE_IMPORT_NOT_DEFINED,\n  ERR_PACKAGE_PATH_NOT_EXPORTED,\n  ERR_UNSUPPORTED_DIR_IMPORT,\n  ERR_UNSUPPORTED_ESM_URL_SCHEME,\n// } = require('internal/errors').codes;\n} = require('./node-internal-errors').codes;\n\n// const { Module: CJSModule } = require('internal/modules/cjs/loader');\nconst CJSModule = Module;\n\n// const packageJsonReader = require('internal/modules/package_json_reader');\nconst packageJsonReader = require('./node-internal-modules-package_json_reader');\nconst userConditions = getOptionValue('--conditions');\nconst DEFAULT_CONDITIONS = ObjectFreeze(['node', 'import', ...userConditions]);\nconst DEFAULT_CONDITIONS_SET = new SafeSet(DEFAULT_CONDITIONS);\n\nconst pendingDeprecation = getOptionValue('--pending-deprecation');\n\n/**\n * @param {{\n *  extensions: import('../src/file-extensions').Extensions,\n *  preferTsExts: boolean | undefined;\n *  tsNodeExperimentalSpecifierResolution: import('../src/index').ExperimentalSpecifierResolution | undefined;\n * }} opts\n */\nfunction createResolve(opts) {\n// TODO receive cached fs implementations here\nconst {preferTsExts, tsNodeExperimentalSpecifierResolution, extensions} = opts;\nconst esrnExtensions = extensions.experimentalSpecifierResolutionAddsIfOmitted;\nconst {legacyMainResolveAddsIfOmitted, replacementsForCjs, replacementsForJs, replacementsForMjs, replacementsForJsx} = extensions;\n// const experimentalSpecifierResolution = tsNodeExperimentalSpecifierResolution ?? getOptionValue('--experimental-specifier-resolution');\nconst experimentalSpecifierResolution = tsNodeExperimentalSpecifierResolution != null ? tsNodeExperimentalSpecifierResolution : getOptionValue('--experimental-specifier-resolution');\n\nconst emittedPackageWarnings = new SafeSet();\nfunction emitFolderMapDeprecation(match, pjsonUrl, isExports, base) {\n  const pjsonPath = fileURLToPath(pjsonUrl);\n  if (!pendingDeprecation) {\n    const nodeModulesIndex = StringPrototypeLastIndexOf(pjsonPath,\n                                                        '/node_modules/');\n    if (nodeModulesIndex !== -1) {\n      const afterNodeModulesPath = StringPrototypeSlice(pjsonPath,\n                                                        nodeModulesIndex + 14,\n                                                        -13);\n      try {\n        const { packageSubpath } = parsePackageName(afterNodeModulesPath);\n        if (packageSubpath === '.')\n          return;\n      } catch {}\n    }\n  }\n  if (emittedPackageWarnings.has(pjsonPath + '|' + match))\n    return;\n  emittedPackageWarnings.add(pjsonPath + '|' + match);\n  process.emitWarning(\n    `Use of deprecated folder mapping \"${match}\" in the ${isExports ?\n      '\"exports\"' : '\"imports\"'} field module resolution of the package at ${\n      pjsonPath}${base ? ` imported from ${fileURLToPath(base)}` : ''}.\\n` +\n      `Update this package.json to use a subpath pattern like \"${match}*\".`,\n    'DeprecationWarning',\n    'DEP0148'\n  );\n}\n\nfunction getConditionsSet(conditions) {\n  if (conditions !== undefined && conditions !== DEFAULT_CONDITIONS) {\n    if (!ArrayIsArray(conditions)) {\n      throw new ERR_INVALID_ARG_VALUE('conditions', conditions,\n                                      'expected an array');\n    }\n    return new SafeSet(conditions);\n  }\n  return DEFAULT_CONDITIONS_SET;\n}\n\nconst realpathCache = new SafeMap();\nconst packageJSONCache = new SafeMap();  /* string -> PackageConfig */\n\nconst statSupportsThrowIfNoEntry = versionGteLt(process.versions.node, '15.3.0') ||\n  versionGteLt(process.versions.node, '14.17.0', '15.0.0');\nconst tryStatSync = statSupportsThrowIfNoEntry ? tryStatSyncWithoutErrors : tryStatSyncWithErrors;\nconst statsIfNotFound = new Stats();\nfunction tryStatSyncWithoutErrors(path) {\n  const stats = statSync(path, { throwIfNoEntry: false });\n  if(stats != null) return stats;\n  return statsIfNotFound;\n}\nfunction tryStatSyncWithErrors(path) {\n  try {\n    return statSync(path);\n  } catch {\n    return statsIfNotFound;\n  }\n}\n\nfunction getPackageConfig(path, specifier, base) {\n  const existing = packageJSONCache.get(path);\n  if (existing !== undefined) {\n    return existing;\n  }\n  const source = packageJsonReader.read(path).string;\n  if (source === undefined) {\n    const packageConfig = {\n      pjsonPath: path,\n      exists: false,\n      main: undefined,\n      name: undefined,\n      type: 'none',\n      exports: undefined,\n      imports: undefined,\n    };\n    packageJSONCache.set(path, packageConfig);\n    return packageConfig;\n  }\n\n  let packageJSON;\n  try {\n    packageJSON = JSONParse(source);\n  } catch (error) {\n    throw new ERR_INVALID_PACKAGE_CONFIG(\n      path,\n      (base ? `\"${specifier}\" from ` : '') + fileURLToPath(base || specifier),\n      error.message\n    );\n  }\n\n  let { imports, main, name, type } = packageJSON;\n  const { exports } = packageJSON;\n  if (typeof imports !== 'object' || imports === null) imports = undefined;\n  if (typeof main !== 'string') main = undefined;\n  if (typeof name !== 'string') name = undefined;\n  // Ignore unknown types for forwards compatibility\n  if (type !== 'module' && type !== 'commonjs') type = 'none';\n\n  const packageConfig = {\n    pjsonPath: path,\n    exists: true,\n    main,\n    name,\n    type,\n    exports,\n    imports,\n  };\n  packageJSONCache.set(path, packageConfig);\n  return packageConfig;\n}\n\nfunction getPackageScopeConfig(resolved) {\n  let packageJSONUrl = new URL('./package.json', resolved);\n  while (true) {\n    const packageJSONPath = packageJSONUrl.pathname;\n    if (StringPrototypeEndsWith(packageJSONPath, 'node_modules/package.json'))\n      break;\n    const packageConfig = getPackageConfig(fileURLToPath(packageJSONUrl),\n                                           resolved);\n    if (packageConfig.exists) return packageConfig;\n\n    const lastPackageJSONUrl = packageJSONUrl;\n    packageJSONUrl = new URL('../package.json', packageJSONUrl);\n\n    // Terminates at root where ../package.json equals ../../package.json\n    // (can't just check \"/package.json\" for Windows support).\n    if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) break;\n  }\n  const packageJSONPath = fileURLToPath(packageJSONUrl);\n  const packageConfig = {\n    pjsonPath: packageJSONPath,\n    exists: false,\n    main: undefined,\n    name: undefined,\n    type: 'none',\n    exports: undefined,\n    imports: undefined,\n  };\n  packageJSONCache.set(packageJSONPath, packageConfig);\n  return packageConfig;\n}\n\n/*\n * Legacy CommonJS main resolution:\n * 1. let M = pkg_url + (json main field)\n * 2. TRY(M, M.js, M.json, M.node)\n * 3. TRY(M/index.js, M/index.json, M/index.node)\n * 4. TRY(pkg_url/index.js, pkg_url/index.json, pkg_url/index.node)\n * 5. NOT_FOUND\n */\nfunction fileExists(url) {\n  return tryStatSync(fileURLToPath(url)).isFile();\n}\n\nfunction legacyMainResolve(packageJSONUrl, packageConfig, base) {\n  let guess;\n  if (packageConfig.main !== undefined) {\n    // Note: fs check redundances will be handled by Descriptor cache here.\n    if(guess = resolveReplacementExtensions(new URL(`./${packageConfig.main}`, packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    for(const extension of legacyMainResolveAddsIfOmitted) {\n      if (fileExists(guess = new URL(`./${packageConfig.main}${extension}`,\n                                    packageJSONUrl))) {\n        return guess;\n      }\n    }\n    for(const extension of legacyMainResolveAddsIfOmitted) {\n      if (fileExists(guess = new URL(`./${packageConfig.main}/index${extension}`,\n                                    packageJSONUrl))) {\n        return guess;\n      }\n    }\n    // Fallthrough.\n  }\n  for(const extension of legacyMainResolveAddsIfOmitted) {\n    if (fileExists(guess = new URL(`./index${extension}`, packageJSONUrl))) {\n      return guess;\n    }\n  }\n  // Not found.\n  throw new ERR_MODULE_NOT_FOUND(\n    fileURLToPath(new URL('.', packageJSONUrl)), fileURLToPath(base));\n}\n\n/** attempts replacement extensions, then tries exact name, then attempts appending extensions */\nfunction resolveExtensionsWithTryExactName(search) {\n  const resolvedReplacementExtension = resolveReplacementExtensions(search);\n  if(resolvedReplacementExtension) return resolvedReplacementExtension;\n  if (fileExists(search)) return search;\n  return resolveExtensions(search);\n}\n\n// This appends missing extensions\nfunction resolveExtensions(search) {\n  for (let i = 0; i < esrnExtensions.length; i++) {\n    const extension = esrnExtensions[i];\n    const guess = new URL(`${search.pathname}${extension}`, search);\n    if (fileExists(guess)) return guess;\n  }\n  return undefined;\n}\n\n/** This replaces JS with TS extensions */\nfunction resolveReplacementExtensions(search) {\n  const lastDotIndex = search.pathname.lastIndexOf('.');\n  if(lastDotIndex >= 0) {\n    const ext = search.pathname.slice(lastDotIndex);\n    if (ext === '.js' || ext === '.jsx' || ext === '.mjs' || ext === '.cjs') {\n      const pathnameWithoutExtension = search.pathname.slice(0, lastDotIndex);\n      const replacementExts =\n        ext === '.js' ? replacementsForJs\n        : ext === '.jsx' ? replacementsForJsx\n        : ext === '.mjs' ? replacementsForMjs\n        : replacementsForCjs;\n      const guess = new URL(search.toString());\n      for (let i = 0; i < replacementExts.length; i++) {\n        const extension = replacementExts[i];\n        guess.pathname = `${pathnameWithoutExtension}${extension}`;\n        if (fileExists(guess)) return guess;\n      }\n    }\n  }\n  return undefined;\n}\n\nfunction resolveIndex(search) {\n  return resolveExtensions(new URL('index', search));\n}\n\nconst encodedSepRegEx = /%2F|%2C/i;\nfunction finalizeResolution(resolved, base) {\n  if (RegExpPrototypeTest(encodedSepRegEx, resolved.pathname))\n    throw new ERR_INVALID_MODULE_SPECIFIER(\n      resolved.pathname, 'must not include encoded \"/\" or \"\\\\\" characters',\n      fileURLToPath(base));\n\n  if (experimentalSpecifierResolution === 'node') {\n    const path = fileURLToPath(resolved);\n    let file = resolveExtensionsWithTryExactName(resolved);\n    if (file !== undefined) return file;\n    if (!StringPrototypeEndsWith(path, '/')) {\n      file = resolveIndex(new URL(`${resolved}/`));\n      if (file !== undefined) return file;\n    } else {\n      return resolveIndex(resolved) || resolved;\n    }\n    throw new ERR_MODULE_NOT_FOUND(\n      resolved.pathname, fileURLToPath(base), 'module');\n  }\n\n  const file = resolveReplacementExtensions(resolved) || resolved;\n  const path = fileURLToPath(file);\n\n  const stats = tryStatSync(StringPrototypeEndsWith(path, '/') ?\n    StringPrototypeSlice(path, -1) : path);\n  if (stats.isDirectory()) {\n    const err = new ERR_UNSUPPORTED_DIR_IMPORT(path, fileURLToPath(base));\n    err.url = String(resolved);\n    throw err;\n  } else if (!stats.isFile()) {\n    throw new ERR_MODULE_NOT_FOUND(\n      path || resolved.pathname, fileURLToPath(base), 'module');\n  }\n\n  return file;\n}\n\nfunction throwImportNotDefined(specifier, packageJSONUrl, base) {\n  throw new ERR_PACKAGE_IMPORT_NOT_DEFINED(\n    specifier, packageJSONUrl && fileURLToPath(new URL('.', packageJSONUrl)),\n    fileURLToPath(base));\n}\n\nfunction throwExportsNotFound(subpath, packageJSONUrl, base) {\n  throw new ERR_PACKAGE_PATH_NOT_EXPORTED(\n    fileURLToPath(new URL('.', packageJSONUrl)), subpath,\n    base && fileURLToPath(base));\n}\n\nfunction throwInvalidSubpath(subpath, packageJSONUrl, internal, base) {\n  const reason = `request is not a valid subpath for the \"${internal ?\n    'imports' : 'exports'}\" resolution of ${fileURLToPath(packageJSONUrl)}`;\n  throw new ERR_INVALID_MODULE_SPECIFIER(subpath, reason,\n                                         base && fileURLToPath(base));\n}\n\nfunction throwInvalidPackageTarget(\n  subpath, target, packageJSONUrl, internal, base) {\n  if (typeof target === 'object' && target !== null) {\n    target = JSONStringify(target, null, '');\n  } else {\n    target = `${target}`;\n  }\n  throw new ERR_INVALID_PACKAGE_TARGET(\n    fileURLToPath(new URL('.', packageJSONUrl)), subpath, target,\n    internal, base && fileURLToPath(base));\n}\n\nconst invalidSegmentRegEx = /(^|\\\\|\\/)(\\.\\.?|node_modules)(\\\\|\\/|$)/;\nconst patternRegEx = /\\*/g;\n\nfunction resolvePackageTargetString(\n  target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) {\n  if (subpath !== '' && !pattern && target[target.length - 1] !== '/')\n    throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);\n\n  if (!StringPrototypeStartsWith(target, './')) {\n    if (internal && !StringPrototypeStartsWith(target, '../') &&\n        !StringPrototypeStartsWith(target, '/')) {\n      let isURL = false;\n      try {\n        new URL(target);\n        isURL = true;\n      } catch {}\n      if (!isURL) {\n        const exportTarget = pattern ?\n          StringPrototypeReplace(target, patternRegEx, subpath) :\n          target + subpath;\n        return packageResolve(exportTarget, packageJSONUrl, conditions);\n      }\n    }\n    throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);\n  }\n\n  if (RegExpPrototypeTest(invalidSegmentRegEx, StringPrototypeSlice(target, 2)))\n    throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);\n\n  const resolved = new URL(target, packageJSONUrl);\n  const resolvedPath = resolved.pathname;\n  const packagePath = new URL('.', packageJSONUrl).pathname;\n\n  if (!StringPrototypeStartsWith(resolvedPath, packagePath))\n    throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);\n\n  if (subpath === '') return resolved;\n\n  if (RegExpPrototypeTest(invalidSegmentRegEx, subpath))\n    throwInvalidSubpath(match + subpath, packageJSONUrl, internal, base);\n\n  if (pattern)\n    return new URL(StringPrototypeReplace(resolved.href, patternRegEx,\n                                          subpath));\n  return new URL(subpath, resolved);\n}\n\n/**\n * @param {string} key\n * @returns {boolean}\n */\nfunction isArrayIndex(key) {\n  const keyNum = +key;\n  if (`${keyNum}` !== key) return false;\n  return keyNum >= 0 && keyNum < 0xFFFF_FFFF;\n}\n\nfunction resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath,\n                              base, pattern, internal, conditions) {\n  if (typeof target === 'string') {\n    return resolvePackageTargetString(\n      target, subpath, packageSubpath, packageJSONUrl, base, pattern, internal,\n      conditions);\n  } else if (ArrayIsArray(target)) {\n    if (target.length === 0)\n      return null;\n\n    let lastException;\n    for (let i = 0; i < target.length; i++) {\n      const targetItem = target[i];\n      let resolved;\n      try {\n        resolved = resolvePackageTarget(\n          packageJSONUrl, targetItem, subpath, packageSubpath, base, pattern,\n          internal, conditions);\n      } catch (e) {\n        lastException = e;\n        if (e.code === 'ERR_INVALID_PACKAGE_TARGET')\n          continue;\n        throw e;\n      }\n      if (resolved === undefined)\n        continue;\n      if (resolved === null) {\n        lastException = null;\n        continue;\n      }\n      return resolved;\n    }\n    if (lastException === undefined || lastException === null)\n      return lastException;\n    throw lastException;\n  } else if (typeof target === 'object' && target !== null) {\n    const keys = ObjectGetOwnPropertyNames(target);\n    for (let i = 0; i < keys.length; i++) {\n      const key = keys[i];\n      if (isArrayIndex(key)) {\n        throw new ERR_INVALID_PACKAGE_CONFIG(\n          fileURLToPath(packageJSONUrl), base,\n          '\"exports\" cannot contain numeric property keys.');\n      }\n    }\n    for (let i = 0; i < keys.length; i++) {\n      const key = keys[i];\n      if (key === 'default' || conditions.has(key)) {\n        const conditionalTarget = target[key];\n        const resolved = resolvePackageTarget(\n          packageJSONUrl, conditionalTarget, subpath, packageSubpath, base,\n          pattern, internal, conditions);\n        if (resolved === undefined)\n          continue;\n        return resolved;\n      }\n    }\n    return undefined;\n  } else if (target === null) {\n    return null;\n  }\n  throwInvalidPackageTarget(packageSubpath, target, packageJSONUrl, internal,\n                            base);\n}\n\nfunction isConditionalExportsMainSugar(exports, packageJSONUrl, base) {\n  if (typeof exports === 'string' || ArrayIsArray(exports)) return true;\n  if (typeof exports !== 'object' || exports === null) return false;\n\n  const keys = ObjectGetOwnPropertyNames(exports);\n  let isConditionalSugar = false;\n  let i = 0;\n  for (let j = 0; j < keys.length; j++) {\n    const key = keys[j];\n    const curIsConditionalSugar = key === '' || key[0] !== '.';\n    if (i++ === 0) {\n      isConditionalSugar = curIsConditionalSugar;\n    } else if (isConditionalSugar !== curIsConditionalSugar) {\n      throw new ERR_INVALID_PACKAGE_CONFIG(\n        fileURLToPath(packageJSONUrl), base,\n        '\"exports\" cannot contain some keys starting with \\'.\\' and some not.' +\n        ' The exports object must either be an object of package subpath keys' +\n        ' or an object of main entry condition name keys only.');\n    }\n  }\n  return isConditionalSugar;\n}\n\n/**\n * @param {URL} packageJSONUrl\n * @param {string} packageSubpath\n * @param {object} packageConfig\n * @param {string} base\n * @param {Set<string>} conditions\n * @returns {{resolved: URL, exact: boolean}}\n */\nfunction packageExportsResolve(\n  packageJSONUrl, packageSubpath, packageConfig, base, conditions) {\n  let exports = packageConfig.exports;\n  if (isConditionalExportsMainSugar(exports, packageJSONUrl, base))\n    exports = { '.': exports };\n\n  if (ObjectPrototypeHasOwnProperty(exports, packageSubpath)) {\n    const target = exports[packageSubpath];\n    const resolved = resolvePackageTarget(\n      packageJSONUrl, target, '', packageSubpath, base, false, false, conditions\n    );\n    if (resolved === null || resolved === undefined)\n      throwExportsNotFound(packageSubpath, packageJSONUrl, base);\n    return { resolved, exact: true };\n  }\n\n  let bestMatch = '';\n  const keys = ObjectGetOwnPropertyNames(exports);\n  for (let i = 0; i < keys.length; i++) {\n    const key = keys[i];\n    if (key[key.length - 1] === '*' &&\n        StringPrototypeStartsWith(packageSubpath,\n                                  StringPrototypeSlice(key, 0, -1)) &&\n        packageSubpath.length >= key.length &&\n        key.length > bestMatch.length) {\n      bestMatch = key;\n    } else if (key[key.length - 1] === '/' &&\n      StringPrototypeStartsWith(packageSubpath, key) &&\n      key.length > bestMatch.length) {\n      bestMatch = key;\n    }\n  }\n\n  if (bestMatch) {\n    const target = exports[bestMatch];\n    const pattern = bestMatch[bestMatch.length - 1] === '*';\n    const subpath = StringPrototypeSubstr(packageSubpath, bestMatch.length -\n      (pattern ? 1 : 0));\n    const resolved = resolvePackageTarget(packageJSONUrl, target, subpath,\n                                          bestMatch, base, pattern, false,\n                                          conditions);\n    if (resolved === null || resolved === undefined)\n      throwExportsNotFound(packageSubpath, packageJSONUrl, base);\n    if (!pattern)\n      emitFolderMapDeprecation(bestMatch, packageJSONUrl, true, base);\n    return { resolved, exact: pattern };\n  }\n\n  throwExportsNotFound(packageSubpath, packageJSONUrl, base);\n}\n\nfunction packageImportsResolve(name, base, conditions) {\n  if (name === '#' || StringPrototypeStartsWith(name, '#/')) {\n    const reason = 'is not a valid internal imports specifier name';\n    throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath(base));\n  }\n  let packageJSONUrl;\n  const packageConfig = getPackageScopeConfig(base);\n  if (packageConfig.exists) {\n    packageJSONUrl = pathToFileURL(packageConfig.pjsonPath);\n    const imports = packageConfig.imports;\n    if (imports) {\n      if (ObjectPrototypeHasOwnProperty(imports, name)) {\n        const resolved = resolvePackageTarget(\n          packageJSONUrl, imports[name], '', name, base, false, true, conditions\n        );\n        if (resolved !== null)\n          return { resolved, exact: true };\n      } else {\n        let bestMatch = '';\n        const keys = ObjectGetOwnPropertyNames(imports);\n        for (let i = 0; i < keys.length; i++) {\n          const key = keys[i];\n          if (key[key.length - 1] === '*' &&\n              StringPrototypeStartsWith(name,\n                                        StringPrototypeSlice(key, 0, -1)) &&\n              name.length >= key.length &&\n              key.length > bestMatch.length) {\n            bestMatch = key;\n          } else if (key[key.length - 1] === '/' &&\n            StringPrototypeStartsWith(name, key) &&\n            key.length > bestMatch.length) {\n            bestMatch = key;\n          }\n        }\n\n        if (bestMatch) {\n          const target = imports[bestMatch];\n          const pattern = bestMatch[bestMatch.length - 1] === '*';\n          const subpath = StringPrototypeSubstr(name, bestMatch.length -\n            (pattern ? 1 : 0));\n          const resolved = resolvePackageTarget(\n            packageJSONUrl, target, subpath, bestMatch, base, pattern, true,\n            conditions);\n          if (resolved !== null) {\n            if (!pattern)\n              emitFolderMapDeprecation(bestMatch, packageJSONUrl, false, base);\n            return { resolved, exact: pattern };\n          }\n        }\n      }\n    }\n  }\n  throwImportNotDefined(name, packageJSONUrl, base);\n}\n\nfunction getPackageType(url) {\n  const packageConfig = getPackageScopeConfig(url);\n  return packageConfig.type;\n}\n\nfunction parsePackageName(specifier, base) {\n  let separatorIndex = StringPrototypeIndexOf(specifier, '/');\n  let validPackageName = true;\n  let isScoped = false;\n  if (specifier[0] === '@') {\n    isScoped = true;\n    if (separatorIndex === -1 || specifier.length === 0) {\n      validPackageName = false;\n    } else {\n      separatorIndex = StringPrototypeIndexOf(\n        specifier, '/', separatorIndex + 1);\n    }\n  }\n\n  const packageName = separatorIndex === -1 ?\n    specifier : StringPrototypeSlice(specifier, 0, separatorIndex);\n\n  // Package name cannot have leading . and cannot have percent-encoding or\n  // separators.\n  for (let i = 0; i < packageName.length; i++) {\n    if (packageName[i] === '%' || packageName[i] === '\\\\') {\n      validPackageName = false;\n      break;\n    }\n  }\n\n  if (!validPackageName) {\n    throw new ERR_INVALID_MODULE_SPECIFIER(\n      specifier, 'is not a valid package name', fileURLToPath(base));\n  }\n\n  const packageSubpath = '.' + (separatorIndex === -1 ? '' :\n    StringPrototypeSlice(specifier, separatorIndex));\n\n  return { packageName, packageSubpath, isScoped };\n}\n\n/**\n * @param {string} specifier\n * @param {URL} base\n * @param {Set<string>} conditions\n * @returns {URL}\n */\nfunction packageResolve(specifier, base, conditions) {\n  const { packageName, packageSubpath, isScoped } =\n    parsePackageName(specifier, base);\n\n  // ResolveSelf\n  const packageConfig = getPackageScopeConfig(base);\n  if (packageConfig.exists) {\n    const packageJSONUrl = pathToFileURL(packageConfig.pjsonPath);\n    if (packageConfig.name === packageName &&\n        packageConfig.exports !== undefined && packageConfig.exports !== null) {\n      return packageExportsResolve(\n        packageJSONUrl, packageSubpath, packageConfig, base, conditions\n      ).resolved;\n    }\n  }\n\n  let packageJSONUrl =\n    new URL('./node_modules/' + packageName + '/package.json', base);\n  let packageJSONPath = fileURLToPath(packageJSONUrl);\n  let lastPath;\n  do {\n    const stat = tryStatSync(StringPrototypeSlice(packageJSONPath, 0,\n                                                  packageJSONPath.length - 13));\n    if (!stat.isDirectory()) {\n      lastPath = packageJSONPath;\n      packageJSONUrl = new URL((isScoped ?\n        '../../../../node_modules/' : '../../../node_modules/') +\n        packageName + '/package.json', packageJSONUrl);\n      packageJSONPath = fileURLToPath(packageJSONUrl);\n      continue;\n    }\n\n    // Package match.\n    const packageConfig = getPackageConfig(packageJSONPath, specifier, base);\n    if (packageConfig.exports !== undefined && packageConfig.exports !== null)\n      return packageExportsResolve(\n        packageJSONUrl, packageSubpath, packageConfig, base, conditions\n      ).resolved;\n    if (packageSubpath === '.')\n      return legacyMainResolve(packageJSONUrl, packageConfig, base);\n    return new URL(packageSubpath, packageJSONUrl);\n    // Cross-platform root check.\n  } while (packageJSONPath.length !== lastPath.length);\n\n  // eslint can't handle the above code.\n  // eslint-disable-next-line no-unreachable\n  throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath(base));\n}\n\nfunction isBareSpecifier(specifier) {\n  return specifier[0] && specifier[0] !== '/' && specifier[0] !== '.';\n}\n\nfunction isRelativeSpecifier(specifier) {\n  if (specifier[0] === '.') {\n    if (specifier.length === 1 || specifier[1] === '/') return true;\n    if (specifier[1] === '.') {\n      if (specifier.length === 2 || specifier[2] === '/') return true;\n    }\n  }\n  return false;\n}\n\nfunction shouldBeTreatedAsRelativeOrAbsolutePath(specifier) {\n  if (specifier === '') return false;\n  if (specifier[0] === '/') return true;\n  return isRelativeSpecifier(specifier);\n}\n\n/**\n * @param {string} specifier\n * @param {URL} base\n * @param {Set<string>} conditions\n * @returns {URL}\n */\nfunction moduleResolve(specifier, base, conditions) {\n  // Order swapped from spec for minor perf gain.\n  // Ok since relative URLs cannot parse as URLs.\n  let resolved;\n  if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) {\n    resolved = new URL(specifier, base);\n  } else if (specifier[0] === '#') {\n    ({ resolved } = packageImportsResolve(specifier, base, conditions));\n  } else {\n    try {\n      resolved = new URL(specifier);\n    } catch {\n      resolved = packageResolve(specifier, base, conditions);\n    }\n  }\n  return finalizeResolution(resolved, base);\n}\n\n/**\n * Try to resolve an import as a CommonJS module\n * @param {string} specifier\n * @param {string} parentURL\n * @returns {boolean|string}\n */\nfunction resolveAsCommonJS(specifier, parentURL) {\n  try {\n    const parent = fileURLToPath(parentURL);\n    const tmpModule = new CJSModule(parent, null);\n    tmpModule.paths = CJSModule._nodeModulePaths(parent);\n\n    let found = CJSModule._resolveFilename(specifier, tmpModule, false);\n\n    // If it is a relative specifier return the relative path\n    // to the parent\n    if (isRelativeSpecifier(specifier)) {\n      found = relative(parent, found);\n      // Add '.separator if the path does not start with '..separator'\n      // This should be a safe assumption because when loading\n      // esm modules there should be always a file specified so\n      // there should not be a specifier like '..' or '.'\n      if (!StringPrototypeStartsWith(found, `..${sep}`)) {\n        found = `.${sep}${found}`;\n      }\n    } else if (isBareSpecifier(specifier)) {\n      // If it is a bare specifier return the relative path within the\n      // module\n      const pkg = StringPrototypeSplit(specifier, '/')[0];\n      const index = StringPrototypeIndexOf(found, pkg);\n      if (index !== -1) {\n        found = StringPrototypeSlice(found, index);\n      }\n    }\n    // Normalize the path separator to give a valid suggestion\n    // on Windows\n    if (process.platform === 'win32') {\n      found = StringPrototypeReplace(found, new RegExp(`\\\\${sep}`, 'g'), '/');\n    }\n    return found;\n  } catch {\n    return false;\n  }\n}\n\nfunction defaultResolve(specifier, context = {}, defaultResolveUnused) {\n  let { parentURL, conditions } = context;\n  if (parentURL && policy != null && policy.manifest) {\n    const redirects = policy.manifest.getDependencyMapper(parentURL);\n    if (redirects) {\n      const { resolve, reaction } = redirects;\n      const destination = resolve(specifier, new SafeSet(conditions));\n      let missing = true;\n      if (destination === true) {\n        missing = false;\n      } else if (destination) {\n        const href = destination.href;\n        return { url: href };\n      }\n      if (missing) {\n        reaction(new ERR_MANIFEST_DEPENDENCY_MISSING(\n          parentURL,\n          specifier,\n          ArrayPrototypeJoin([...conditions], ', '))\n        );\n      }\n    }\n  }\n  let parsed;\n  try {\n    parsed = new URL(specifier);\n    if (parsed.protocol === 'data:') {\n      return {\n        url: specifier\n      };\n    }\n  } catch {}\n  if (parsed && parsed.protocol === builtinModuleProtocol)\n    return { url: specifier };\n  if (parsed && parsed.protocol !== 'file:' && parsed.protocol !== 'data:')\n    throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(parsed);\n  if (NativeModule.canBeRequiredByUsers(specifier)) {\n    return {\n      url: builtinModuleProtocol + specifier\n    };\n  }\n  if (parentURL && StringPrototypeStartsWith(parentURL, 'data:')) {\n    // This is gonna blow up, we want the error\n    new URL(specifier, parentURL);\n  }\n\n  const isMain = parentURL === undefined;\n  if (isMain) {\n    parentURL = pathToFileURL(`${process.cwd()}/`).href;\n\n    // This is the initial entry point to the program, and --input-type has\n    // been passed as an option; but --input-type can only be used with\n    // --eval, --print or STDIN string input. It is not allowed with file\n    // input, to avoid user confusion over how expansive the effect of the\n    // flag should be (i.e. entry point only, package scope surrounding the\n    // entry point, etc.).\n    if (typeFlag)\n      throw new ERR_INPUT_TYPE_NOT_ALLOWED();\n  }\n\n  conditions = getConditionsSet(conditions);\n  let url;\n  try {\n    url = moduleResolve(specifier, parentURL, conditions);\n  } catch (error) {\n    // Try to give the user a hint of what would have been the\n    // resolved CommonJS module\n    if (error.code === 'ERR_MODULE_NOT_FOUND' ||\n        error.code === 'ERR_UNSUPPORTED_DIR_IMPORT') {\n      if (StringPrototypeStartsWith(specifier, 'file://')) {\n        specifier = fileURLToPath(specifier);\n      }\n      const found = resolveAsCommonJS(specifier, parentURL);\n      if (found) {\n        // Modify the stack and message string to include the hint\n        const lines = StringPrototypeSplit(error.stack, '\\n');\n        const hint = `Did you mean to import ${found}?`;\n        error.stack =\n          ArrayPrototypeShift(lines) + '\\n' +\n          hint + '\\n' +\n          ArrayPrototypeJoin(lines, '\\n');\n        error.message += `\\n${hint}`;\n      }\n    }\n    throw error;\n  }\n\n  if (isMain ? !preserveSymlinksMain : !preserveSymlinks) {\n    const urlPath = fileURLToPath(url);\n    const real = realpathSync(urlPath, {\n      // [internalFS.realpathCacheKey]: realpathCache\n    });\n    const old = url;\n    url = pathToFileURL(\n      real + (StringPrototypeEndsWith(urlPath, sep) ? '/' : ''));\n    url.search = old.search;\n    url.hash = old.hash;\n  }\n\n  return { url: `${url}` };\n}\n\nreturn {\n  DEFAULT_CONDITIONS,\n  defaultResolve,\n  encodedSepRegEx,\n  getPackageType,\n  packageExportsResolve,\n  packageImportsResolve\n};\n}\nmodule.exports = {\n  createResolve\n};\n"
  },
  {
    "path": "dist-raw/node-internal-modules-package_json_reader.js",
    "content": "// copied from https://github.com/nodejs/node/blob/v15.3.0/lib/internal/modules/package_json_reader.js\n'use strict';\n\nconst { SafeMap } = require('./node-primordials');\nconst { internalModuleReadJSON } = require('./node-internalBinding-fs');\nconst { pathToFileURL } = require('url');\nconst { toNamespacedPath } = require('path');\n// const { getOptionValue } = require('./node-options');\n\nconst cache = new SafeMap();\n\nlet manifest;\n\n/**\n * @param {string} jsonPath\n * @return {{string: string, containsKeys: boolean}}\n */\nfunction read(jsonPath) {\n  if (cache.has(jsonPath)) {\n    return cache.get(jsonPath);\n  }\n\n  const [string, containsKeys] = internalModuleReadJSON(\n    toNamespacedPath(jsonPath)\n  );\n  const result = { string, containsKeys };\n  if (string !== undefined) {\n    if (manifest === undefined) {\n      // manifest = getOptionValue('--experimental-policy') ?\n      //   require('internal/process/policy').manifest :\n      //   null;\n      // disabled for now.  I am not sure if/how we should support this\n      manifest = null;\n    }\n    if (manifest !== null) {\n      const jsonURL = pathToFileURL(jsonPath);\n      manifest.assertIntegrity(jsonURL, string);\n    }\n  }\n  cache.set(jsonPath, result);\n  return result;\n}\n\nmodule.exports = { read };\n"
  },
  {
    "path": "dist-raw/node-internal-repl-await.js",
    "content": "// copied from https://github.com/nodejs/node/blob/88799930794045795e8abac874730f9eba7e2300/lib/internal/repl/await.js\n'use strict';\n\nconst {\n  ArrayFrom,\n  ArrayPrototypeForEach,\n  ArrayPrototypeIncludes,\n  ArrayPrototypeJoin,\n  ArrayPrototypePop,\n  ArrayPrototypePush,\n  FunctionPrototype,\n  ObjectKeys,\n  RegExpPrototypeSymbolReplace,\n  StringPrototypeEndsWith,\n  StringPrototypeIncludes,\n  StringPrototypeIndexOf,\n  StringPrototypeRepeat,\n  StringPrototypeSplit,\n  StringPrototypeStartsWith,\n  SyntaxError,\n} = require('./node-primordials');\n\nconst parser = require('acorn').Parser;\nconst walk = require('acorn-walk');\nconst { Recoverable } = require('repl');\n\nfunction isTopLevelDeclaration(state) {\n  return state.ancestors[state.ancestors.length - 2] === state.body;\n}\n\nconst noop = FunctionPrototype;\nconst visitorsWithoutAncestors = {\n  ClassDeclaration(node, state, c) {\n    if (isTopLevelDeclaration(state)) {\n      state.prepend(node, `${node.id.name}=`);\n      ArrayPrototypePush(\n        state.hoistedDeclarationStatements,\n        `let ${node.id.name}; `\n      );\n    }\n\n    walk.base.ClassDeclaration(node, state, c);\n  },\n  ForOfStatement(node, state, c) {\n    if (node.await === true) {\n      state.containsAwait = true;\n    }\n    walk.base.ForOfStatement(node, state, c);\n  },\n  FunctionDeclaration(node, state, c) {\n    state.prepend(node, `${node.id.name}=`);\n    ArrayPrototypePush(\n      state.hoistedDeclarationStatements,\n      `var ${node.id.name}; `\n    );\n  },\n  FunctionExpression: noop,\n  ArrowFunctionExpression: noop,\n  MethodDefinition: noop,\n  AwaitExpression(node, state, c) {\n    state.containsAwait = true;\n    walk.base.AwaitExpression(node, state, c);\n  },\n  ReturnStatement(node, state, c) {\n    state.containsReturn = true;\n    walk.base.ReturnStatement(node, state, c);\n  },\n  VariableDeclaration(node, state, c) {\n    const variableKind = node.kind;\n    const isIterableForDeclaration = ArrayPrototypeIncludes(\n      ['ForOfStatement', 'ForInStatement'],\n      state.ancestors[state.ancestors.length - 2].type\n    );\n\n    if (variableKind === 'var' || isTopLevelDeclaration(state)) {\n      state.replace(\n        node.start,\n        node.start + variableKind.length + (isIterableForDeclaration ? 1 : 0),\n        variableKind === 'var' && isIterableForDeclaration ?\n          '' :\n          'void' + (node.declarations.length === 1 ? '' : ' (')\n      );\n\n      if (!isIterableForDeclaration) {\n        ArrayPrototypeForEach(node.declarations, (decl) => {\n          state.prepend(decl, '(');\n          state.append(decl, decl.init ? ')' : '=undefined)');\n        });\n\n        if (node.declarations.length !== 1) {\n          state.append(node.declarations[node.declarations.length - 1], ')');\n        }\n      }\n\n      const variableIdentifiersToHoist = [\n        ['var', []],\n        ['let', []],\n      ];\n      function registerVariableDeclarationIdentifiers(node) {\n        switch (node.type) {\n          case 'Identifier':\n            ArrayPrototypePush(\n              variableIdentifiersToHoist[variableKind === 'var' ? 0 : 1][1],\n              node.name\n            );\n            break;\n          case 'ObjectPattern':\n            ArrayPrototypeForEach(node.properties, (property) => {\n              registerVariableDeclarationIdentifiers(property.value);\n            });\n            break;\n          case 'ArrayPattern':\n            ArrayPrototypeForEach(node.elements, (element) => {\n              registerVariableDeclarationIdentifiers(element);\n            });\n            break;\n        }\n      }\n\n      ArrayPrototypeForEach(node.declarations, (decl) => {\n        registerVariableDeclarationIdentifiers(decl.id);\n      });\n\n      ArrayPrototypeForEach(\n        variableIdentifiersToHoist,\n        ({ 0: kind, 1: identifiers }) => {\n          if (identifiers.length > 0) {\n            ArrayPrototypePush(\n              state.hoistedDeclarationStatements,\n              `${kind} ${ArrayPrototypeJoin(identifiers, ', ')}; `\n            );\n          }\n        }\n      );\n    }\n\n    walk.base.VariableDeclaration(node, state, c);\n  }\n};\n\nconst visitors = {};\nfor (const nodeType of ObjectKeys(walk.base)) {\n  const callback = visitorsWithoutAncestors[nodeType] || walk.base[nodeType];\n  visitors[nodeType] = (node, state, c) => {\n    const isNew = node !== state.ancestors[state.ancestors.length - 1];\n    if (isNew) {\n      ArrayPrototypePush(state.ancestors, node);\n    }\n    callback(node, state, c);\n    if (isNew) {\n      ArrayPrototypePop(state.ancestors);\n    }\n  };\n}\n\nfunction processTopLevelAwait(src) {\n  const wrapPrefix = '(async () => { ';\n  const wrapped = `${wrapPrefix}${src} })()`;\n  const wrappedArray = ArrayFrom(wrapped);\n  let root;\n  try {\n    root = parser.parse(wrapped, { ecmaVersion: 'latest' });\n  } catch (e) {\n    if (StringPrototypeStartsWith(e.message, 'Unterminated '))\n      throw new Recoverable(e);\n    // If the parse error is before the first \"await\", then use the execution\n    // error. Otherwise we must emit this parse error, making it look like a\n    // proper syntax error.\n    const awaitPos = StringPrototypeIndexOf(src, 'await');\n    const errPos = e.pos - wrapPrefix.length;\n    if (awaitPos > errPos)\n      return null;\n    // Convert keyword parse errors on await into their original errors when\n    // possible.\n    if (errPos === awaitPos + 6 &&\n        StringPrototypeIncludes(e.message, 'Expecting Unicode escape sequence'))\n      return null;\n    if (errPos === awaitPos + 7 &&\n        StringPrototypeIncludes(e.message, 'Unexpected token'))\n      return null;\n    const line = e.loc.line;\n    const column = line === 1 ? e.loc.column - wrapPrefix.length : e.loc.column;\n    let message = '\\n' + StringPrototypeSplit(src, '\\n')[line - 1] + '\\n' +\n        StringPrototypeRepeat(' ', column) +\n        '^\\n\\n' + RegExpPrototypeSymbolReplace(/ \\([^)]+\\)/, e.message, '');\n    // V8 unexpected token errors include the token string.\n    if (StringPrototypeEndsWith(message, 'Unexpected token'))\n      message += \" '\" +\n        // Wrapper end may cause acorn to report error position after the source\n        ((src.length - 1) >= (e.pos - wrapPrefix.length)\n          ? src[e.pos - wrapPrefix.length]\n          : src[src.length - 1]) +\n        \"'\";\n    // eslint-disable-next-line no-restricted-syntax\n    throw new SyntaxError(message);\n  }\n  const body = root.body[0].expression.callee.body;\n  const state = {\n    body,\n    ancestors: [],\n    hoistedDeclarationStatements: [],\n    replace(from, to, str) {\n      for (let i = from; i < to; i++) {\n        wrappedArray[i] = '';\n      }\n      if (from === to) str += wrappedArray[from];\n      wrappedArray[from] = str;\n    },\n    prepend(node, str) {\n      wrappedArray[node.start] = str + wrappedArray[node.start];\n    },\n    append(node, str) {\n      wrappedArray[node.end - 1] += str;\n    },\n    containsAwait: false,\n    containsReturn: false\n  };\n\n  walk.recursive(body, state, visitors);\n\n  // Do not transform if\n  // 1. False alarm: there isn't actually an await expression.\n  // 2. There is a top-level return, which is not allowed.\n  if (!state.containsAwait || state.containsReturn) {\n    return null;\n  }\n\n  const last = body.body[body.body.length - 1];\n  if (last.type === 'ExpressionStatement') {\n    // For an expression statement of the form\n    // ( expr ) ;\n    // ^^^^^^^^^^   // last\n    //   ^^^^       // last.expression\n    //\n    // We do not want the left parenthesis before the `return` keyword;\n    // therefore we prepend the `return (` to `last`.\n    //\n    // On the other hand, we do not want the right parenthesis after the\n    // semicolon. Since there can only be more right parentheses between\n    // last.expression.end and the semicolon, appending one more to\n    // last.expression should be fine.\n    state.prepend(last, 'return (');\n    state.append(last.expression, ')');\n  }\n\n  return (\n    ArrayPrototypeJoin(state.hoistedDeclarationStatements, '') +\n    ArrayPrototypeJoin(wrappedArray, '')\n  );\n}\n\nmodule.exports = {\n  processTopLevelAwait\n};\n"
  },
  {
    "path": "dist-raw/node-internalBinding-fs.js",
    "content": "const fs = require('fs');\nconst {versionGteLt} = require('../dist/util');\n\n// In node's core, this is implemented in C\n// https://github.com/nodejs/node/blob/v15.3.0/src/node_file.cc#L891-L985\n/**\n * @param {string} path\n * @returns {[] | [string, boolean]}\n */\nfunction internalModuleReadJSON(path) {\n  let string\n  try {\n    string = fs.readFileSync(path, 'utf8')\n  } catch (e) {\n    if (e.code === 'ENOENT') return []\n    throw e\n  }\n  // Node's implementation checks for the presence of relevant keys: main, name, type, exports, imports\n  // Node does this for performance to skip unnecessary parsing.\n  // This would slow us down and, based on our usage, we can skip it.\n  const containsKeys = true\n  return [string, containsKeys]\n}\n\n// In node's core, this is implemented in C\n// https://github.com/nodejs/node/blob/63e7dc1e5c71b70c80ed9eda230991edb00811e2/src/node_file.cc#L987-L1005\n/**\n * @param {string} path\n * @returns {number} 0 = file, 1 = dir, negative = error\n */\nfunction internalModuleStat(path) {\n  const stat = fs.statSync(path, { throwIfNoEntry: false });\n  if(!stat) return -1;\n  if(stat.isFile()) return 0;\n  if(stat.isDirectory()) return 1;\n}\n\n/**\n * @param {string} path\n * @returns {number} 0 = file, 1 = dir, negative = error\n */\nfunction internalModuleStatInefficient(path) {\n  try {\n    const stat = fs.statSync(path);\n    if(stat.isFile()) return 0;\n    if(stat.isDirectory()) return 1;\n  } catch(e) {\n    return -e.errno || -1;\n  }\n}\n\nconst statSupportsThrowIfNoEntry = versionGteLt(process.versions.node, '15.3.0') ||\n  versionGteLt(process.versions.node, '14.17.0', '15.0.0');\n\nmodule.exports = {\n  internalModuleReadJSON,\n  internalModuleStat: statSupportsThrowIfNoEntry ? internalModuleStat : internalModuleStatInefficient\n};\n"
  },
  {
    "path": "dist-raw/node-nativemodule.js",
    "content": "\n// Node imports this from 'internal/bootstrap/loaders'\nconst Module = require('module');\nconst NativeModule = {\n  canBeRequiredByUsers(specifier) {\n    return Module.builtinModules.includes(specifier)\n  }\n};\nexports.NativeModule = NativeModule;\n"
  },
  {
    "path": "dist-raw/node-options.js",
    "content": "// Replacement for node's internal 'internal/options' module\n\nexports.getOptionValue = getOptionValue;\nfunction getOptionValue(opt) {\n  parseOptions();\n  return options[opt];\n}\n\nlet options;\nfunction parseOptions() {\n  if (!options) {\n    options = {\n      '--preserve-symlinks': false,\n      '--preserve-symlinks-main': false,\n      '--input-type': undefined,\n      '--experimental-specifier-resolution': 'explicit',\n      '--experimental-policy': undefined,\n      '--conditions': [],\n      '--pending-deprecation': false,\n      ...parseArgv(getNodeOptionsEnvArgv()),\n      ...parseArgv(process.execArgv),\n      ...getOptionValuesFromOtherEnvVars()\n    }\n  }\n}\n\nfunction parseArgv(argv) {\n  return require('arg')({\n    '--preserve-symlinks': Boolean,\n    '--preserve-symlinks-main': Boolean,\n    '--input-type': String,\n    '--experimental-specifier-resolution': String,\n    '--experimental-policy': String,\n    '--conditions': [String],\n    '--pending-deprecation': Boolean,\n    '--experimental-json-modules': Boolean,\n    '--experimental-wasm-modules': Boolean,\n  }, {\n    argv,\n    permissive: true\n  });\n}\n\nfunction getNodeOptionsEnvArgv() {\n  const errors = [];\n  const envArgv = ParseNodeOptionsEnvVar(process.env.NODE_OPTIONS || '', errors);\n  if (errors.length !== 0) {\n    // TODO: handle errors somehow\n  }\n  return envArgv;\n}\n\n// Direct JS port of C implementation: https://github.com/nodejs/node/blob/67ba825037b4082d5d16f922fb9ce54516b4a869/src/node_options.cc#L1024-L1063\nfunction ParseNodeOptionsEnvVar(node_options, errors) {\n  const env_argv = [];\n\n  let is_in_string = false;\n  let will_start_new_arg = true;\n  for (let index = 0; index < node_options.length; ++index) {\n      let c = node_options[index];\n\n      // Backslashes escape the following character\n      if (c === '\\\\' && is_in_string) {\n          if (index + 1 === node_options.length) {\n              errors.push(\"invalid value for NODE_OPTIONS \" +\n                  \"(invalid escape)\\n\");\n              return env_argv;\n          } else {\n              c = node_options[++index];\n          }\n      } else if (c === ' ' && !is_in_string) {\n          will_start_new_arg = true;\n          continue;\n      } else if (c === '\"') {\n          is_in_string = !is_in_string;\n          continue;\n      }\n\n      if (will_start_new_arg) {\n          env_argv.push(c);\n          will_start_new_arg = false;\n      } else {\n          env_argv[env_argv.length - 1] += c;\n      }\n  }\n\n  if (is_in_string) {\n      errors.push(\"invalid value for NODE_OPTIONS \" +\n          \"(unterminated string)\\n\");\n  }\n  return env_argv;\n}\n\n// Get option values that can be specified via env vars besides NODE_OPTIONS\nfunction getOptionValuesFromOtherEnvVars() {\n  const options = {};\n  if(process.env.NODE_PENDING_DEPRECATION === '1') {\n    options['--pending-deprecation'] = true;\n  }\n  return options;\n}\n"
  },
  {
    "path": "dist-raw/node-primordials.js",
    "content": "module.exports = {\n  ArrayFrom: Array.from,\n  ArrayIsArray: Array.isArray,\n  ArrayPrototypeShift: (obj) => Array.prototype.shift.call(obj),\n  ArrayPrototypeForEach: (arr, ...rest) => Array.prototype.forEach.apply(arr, rest),\n  ArrayPrototypeIncludes: (arr, ...rest) => Array.prototype.includes.apply(arr, rest),\n  ArrayPrototypeJoin: (arr, ...rest) => Array.prototype.join.apply(arr, rest),\n  ArrayPrototypePop: (arr, ...rest) => Array.prototype.pop.apply(arr, rest),\n  ArrayPrototypePush: (arr, ...rest) => Array.prototype.push.apply(arr, rest),\n  FunctionPrototype: Function.prototype,\n  JSONParse: JSON.parse,\n  JSONStringify: JSON.stringify,\n  ObjectFreeze: Object.freeze,\n  ObjectKeys: Object.keys,\n  ObjectGetOwnPropertyNames: Object.getOwnPropertyNames,\n  ObjectDefineProperty: Object.defineProperty,\n  ObjectPrototypeHasOwnProperty: (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop),\n  RegExpPrototypeExec: (obj, string) => RegExp.prototype.exec.call(obj, string),\n  RegExpPrototypeTest: (obj, string) => RegExp.prototype.test.call(obj, string),\n  RegExpPrototypeSymbolReplace: (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest),\n  SafeMap: Map,\n  SafeSet: Set,\n  SafeWeakMap: WeakMap,\n  StringPrototypeEndsWith: (str, ...rest) => String.prototype.endsWith.apply(str, rest),\n  StringPrototypeIncludes: (str, ...rest) => String.prototype.includes.apply(str, rest),\n  StringPrototypeLastIndexOf: (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest),\n  StringPrototypeIndexOf: (str, ...rest) => String.prototype.indexOf.apply(str, rest),\n  StringPrototypeRepeat: (str, ...rest) => String.prototype.repeat.apply(str, rest),\n  StringPrototypeReplace: (str, ...rest) => String.prototype.replace.apply(str, rest),\n  StringPrototypeSlice: (str, ...rest) => String.prototype.slice.apply(str, rest),\n  StringPrototypeSplit: (str, ...rest) => String.prototype.split.apply(str, rest),\n  StringPrototypeStartsWith: (str, ...rest) => String.prototype.startsWith.apply(str, rest),\n  StringPrototypeSubstr: (str, ...rest) => String.prototype.substr.apply(str, rest),\n  StringPrototypeCharCodeAt: (str, ...rest) => String.prototype.charCodeAt.apply(str, rest),\n  StringPrototypeMatch: (str, ...rest) => String.prototype.match.apply(str, rest),\n  SyntaxError: SyntaxError\n};\n"
  },
  {
    "path": "dist-raw/runmain-hack.js",
    "content": "const {pathToFileURL} = require('url');\n\n// Hack to avoid Module.runMain on node 18.6.0\n// Keeping it simple for now, isolated in this file.\n// Could theoretically probe `getFormat` impl to determine if `import()` or `Module._load()` is best\n// Note that I attempted a try-catch around `Module._load`, but it poisons some sort of cache such that subsequent `import()` is impossible.\nexports.run = function(entryPointPath) {\n  import(pathToFileURL(entryPointPath));\n}\n"
  },
  {
    "path": "dprint.json",
    "content": "{\n  \"incremental\": true,\n  \"lineWidth\": 120,\n  \"prettier\": {\n    \"associations\": [\n      \"**/*.{ts,tsx,js,mjs,cjs,jsx,json,md}\"\n    ],\n    \"singleQuote\": true\n  },\n  // Run `dprint output-file-paths` to see which files are being matched\n  \"includes\": [\n    \"/*.{js,mjs}\",\n    \"/esm/**\",\n    \"/register/**\",\n    \"/scripts/**\",\n    \"/src/**\",\n    \"/tests/**\",\n    \"/website/**\"\n  ],\n  \"excludes\": [\n    \"/website/.docusaurus\",\n    \"/website/build\",\n    \"/website/docs\",\n    \"/website/readme-sources\",\n    \"/website/static\",\n    \"tests/main-realpath/symlink/tsconfig.json\",\n    \"tests/throw error.ts\",\n    \"tests/throw error react tsx.tsx\",\n    \"tests/esm/throw error.ts\",\n    \"tests/legacy-source-map-support-interop/index.ts\",\n    \"tests/main-realpath/symlink/symlink.tsx\",\n    \"tests/tmp\"\n  ],\n  \"plugins\": [\n    \"https://plugins.dprint.dev/prettier-0.6.2.exe-plugin@36dd4f8b9710ab323c471017ecd00a20cf1dca2728c12242c7dabb8dfacad0e2\"\n  ]\n}\n"
  },
  {
    "path": "esm/transpile-only.mjs",
    "content": "import { fileURLToPath } from 'url';\nimport { createRequire } from 'module';\nconst require = createRequire(fileURLToPath(import.meta.url));\n\n/** @type {import('../dist/esm')} */\nconst esm = require('../dist/esm');\nexport const { resolve, load, getFormat, transformSource } = esm.registerAndCreateEsmHooks({\n  transpileOnly: true,\n});\n"
  },
  {
    "path": "esm-usage-example/README.md",
    "content": "To run the experiment:\n\n```\ncd ./esm-usage-example # Must be in this directory\nnode -v # Must be using node v13\n\n# Install the github branch via npm\nnpm install\nnode --loader ts-node/esm ./index.js\n\n# Or if you're hacking locally\nnode --loader ../esm.mjs ./index\n\n```\n"
  },
  {
    "path": "esm-usage-example/bar.ts",
    "content": "export const bar = 123;\n"
  },
  {
    "path": "esm-usage-example/foo.ts",
    "content": "export const foo = 123;\nexport {bar} from './bar';\n\n"
  },
  {
    "path": "esm-usage-example/index.js",
    "content": "async function main() {\n  const fooModule = await import('./foo.ts');\n  console.dir({foo: fooModule})\n}\nmain()\n"
  },
  {
    "path": "esm-usage-example/package.json",
    "content": "{\n  \"type\": \"module\",\n  \"dependencies\": {\n    \"ts-node\": \"github:TypeStrong/ts-node#main\",\n    \"typescript\": \"^3.8.3\"\n  }\n}\n"
  },
  {
    "path": "esm-usage-example/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\"\n  }\n}\n"
  },
  {
    "path": "esm.mjs",
    "content": "import { fileURLToPath } from 'url';\nimport { createRequire } from 'module';\nconst require = createRequire(fileURLToPath(import.meta.url));\n\n/** @type {import('./dist/esm')} */\nconst esm = require('./dist/esm');\nexport const { resolve, load, getFormat, transformSource } = esm.registerAndCreateEsmHooks();\n"
  },
  {
    "path": "justfile",
    "content": "# I like using `just` instead of `npm run` or `yarn`.\n# If you're like me, this justfile is for you.\n# If you are not, you can safely ignore this file.\n\nset positional-arguments\nexport PATH := justfile_directory() + \"/node_modules/.bin:\" + env_var('PATH')\n\ndefault: test-local\n\nregenerate:\n  #!/usr/bin/env sh\n  node -e '\n    const fs = require(\"fs\");\n    let acc = fs.readFileSync(\"justfile\", \"utf8\").replace(/(# CUT\\n)[\\s\\S]+/, \"$1\\n\");\n    for(const [key, value] of Object.entries(require(\"./package.json\").scripts)) {\n      acc += `${key} *ARGS:\\n  ${value.replace(/(npm run |yarn )/g, \"just \").replace(/ --$/, \"\")} \"$@\"\\n`;\n    }\n    fs.writeFileSync(\"justfile\", acc);\n  '\n\ninstall:\n  yarn\n\nyarn *ARGS:\n  yarn \"$@\"\n\nnode *ARGS:\n  node \"$@\"\n\n# EVERYTHING BELOW THIS LINE IS AUTO-GENERATED FROM PACKAGE.JSON\n# DO NOT MODIFY BY HAND\n\n# CUT\n\nlint *ARGS:\n  dprint check \"$@\"\nfmt *ARGS:\n  dprint fmt \"$@\"\nclean *ARGS:\n  rimraf temp dist tsconfig.schema.json tsconfig.schemastore-schema.json tsconfig.tsbuildinfo tests/ts-node-packed.tgz tests/node_modules tests/tmp \"$@\"\nrebuild *ARGS:\n  just clean && just build \"$@\"\nbuild *ARGS:\n  just build-nopack && just build-pack && just build-manifest \"$@\"\nbuild-nopack *ARGS:\n  just build-tsc && just build-configSchema \"$@\"\nbuild-tsc *ARGS:\n  tsc -b ./tsconfig.build-dist.json \"$@\"\nbuild-configSchema *ARGS:\n  typescript-json-schema --topRef --refs --validationKeywords allOf --out tsconfig.schema.json tsconfig.build-schema.json TsConfigSchema && node --require ./register ./scripts/create-merged-schema \"$@\"\nbuild-pack *ARGS:\n  node ./scripts/build-pack.js \"$@\"\nbuild-manifest *ARGS:\n  node ./scripts/build-manifest.mjs \"$@\"\ntest-spec *ARGS:\n  ava \"$@\"\ntest-cov *ARGS:\n  nyc ava \"$@\"\ntest *ARGS:\n  just build && just lint && just test-cov \"$@\"\ntest-local *ARGS:\n  just fmt && just build-tsc && just build-pack && just test-spec \"$@\"\npre-debug *ARGS:\n  just build-tsc && just build-pack \"$@\"\ncoverage-report *ARGS:\n  nyc report --reporter=lcov \"$@\"\n__prepack_template__ *ARGS:\n  just clean && just build-nopack \"$@\"\nprepack *ARGS:\n  rimraf temp dist tsconfig.schema.json tsconfig.schemastore-schema.json tsconfig.tsbuildinfo tests/ts-node-packed.tgz tests/node_modules tests/tmp && tsc -b ./tsconfig.build-dist.json && typescript-json-schema --topRef --refs --validationKeywords allOf --out tsconfig.schema.json tsconfig.build-schema.json TsConfigSchema && node --require ./register ./scripts/create-merged-schema \"$@\"\nprepare *ARGS:\n  workaround-broken-npm-prepack-behavior prepack \"$@\"\napi-extractor *ARGS:\n  api-extractor run --local --verbose \"$@\"\n"
  },
  {
    "path": "node10/tsconfig.json",
    "content": "{\n  \"extends\": \"@tsconfig/node10/tsconfig.json\"\n}\n"
  },
  {
    "path": "node12/tsconfig.json",
    "content": "{\n  \"extends\": \"@tsconfig/node12/tsconfig.json\",\n}\n"
  },
  {
    "path": "node14/tsconfig.json",
    "content": "{\n  \"extends\": \"@tsconfig/node14/tsconfig.json\"\n}\n"
  },
  {
    "path": "node16/tsconfig.json",
    "content": "{\n  \"extends\": \"@tsconfig/node16/tsconfig.json\"\n}\n"
  },
  {
    "path": "node18/tsconfig.json",
    "content": "{\n  \"extends\": \"@tsconfig/node18/tsconfig.json\"\n}\n"
  },
  {
    "path": "node20/tsconfig.json",
    "content": "{\n  \"extends\": \"@tsconfig/node20/tsconfig.json\"\n}\n"
  },
  {
    "path": "nyc.config.js",
    "content": "module.exports = {\n  all: true,\n  include: ['tests/node_modules/ts-node/**'],\n  exclude: ['**/*.d.ts', 'tests/node_modules/ts-node/node_modules/**'],\n  // Very important that nyc does not add additional `require.extensions` hooks.\n  // It affects module resolution behavior under test\n  extension: ['.js'],\n  excludeNodeModules: false,\n  excludeAfterRemap: false,\n};\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"ts-node\",\n  \"version\": \"11.0.0-beta.1\",\n  \"description\": \"TypeScript execution environment and REPL for node.js, with source map support\",\n  \"main\": \"dist/index.js\",\n  \"exports\": {\n    \".\": \"./dist/index.js\",\n    \"./package\": \"./package.json\",\n    \"./package.json\": \"./package.json\",\n    \"./dist/bin\": \"./dist/bin.js\",\n    \"./dist/bin.js\": \"./dist/bin.js\",\n    \"./dist/bin-transpile\": \"./dist/bin-transpile.js\",\n    \"./dist/bin-transpile.js\": \"./dist/bin-transpile.js\",\n    \"./dist/bin-script\": \"./dist/bin-script.js\",\n    \"./dist/bin-script.js\": \"./dist/bin-script.js\",\n    \"./dist/bin-cwd\": \"./dist/bin-cwd.js\",\n    \"./dist/bin-cwd.js\": \"./dist/bin-cwd.js\",\n    \"./dist/bin-esm\": \"./dist/bin-esm.js\",\n    \"./dist/bin-esm.js\": \"./dist/bin-esm.js\",\n    \"./register\": \"./register/index.js\",\n    \"./register/files\": \"./register/files.js\",\n    \"./register/transpile-only\": \"./register/transpile-only.js\",\n    \"./register/type-check\": \"./register/type-check.js\",\n    \"./esm\": \"./esm.mjs\",\n    \"./esm.mjs\": \"./esm.mjs\",\n    \"./esm/transpile-only\": \"./esm/transpile-only.mjs\",\n    \"./esm/transpile-only.mjs\": \"./esm/transpile-only.mjs\",\n    \"./child-loader.mjs\": \"./child-loader.mjs\",\n    \"./transpilers/swc\": \"./transpilers/swc.js\",\n    \"./transpilers/swc-experimental\": \"./transpilers/swc-experimental.js\",\n    \"./node14/tsconfig.json\": \"./node14/tsconfig.json\",\n    \"./node16/tsconfig.json\": \"./node16/tsconfig.json\",\n    \"./node18/tsconfig.json\": \"./node18/tsconfig.json\",\n    \"./node20/tsconfig.json\": \"./node20/tsconfig.json\"\n  },\n  \"types\": \"dist/index.d.ts\",\n  \"bin\": {\n    \"ts-node\": \"dist/bin.js\",\n    \"ts-node-cwd\": \"dist/bin-cwd.js\",\n    \"ts-node-esm\": \"dist/bin-esm.js\",\n    \"ts-node-script\": \"dist/bin-script.js\",\n    \"ts-node-transpile-only\": \"dist/bin-transpile.js\"\n  },\n  \"files\": [\n    \"/transpilers/\",\n    \"/dist/\",\n    \"!/dist/test\",\n    \"/dist-raw/NODE-LICENSE.md\",\n    \"/dist-raw/**.js\",\n    \"/register/\",\n    \"/esm/\",\n    \"/esm.mjs\",\n    \"/child-loader.mjs\",\n    \"/LICENSE\",\n    \"/tsconfig.schema.json\",\n    \"/tsconfig.schemastore-schema.json\",\n    \"/node14/\",\n    \"/node16/\",\n    \"/node18/\",\n    \"/node20/\"\n  ],\n  \"scripts\": {\n    \"lint\": \"dprint check\",\n    \"fmt\": \"dprint fmt\",\n    \"clean\": \"rimraf temp dist tsconfig.schema.json tsconfig.schemastore-schema.json tsconfig.tsbuildinfo tests/ts-node-packed.tgz tests/node_modules tests/tmp\",\n    \"rebuild\": \"yarn clean && yarn build\",\n    \"build\": \"yarn build-nopack && yarn build-pack && yarn build-manifest\",\n    \"build-nopack\": \"yarn build-tsc && yarn build-configSchema\",\n    \"build-tsc\": \"tsc -b ./tsconfig.build-dist.json\",\n    \"build-configSchema\": \"typescript-json-schema --topRef --refs --validationKeywords allOf --out tsconfig.schema.json tsconfig.build-schema.json TsConfigSchema && node --require ./register ./scripts/create-merged-schema\",\n    \"build-pack\": \"node ./scripts/build-pack.js\",\n    \"build-manifest\": \"node ./scripts/build-manifest.mjs\",\n    \"test-spec\": \"ava\",\n    \"test-cov\": \"nyc ava\",\n    \"test\": \"yarn fmt && yarn build-tsc && yarn build-pack && yarn test-spec\",\n    \"test-full\": \"yarn build && yarn lint && yarn test-cov\",\n    \"pre-debug\": \"yarn build-tsc && yarn build-pack\",\n    \"coverage-report\": \"nyc report --reporter=lcov\",\n    \"__prepack_template__\": \"yarn clean && yarn build-nopack\",\n    \"prepack\": \"node ./scripts/prepack.mjs\",\n    \"prepack-worker\": \"rimraf temp dist tsconfig.schema.json tsconfig.schemastore-schema.json tsconfig.tsbuildinfo tests/ts-node-packed.tgz tests/node_modules tests/tmp && tsc -b ./tsconfig.build-dist.json && typescript-json-schema --topRef --refs --validationKeywords allOf --out tsconfig.schema.json tsconfig.build-schema.json TsConfigSchema && node --require ./register ./scripts/create-merged-schema\",\n    \"prepare\": \"workaround-broken-npm-prepack-behavior prepack\",\n    \"api-extractor\": \"api-extractor run --local --verbose\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git://github.com/TypeStrong/ts-node.git\"\n  },\n  \"keywords\": [\n    \"typescript\",\n    \"node\",\n    \"runtime\",\n    \"environment\",\n    \"ts\",\n    \"compiler\"\n  ],\n  \"author\": {\n    \"name\": \"Blake Embrey\",\n    \"email\": \"hello@blakeembrey.com\",\n    \"url\": \"http://blakeembrey.me\"\n  },\n  \"contributors\": [\n    {\n      \"name\": \"Andrew Bradley\",\n      \"email\": \"cspotcode@gmail.com\",\n      \"url\": \"https://github.com/cspotcode\"\n    }\n  ],\n  \"license\": \"MIT\",\n  \"bugs\": {\n    \"url\": \"https://github.com/TypeStrong/ts-node/issues\"\n  },\n  \"homepage\": \"https://typestrong.org/ts-node\",\n  \"devDependencies\": {\n    \"@TypeStrong/fs-fixture-builder\": \"https://github.com/Typestrong/fs-fixture-builder.git#3099e53621daf99db971af29c96145dc115693cd\",\n    \"@cspotcode/ava-lib\": \"https://github.com/cspotcode/ava-lib#805aab17b2b89c388596b6dc2b4eece403c5fb87\",\n    \"@cspotcode/expect-stream\": \"https://github.com/cspotcode/node-expect-stream#4e425ff1eef240003af8716291e80fbaf3e3ae8f\",\n    \"@microsoft/api-extractor\": \"^7.19.4\",\n    \"@swc/core\": \"1.3.85\",\n    \"@swc/wasm\": \"1.3.85\",\n    \"@types/diff\": \"^4.0.2\",\n    \"@types/lodash\": \"^4.14.151\",\n    \"@types/node\": \"13.13.5\",\n    \"@types/proper-lockfile\": \"^4.1.2\",\n    \"@types/proxyquire\": \"^1.3.28\",\n    \"@types/react\": \"^16.14.19\",\n    \"@types/rimraf\": \"^3.0.0\",\n    \"@types/semver\": \"^7.1.0\",\n    \"ava\": \"^5.1.1\",\n    \"axios\": \"^0.21.1\",\n    \"cross-spawn\": \"^7.0.3\",\n    \"dprint\": \"^0.25.0\",\n    \"expect\": \"27.0.2\",\n    \"lodash\": \"^4.17.15\",\n    \"nyc\": \"^15.0.1\",\n    \"outdent\": \"^0.8.0\",\n    \"proper-lockfile\": \"^4.1.2\",\n    \"proxyquire\": \"^2.0.0\",\n    \"rimraf\": \"^3.0.0\",\n    \"semver\": \"^7.1.3\",\n    \"throat\": \"^6.0.1\",\n    \"typedoc\": \"^0.22.10\",\n    \"typescript\": \"4.7.4\",\n    \"typescript-json-schema\": \"^0.54.0\",\n    \"workaround-broken-npm-prepack-behavior\": \"https://github.com/cspotcode/workaround-broken-npm-prepack-behavior#1a7adbbb8a527784daf97edad6ba42d6e96611f6\"\n  },\n  \"peerDependencies\": {\n    \"@swc/core\": \">=1.3.85\",\n    \"@swc/wasm\": \">=1.3.85\",\n    \"@types/node\": \"*\",\n    \"typescript\": \">=4.4\"\n  },\n  \"peerDependenciesMeta\": {\n    \"@swc/core\": {\n      \"optional\": true\n    },\n    \"@swc/wasm\": {\n      \"optional\": true\n    }\n  },\n  \"dependencies\": {\n    \"@cspotcode/source-map-support\": \"^0.8.0\",\n    \"@tsconfig/node14\": \"*\",\n    \"@tsconfig/node16\": \"*\",\n    \"@tsconfig/node18\": \"*\",\n    \"@tsconfig/node20\": \"*\",\n    \"acorn\": \"^8.4.1\",\n    \"acorn-walk\": \"^8.1.1\",\n    \"arg\": \"^4.1.0\",\n    \"diff\": \"^4.0.1\",\n    \"make-error\": \"^1.1.1\",\n    \"v8-compile-cache-lib\": \"^3.0.1\"\n  },\n  \"prettier\": {\n    \"singleQuote\": true,\n    \"printWidth\": 120\n  },\n  \"volta\": {\n    \"node\": \"18.14.0\",\n    \"npm\": \"6.14.15\"\n  },\n  \"packageManager\": \"yarn@3.4.1\"\n}\n"
  },
  {
    "path": "raw/README.md",
    "content": "See the README.md in `dist-raw`\n"
  },
  {
    "path": "raw/download-and-compare.sh",
    "content": "#!/usr/bin/env bash\nset -euo pipefail\nshopt -s inherit_errexit\n__dirname=\"$(CDPATH= cd \"$(dirname \"${BASH_SOURCE[0]}\")\" && pwd)\"\ncd \"$__dirname\"\n\n# This script serves as helpful documentation for where these files came from.\n\n# TODO augment this script to update esm-resolver-diff branch\n# https://github.com/TypeStrong/ts-node/compare/esm-resolver-diff..main\n\nfunction download() {\n  echo \"// Copied from https://github.com/nodejs/node/blob/$version/$path$ext\"$'\\n' > \"$local-$version$ext\"\n  curl \"https://raw.githubusercontent.com/nodejs/node/$version/$path$ext\" >> \"$local-$version$ext\"\n}\ncompare() {\n  diff \"$local-$version$ext\" \"../dist-raw/$local$ext\" || true\n}\nassertStrippedIsOnlyDeletions() {\n  [ \"$( diff \"$1.js\" \"$1-stripped.js\" | grep -E '^>' )\" = '' ]\n}\n\next=.js\n\n####\n\npath=lib/internal/modules/cjs/loader\nlocal=node-internal-modules-cjs-loader\nversion=v17.0.1\ndownload\n# compare\n\nversion=v15.3.0\ndownload\n# compare\n\nversion=2d5d77306f6dff9110c1f77fefab25f973415770\ndownload\n# compare\n\n####\n\npath=lib/internal/modules/cjs/helpers\nlocal=node-internal-modules-cjs-helpers\nversion=v17.0.1\ndownload\n# compare\n\n####\n\npath=lib/internal/modules/esm/resolve\nlocal=node-internal-modules-esm-resolve\nversion=v13.12.0\ndownload\n# compare\n\nversion=v15.3.0\ndownload\n# compare\n\n####\n\npath=lib/internal/modules/esm/get_format\nlocal=node-internal-modules-esm-get_format\nversion=v15.3.0\ndownload\n# compare\n\n####\n\npath=lib/internal/repl/await\nlocal=node-internal-repl-await\nversion=v17.0.0\ndownload\n# compare\n\nversion=88799930794045795e8abac874730f9eba7e2300\ndownload\n# compare\n\n####\n\npath=lib/internal/modules/package_json_reader\nlocal=node-internal-modules-package_json_reader\nversion=v15.3.0\ndownload\n# compare\n\n####\n\npath=lib/internal/errors\nlocal=node-internal-errors\nversion=2d5d77306f6dff9110c1f77fefab25f973415770\ndownload\n# compare\n\nversion=b533fb3508009e5f567cc776daba8fbf665386a6\ndownload\n# compare\n\n####\n\n# Verify that -stripped.js files have only deletions, no other changes\nset -x\n\nassertStrippedIsOnlyDeletions node-internal-modules-cjs-loader-v15.3.0\nassertStrippedIsOnlyDeletions node-internal-modules-cjs-loader-v17.0.1\nassertStrippedIsOnlyDeletions node-internal-modules-cjs-helpers-v17.0.1\nassertStrippedIsOnlyDeletions node-internal-modules-esm-resolve-v15.3.0\nassertStrippedIsOnlyDeletions node-internal-errors-2d5d77306f6dff9110c1f77fefab25f973415770\nassertStrippedIsOnlyDeletions node-internal-errors-b533fb3508009e5f567cc776daba8fbf665386a6\n"
  },
  {
    "path": "raw/node-internal-errors-2d5d77306f6dff9110c1f77fefab25f973415770-stripped.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/2d5d77306f6dff9110c1f77fefab25f973415770/lib/internal/errors.js\n\n'use strict';\n\nconst codes = {};\n\nfunction makeNodeErrorWithCode(Base, key) {\n  return class NodeError extends Base {\n    constructor(...args) {\n      if (excludedStackFn === undefined) {\n        super();\n      } else {\n        const limit = Error.stackTraceLimit;\n        Error.stackTraceLimit = 0;\n        super();\n        // Reset the limit and setting the name property.\n        Error.stackTraceLimit = limit;\n      }\n      const message = getMessage(key, args, this);\n      ObjectDefineProperty(this, 'message', {\n        value: message,\n        enumerable: false,\n        writable: true,\n        configurable: true\n      });\n      addCodeToName(this, super.name, key);\n      this.code = key;\n    }\n\n    toString() {\n      return `${this.name} [${key}]: ${this.message}`;\n    }\n  };\n}\n\n// Utility function for registering the error codes. Only used here. Exported\n// *only* to allow for testing.\nfunction E(sym, val, def, ...otherClasses) {\n  // Special case for SystemError that formats the error message differently\n  // The SystemErrors only have SystemError as their base classes.\n  messages.set(sym, val);\n  if (def === SystemError) {\n    def = makeSystemErrorWithCode(sym);\n  } else {\n    def = makeNodeErrorWithCode(def, sym);\n  }\n\n  if (otherClasses.length !== 0) {\n    otherClasses.forEach((clazz) => {\n      def[clazz.name] = makeNodeErrorWithCode(clazz, sym);\n    });\n  }\n  codes[sym] = def;\n}\n\nmodule.exports = {\n  addCodeToName, // Exported for NghttpError\n  codes,\n  dnsException,\n  errnoException,\n  exceptionWithHostPort,\n  getMessage,\n  hideStackFrames,\n  isStackOverflowError,\n  connResetException,\n  uvErrmapGet,\n  uvException,\n  uvExceptionWithHostPort,\n  SystemError,\n  // This is exported only to facilitate testing.\n  E,\n  kNoOverride,\n  prepareStackTrace,\n  maybeOverridePrepareStackTrace,\n  overrideStackTrace,\n  kEnhanceStackBeforeInspector,\n  fatalExceptionStackEnhancers\n};\n\nE('ERR_REQUIRE_ESM',\n  (filename, parentPath = null, packageJsonPath = null) => {\n    let msg = `Must use import to load ES Module: ${filename}`;\n    if (parentPath && packageJsonPath) {\n      const path = require('path');\n      const basename = path.basename(filename) === path.basename(parentPath) ?\n        filename : path.basename(filename);\n      msg +=\n        '\\nrequire() of ES modules is not supported.\\nrequire() of ' +\n        `${filename} ${parentPath ? `from ${parentPath} ` : ''}` +\n        'is an ES module file as it is a .js file whose nearest parent ' +\n        'package.json contains \"type\": \"module\" which defines all .js ' +\n        'files in that package scope as ES modules.\\nInstead rename ' +\n        `${basename} to end in .cjs, change the requiring code to use ` +\n        'import(), or remove \"type\": \"module\" from ' +\n        `${packageJsonPath}.\\n`;\n      return msg;\n    }\n    return msg;\n  }, Error);\n"
  },
  {
    "path": "raw/node-internal-errors-2d5d77306f6dff9110c1f77fefab25f973415770.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/2d5d77306f6dff9110c1f77fefab25f973415770/lib/internal/errors.js\n\n/* eslint node-core/documented-errors: \"error\" */\n/* eslint node-core/alphabetize-errors: \"error\" */\n/* eslint node-core/prefer-util-format-errors: \"error\" */\n\n'use strict';\n\n// The whole point behind this internal module is to allow Node.js to no\n// longer be forced to treat every error message change as a semver-major\n// change. The NodeError classes here all expose a `code` property whose\n// value statically and permanently identifies the error. While the error\n// message may change, the code should not.\n\nconst {\n  ArrayIsArray,\n  Error,\n  JSONStringify,\n  Map,\n  MathAbs,\n  NumberIsInteger,\n  ObjectDefineProperty,\n  ObjectKeys,\n  StringPrototypeSlice,\n  StringPrototypeStartsWith,\n  Symbol,\n  SymbolFor,\n  WeakMap,\n} = primordials;\n\nconst sep = process.platform === 'win32' ? '\\\\' : '/';\n\nconst messages = new Map();\nconst codes = {};\n\nconst classRegExp = /^([A-Z][a-z0-9]*)+$/;\n// Sorted by a rough estimate on most frequently used entries.\nconst kTypes = [\n  'string',\n  'function',\n  'number',\n  'object',\n  // Accept 'Function' and 'Object' as alternative to the lower cased version.\n  'Function',\n  'Object',\n  'boolean',\n  'bigint',\n  'symbol'\n];\n\nconst { kMaxLength } = internalBinding('buffer');\n\nconst MainContextError = Error;\nconst ErrorToString = Error.prototype.toString;\nconst overrideStackTrace = new WeakMap();\nconst kNoOverride = Symbol('kNoOverride');\nconst prepareStackTrace = (globalThis, error, trace) => {\n  // API for node internals to override error stack formatting\n  // without interfering with userland code.\n  if (overrideStackTrace.has(error)) {\n    const f = overrideStackTrace.get(error);\n    overrideStackTrace.delete(error);\n    return f(error, trace);\n  }\n\n  const globalOverride =\n    maybeOverridePrepareStackTrace(globalThis, error, trace);\n  if (globalOverride !== kNoOverride) return globalOverride;\n\n  // Normal error formatting:\n  //\n  // Error: Message\n  //     at function (file)\n  //     at file\n  const errorString = ErrorToString.call(error);\n  if (trace.length === 0) {\n    return errorString;\n  }\n  return `${errorString}\\n    at ${trace.join('\\n    at ')}`;\n};\n\nconst maybeOverridePrepareStackTrace = (globalThis, error, trace) => {\n  // Polyfill of V8's Error.prepareStackTrace API.\n  // https://crbug.com/v8/7848\n  // `globalThis` is the global that contains the constructor which\n  // created `error`.\n  if (typeof globalThis.Error.prepareStackTrace === 'function') {\n    return globalThis.Error.prepareStackTrace(error, trace);\n  }\n  // We still have legacy usage that depends on the main context's `Error`\n  // being used, even when the error is from a different context.\n  // TODO(devsnek): evaluate if this can be eventually deprecated/removed.\n  if (typeof MainContextError.prepareStackTrace === 'function') {\n    return MainContextError.prepareStackTrace(error, trace);\n  }\n\n  return kNoOverride;\n};\n\nlet excludedStackFn;\n\n// Lazily loaded\nlet util;\nlet assert;\n\nlet internalUtil = null;\nfunction lazyInternalUtil() {\n  if (!internalUtil) {\n    internalUtil = require('internal/util');\n  }\n  return internalUtil;\n}\n\nlet internalUtilInspect = null;\nfunction lazyInternalUtilInspect() {\n  if (!internalUtilInspect) {\n    internalUtilInspect = require('internal/util/inspect');\n  }\n  return internalUtilInspect;\n}\n\nlet buffer;\nfunction lazyBuffer() {\n  if (buffer === undefined)\n    buffer = require('buffer').Buffer;\n  return buffer;\n}\n\n// A specialized Error that includes an additional info property with\n// additional information about the error condition.\n// It has the properties present in a UVException but with a custom error\n// message followed by the uv error code and uv error message.\n// It also has its own error code with the original uv error context put into\n// `err.info`.\n// The context passed into this error must have .code, .syscall and .message,\n// and may have .path and .dest.\nclass SystemError extends Error {\n  constructor(key, context) {\n    if (excludedStackFn === undefined) {\n      super();\n    } else {\n      const limit = Error.stackTraceLimit;\n      Error.stackTraceLimit = 0;\n      super();\n      // Reset the limit and setting the name property.\n      Error.stackTraceLimit = limit;\n    }\n    const prefix = getMessage(key, [], this);\n    let message = `${prefix}: ${context.syscall} returned ` +\n                  `${context.code} (${context.message})`;\n\n    if (context.path !== undefined)\n      message += ` ${context.path}`;\n    if (context.dest !== undefined)\n      message += ` => ${context.dest}`;\n\n    ObjectDefineProperty(this, 'message', {\n      value: message,\n      enumerable: false,\n      writable: true,\n      configurable: true\n    });\n    addCodeToName(this, 'SystemError', key);\n\n    this.code = key;\n\n    ObjectDefineProperty(this, 'info', {\n      value: context,\n      enumerable: true,\n      configurable: true,\n      writable: false\n    });\n\n    ObjectDefineProperty(this, 'errno', {\n      get() {\n        return context.errno;\n      },\n      set: (value) => {\n        context.errno = value;\n      },\n      enumerable: true,\n      configurable: true\n    });\n\n    ObjectDefineProperty(this, 'syscall', {\n      get() {\n        return context.syscall;\n      },\n      set: (value) => {\n        context.syscall = value;\n      },\n      enumerable: true,\n      configurable: true\n    });\n\n    if (context.path !== undefined) {\n      // TODO(BridgeAR): Investigate why and when the `.toString()` was\n      // introduced. The `path` and `dest` properties in the context seem to\n      // always be of type string. We should probably just remove the\n      // `.toString()` and `Buffer.from()` operations and set the value on the\n      // context as the user did.\n      ObjectDefineProperty(this, 'path', {\n        get() {\n          return context.path != null ?\n            context.path.toString() : context.path;\n        },\n        set: (value) => {\n          context.path = value ?\n            lazyBuffer().from(value.toString()) : undefined;\n        },\n        enumerable: true,\n        configurable: true\n      });\n    }\n\n    if (context.dest !== undefined) {\n      ObjectDefineProperty(this, 'dest', {\n        get() {\n          return context.dest != null ?\n            context.dest.toString() : context.dest;\n        },\n        set: (value) => {\n          context.dest = value ?\n            lazyBuffer().from(value.toString()) : undefined;\n        },\n        enumerable: true,\n        configurable: true\n      });\n    }\n  }\n\n  toString() {\n    return `${this.name} [${this.code}]: ${this.message}`;\n  }\n\n  [SymbolFor('nodejs.util.inspect.custom')](recurseTimes, ctx) {\n    return lazyInternalUtilInspect().inspect(this, {\n      ...ctx,\n      getters: true,\n      customInspect: false\n    });\n  }\n}\n\nfunction makeSystemErrorWithCode(key) {\n  return class NodeError extends SystemError {\n    constructor(ctx) {\n      super(key, ctx);\n    }\n  };\n}\n\nfunction makeNodeErrorWithCode(Base, key) {\n  return class NodeError extends Base {\n    constructor(...args) {\n      if (excludedStackFn === undefined) {\n        super();\n      } else {\n        const limit = Error.stackTraceLimit;\n        Error.stackTraceLimit = 0;\n        super();\n        // Reset the limit and setting the name property.\n        Error.stackTraceLimit = limit;\n      }\n      const message = getMessage(key, args, this);\n      ObjectDefineProperty(this, 'message', {\n        value: message,\n        enumerable: false,\n        writable: true,\n        configurable: true\n      });\n      addCodeToName(this, super.name, key);\n      this.code = key;\n    }\n\n    toString() {\n      return `${this.name} [${key}]: ${this.message}`;\n    }\n  };\n}\n\n// This function removes unnecessary frames from Node.js core errors.\nfunction hideStackFrames(fn) {\n  return function hidden(...args) {\n    // Make sure the most outer `hideStackFrames()` function is used.\n    let setStackFn = false;\n    if (excludedStackFn === undefined) {\n      excludedStackFn = hidden;\n      setStackFn = true;\n    }\n    try {\n      return fn(...args);\n    } finally {\n      if (setStackFn === true) {\n        excludedStackFn = undefined;\n      }\n    }\n  };\n}\n\nfunction addCodeToName(err, name, code) {\n  // Set the stack\n  if (excludedStackFn !== undefined) {\n    // eslint-disable-next-line no-restricted-syntax\n    Error.captureStackTrace(err, excludedStackFn);\n  }\n  // Add the error code to the name to include it in the stack trace.\n  err.name = `${name} [${code}]`;\n  // Access the stack to generate the error message including the error code\n  // from the name.\n  err.stack;\n  // Reset the name to the actual name.\n  if (name === 'SystemError') {\n    ObjectDefineProperty(err, 'name', {\n      value: name,\n      enumerable: false,\n      writable: true,\n      configurable: true\n    });\n  } else {\n    delete err.name;\n  }\n}\n\n// Utility function for registering the error codes. Only used here. Exported\n// *only* to allow for testing.\nfunction E(sym, val, def, ...otherClasses) {\n  // Special case for SystemError that formats the error message differently\n  // The SystemErrors only have SystemError as their base classes.\n  messages.set(sym, val);\n  if (def === SystemError) {\n    def = makeSystemErrorWithCode(sym);\n  } else {\n    def = makeNodeErrorWithCode(def, sym);\n  }\n\n  if (otherClasses.length !== 0) {\n    otherClasses.forEach((clazz) => {\n      def[clazz.name] = makeNodeErrorWithCode(clazz, sym);\n    });\n  }\n  codes[sym] = def;\n}\n\nfunction getMessage(key, args, self) {\n  const msg = messages.get(key);\n\n  if (assert === undefined) assert = require('internal/assert');\n\n  if (typeof msg === 'function') {\n    assert(\n      msg.length <= args.length, // Default options do not count.\n      `Code: ${key}; The provided arguments length (${args.length}) does not ` +\n        `match the required ones (${msg.length}).`\n    );\n    return msg.apply(self, args);\n  }\n\n  const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;\n  assert(\n    expectedLength === args.length,\n    `Code: ${key}; The provided arguments length (${args.length}) does not ` +\n      `match the required ones (${expectedLength}).`\n  );\n  if (args.length === 0)\n    return msg;\n\n  args.unshift(msg);\n  return lazyInternalUtilInspect().format.apply(null, args);\n}\n\nlet uvBinding;\n\nfunction lazyUv() {\n  if (!uvBinding) {\n    uvBinding = internalBinding('uv');\n  }\n  return uvBinding;\n}\n\nconst uvUnmappedError = ['UNKNOWN', 'unknown error'];\n\nfunction uvErrmapGet(name) {\n  uvBinding = lazyUv();\n  if (!uvBinding.errmap) {\n    uvBinding.errmap = uvBinding.getErrorMap();\n  }\n  return uvBinding.errmap.get(name);\n}\n\n\n/**\n * This creates an error compatible with errors produced in the C++\n * function UVException using a context object with data assembled in C++.\n * The goal is to migrate them to ERR_* errors later when compatibility is\n * not a concern.\n *\n * @param {Object} ctx\n * @returns {Error}\n */\nfunction uvException(ctx) {\n  const [ code, uvmsg ] = uvErrmapGet(ctx.errno) || uvUnmappedError;\n  let message = `${code}: ${ctx.message || uvmsg}, ${ctx.syscall}`;\n\n  let path;\n  let dest;\n  if (ctx.path) {\n    path = ctx.path.toString();\n    message += ` '${path}'`;\n  }\n  if (ctx.dest) {\n    dest = ctx.dest.toString();\n    message += ` -> '${dest}'`;\n  }\n\n  // Reducing the limit improves the performance significantly. We do not loose\n  // the stack frames due to the `captureStackTrace()` function that is called\n  // later.\n  const tmpLimit = Error.stackTraceLimit;\n  Error.stackTraceLimit = 0;\n  // Pass the message to the constructor instead of setting it on the object\n  // to make sure it is the same as the one created in C++\n  // eslint-disable-next-line no-restricted-syntax\n  const err = new Error(message);\n  Error.stackTraceLimit = tmpLimit;\n\n  for (const prop of ObjectKeys(ctx)) {\n    if (prop === 'message' || prop === 'path' || prop === 'dest') {\n      continue;\n    }\n    err[prop] = ctx[prop];\n  }\n\n  err.code = code;\n  if (path) {\n    err.path = path;\n  }\n  if (dest) {\n    err.dest = dest;\n  }\n\n  // eslint-disable-next-line no-restricted-syntax\n  Error.captureStackTrace(err, excludedStackFn || uvException);\n  return err;\n}\n\n/**\n * This creates an error compatible with errors produced in the C++\n * This function should replace the deprecated\n * `exceptionWithHostPort()` function.\n *\n * @param {number} err - A libuv error number\n * @param {string} syscall\n * @param {string} address\n * @param {number} [port]\n * @returns {Error}\n */\nfunction uvExceptionWithHostPort(err, syscall, address, port) {\n  const [ code, uvmsg ] = uvErrmapGet(err) || uvUnmappedError;\n  const message = `${syscall} ${code}: ${uvmsg}`;\n  let details = '';\n\n  if (port && port > 0) {\n    details = ` ${address}:${port}`;\n  } else if (address) {\n    details = ` ${address}`;\n  }\n\n  // Reducing the limit improves the performance significantly. We do not loose\n  // the stack frames due to the `captureStackTrace()` function that is called\n  // later.\n  const tmpLimit = Error.stackTraceLimit;\n  Error.stackTraceLimit = 0;\n  // eslint-disable-next-line no-restricted-syntax\n  const ex = new Error(`${message}${details}`);\n  Error.stackTraceLimit = tmpLimit;\n  ex.code = code;\n  ex.errno = err;\n  ex.syscall = syscall;\n  ex.address = address;\n  if (port) {\n    ex.port = port;\n  }\n\n  // eslint-disable-next-line no-restricted-syntax\n  Error.captureStackTrace(ex, excludedStackFn || uvExceptionWithHostPort);\n  return ex;\n}\n\n/**\n * This used to be util._errnoException().\n *\n * @param {number} err - A libuv error number\n * @param {string} syscall\n * @param {string} [original]\n * @returns {Error}\n */\nfunction errnoException(err, syscall, original) {\n  // TODO(joyeecheung): We have to use the type-checked\n  // getSystemErrorName(err) to guard against invalid arguments from users.\n  // This can be replaced with [ code ] = errmap.get(err) when this method\n  // is no longer exposed to user land.\n  if (util === undefined) util = require('util');\n  const code = util.getSystemErrorName(err);\n  const message = original ?\n    `${syscall} ${code} ${original}` : `${syscall} ${code}`;\n\n  // eslint-disable-next-line no-restricted-syntax\n  const ex = new Error(message);\n  ex.errno = err;\n  ex.code = code;\n  ex.syscall = syscall;\n\n  // eslint-disable-next-line no-restricted-syntax\n  Error.captureStackTrace(ex, excludedStackFn || errnoException);\n  return ex;\n}\n\n/**\n * Deprecated, new function is `uvExceptionWithHostPort()`\n * New function added the error description directly\n * from C++. this method for backwards compatibility\n * @param {number} err - A libuv error number\n * @param {string} syscall\n * @param {string} address\n * @param {number} [port]\n * @param {string} [additional]\n * @returns {Error}\n */\nfunction exceptionWithHostPort(err, syscall, address, port, additional) {\n  // TODO(joyeecheung): We have to use the type-checked\n  // getSystemErrorName(err) to guard against invalid arguments from users.\n  // This can be replaced with [ code ] = errmap.get(err) when this method\n  // is no longer exposed to user land.\n  if (util === undefined) util = require('util');\n  const code = util.getSystemErrorName(err);\n  let details = '';\n  if (port && port > 0) {\n    details = ` ${address}:${port}`;\n  } else if (address) {\n    details = ` ${address}`;\n  }\n  if (additional) {\n    details += ` - Local (${additional})`;\n  }\n\n  // Reducing the limit improves the performance significantly. We do not loose\n  // the stack frames due to the `captureStackTrace()` function that is called\n  // later.\n  const tmpLimit = Error.stackTraceLimit;\n  Error.stackTraceLimit = 0;\n  // eslint-disable-next-line no-restricted-syntax\n  const ex = new Error(`${syscall} ${code}${details}`);\n  Error.stackTraceLimit = tmpLimit;\n  ex.errno = err;\n  ex.code = code;\n  ex.syscall = syscall;\n  ex.address = address;\n  if (port) {\n    ex.port = port;\n  }\n\n  // eslint-disable-next-line no-restricted-syntax\n  Error.captureStackTrace(ex, excludedStackFn || exceptionWithHostPort);\n  return ex;\n}\n\n/**\n * @param {number|string} code - A libuv error number or a c-ares error code\n * @param {string} syscall\n * @param {string} [hostname]\n * @returns {Error}\n */\nfunction dnsException(code, syscall, hostname) {\n  let errno;\n  // If `code` is of type number, it is a libuv error number, else it is a\n  // c-ares error code.\n  // TODO(joyeecheung): translate c-ares error codes into numeric ones and\n  // make them available in a property that's not error.errno (since they\n  // can be in conflict with libuv error codes). Also make sure\n  // util.getSystemErrorName() can understand them when an being informed that\n  // the number is a c-ares error code.\n  if (typeof code === 'number') {\n    errno = code;\n    // ENOTFOUND is not a proper POSIX error, but this error has been in place\n    // long enough that it's not practical to remove it.\n    if (code === lazyUv().UV_EAI_NODATA || code === lazyUv().UV_EAI_NONAME) {\n      code = 'ENOTFOUND'; // Fabricated error name.\n    } else {\n      code = lazyInternalUtil().getSystemErrorName(code);\n    }\n  }\n  const message = `${syscall} ${code}${hostname ? ` ${hostname}` : ''}`;\n  // Reducing the limit improves the performance significantly. We do not loose\n  // the stack frames due to the `captureStackTrace()` function that is called\n  // later.\n  const tmpLimit = Error.stackTraceLimit;\n  Error.stackTraceLimit = 0;\n  // eslint-disable-next-line no-restricted-syntax\n  const ex = new Error(message);\n  Error.stackTraceLimit = tmpLimit;\n  ex.errno = errno;\n  ex.code = code;\n  ex.syscall = syscall;\n  if (hostname) {\n    ex.hostname = hostname;\n  }\n\n  // eslint-disable-next-line no-restricted-syntax\n  Error.captureStackTrace(ex, excludedStackFn || dnsException);\n  return ex;\n}\n\nfunction connResetException(msg) {\n  // eslint-disable-next-line no-restricted-syntax\n  const ex = new Error(msg);\n  ex.code = 'ECONNRESET';\n  return ex;\n}\n\nlet maxStack_ErrorName;\nlet maxStack_ErrorMessage;\n/**\n * Returns true if `err.name` and `err.message` are equal to engine-specific\n * values indicating max call stack size has been exceeded.\n * \"Maximum call stack size exceeded\" in V8.\n *\n * @param {Error} err\n * @returns {boolean}\n */\nfunction isStackOverflowError(err) {\n  if (maxStack_ErrorMessage === undefined) {\n    try {\n      function overflowStack() { overflowStack(); }\n      overflowStack();\n    } catch (err) {\n      maxStack_ErrorMessage = err.message;\n      maxStack_ErrorName = err.name;\n    }\n  }\n\n  return err && err.name === maxStack_ErrorName &&\n         err.message === maxStack_ErrorMessage;\n}\n\n// Only use this for integers! Decimal numbers do not work with this function.\nfunction addNumericalSeparator(val) {\n  let res = '';\n  let i = val.length;\n  const start = val[0] === '-' ? 1 : 0;\n  for (; i >= start + 4; i -= 3) {\n    res = `_${val.slice(i - 3, i)}${res}`;\n  }\n  return `${val.slice(0, i)}${res}`;\n}\n\n// Used to enhance the stack that will be picked up by the inspector\nconst kEnhanceStackBeforeInspector = Symbol('kEnhanceStackBeforeInspector');\n\n// These are supposed to be called only on fatal exceptions before\n// the process exits.\nconst fatalExceptionStackEnhancers = {\n  beforeInspector(error) {\n    if (typeof error[kEnhanceStackBeforeInspector] !== 'function') {\n      return error.stack;\n    }\n\n    try {\n      // Set the error.stack here so it gets picked up by the\n      // inspector.\n      error.stack = error[kEnhanceStackBeforeInspector]();\n    } catch {\n      // We are just enhancing the error. If it fails, ignore it.\n    }\n    return error.stack;\n  },\n  afterInspector(error) {\n    const originalStack = error.stack;\n    const {\n      inspect,\n      inspectDefaultOptions: {\n        colors: defaultColors\n      }\n    } = lazyInternalUtilInspect();\n    const colors = (internalBinding('util').guessHandleType(2) === 'TTY' &&\n                   require('internal/tty').hasColors()) ||\n                   defaultColors;\n    try {\n      return inspect(error, { colors });\n    } catch {\n      return originalStack;\n    }\n  }\n};\n\nmodule.exports = {\n  addCodeToName, // Exported for NghttpError\n  codes,\n  dnsException,\n  errnoException,\n  exceptionWithHostPort,\n  getMessage,\n  hideStackFrames,\n  isStackOverflowError,\n  connResetException,\n  uvErrmapGet,\n  uvException,\n  uvExceptionWithHostPort,\n  SystemError,\n  // This is exported only to facilitate testing.\n  E,\n  kNoOverride,\n  prepareStackTrace,\n  maybeOverridePrepareStackTrace,\n  overrideStackTrace,\n  kEnhanceStackBeforeInspector,\n  fatalExceptionStackEnhancers\n};\n\n// To declare an error message, use the E(sym, val, def) function above. The sym\n// must be an upper case string. The val can be either a function or a string.\n// The def must be an error class.\n// The return value of the function must be a string.\n// Examples:\n// E('EXAMPLE_KEY1', 'This is the error value', Error);\n// E('EXAMPLE_KEY2', (a, b) => return `${a} ${b}`, RangeError);\n//\n// Once an error code has been assigned, the code itself MUST NOT change and\n// any given error code must never be reused to identify a different error.\n//\n// Any error code added here should also be added to the documentation\n//\n// Note: Please try to keep these in alphabetical order\n//\n// Note: Node.js specific errors must begin with the prefix ERR_\nE('ERR_AMBIGUOUS_ARGUMENT', 'The \"%s\" argument is ambiguous. %s', TypeError);\nE('ERR_ARG_NOT_ITERABLE', '%s must be iterable', TypeError);\nE('ERR_ASSERTION', '%s', Error);\nE('ERR_ASYNC_CALLBACK', '%s must be a function', TypeError);\nE('ERR_ASYNC_TYPE', 'Invalid name for async \"type\": %s', TypeError);\nE('ERR_BROTLI_INVALID_PARAM', '%s is not a valid Brotli parameter', RangeError);\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n  // Using a default argument here is important so the argument is not counted\n  // towards `Function#length`.\n  (name = undefined) => {\n    if (name) {\n      return `\"${name}\" is outside of buffer bounds`;\n    }\n    return 'Attempt to access memory outside buffer bounds';\n  }, RangeError);\nE('ERR_BUFFER_TOO_LARGE',\n  `Cannot create a Buffer larger than 0x${kMaxLength.toString(16)} bytes`,\n  RangeError);\nE('ERR_CANNOT_WATCH_SIGINT', 'Cannot watch for SIGINT signals', Error);\nE('ERR_CHILD_CLOSED_BEFORE_REPLY',\n  'Child closed before reply received', Error);\nE('ERR_CHILD_PROCESS_IPC_REQUIRED',\n  \"Forked processes must have an IPC channel, missing value 'ipc' in %s\",\n  Error);\nE('ERR_CHILD_PROCESS_STDIO_MAXBUFFER', '%s maxBuffer length exceeded',\n  RangeError);\nE('ERR_CONSOLE_WRITABLE_STREAM',\n  'Console expects a writable stream instance for %s', TypeError);\nE('ERR_CONTEXT_NOT_INITIALIZED', 'context used is not initialized', Error);\nE('ERR_CPU_USAGE', 'Unable to obtain cpu usage %s', Error);\nE('ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED',\n  'Custom engines not supported by this OpenSSL', Error);\nE('ERR_CRYPTO_ECDH_INVALID_FORMAT', 'Invalid ECDH format: %s', TypeError);\nE('ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY',\n  'Public key is not valid for specified curve', Error);\nE('ERR_CRYPTO_ENGINE_UNKNOWN', 'Engine \"%s\" was not found', Error);\nE('ERR_CRYPTO_FIPS_FORCED',\n  'Cannot set FIPS mode, it was forced with --force-fips at startup.', Error);\nE('ERR_CRYPTO_FIPS_UNAVAILABLE', 'Cannot set FIPS mode in a non-FIPS build.',\n  Error);\nE('ERR_CRYPTO_HASH_FINALIZED', 'Digest already called', Error);\nE('ERR_CRYPTO_HASH_UPDATE_FAILED', 'Hash update failed', Error);\nE('ERR_CRYPTO_INCOMPATIBLE_KEY', 'Incompatible %s: %s', Error);\nE('ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS', 'The selected key encoding %s %s.',\n  Error);\nE('ERR_CRYPTO_INVALID_DIGEST', 'Invalid digest: %s', TypeError);\nE('ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE',\n  'Invalid key object type %s, expected %s.', TypeError);\nE('ERR_CRYPTO_INVALID_STATE', 'Invalid state for operation %s', Error);\nE('ERR_CRYPTO_PBKDF2_ERROR', 'PBKDF2 error', Error);\nE('ERR_CRYPTO_SCRYPT_INVALID_PARAMETER', 'Invalid scrypt parameter', Error);\nE('ERR_CRYPTO_SCRYPT_NOT_SUPPORTED', 'Scrypt algorithm not supported', Error);\n// Switch to TypeError. The current implementation does not seem right.\nE('ERR_CRYPTO_SIGN_KEY_REQUIRED', 'No key provided to sign', Error);\nE('ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH',\n  'Input buffers must have the same byte length', RangeError);\nE('ERR_DIR_CLOSED', 'Directory handle was closed', Error);\nE('ERR_DNS_SET_SERVERS_FAILED', 'c-ares failed to set servers: \"%s\" [%s]',\n  Error);\nE('ERR_DOMAIN_CALLBACK_NOT_AVAILABLE',\n  'A callback was registered through ' +\n     'process.setUncaughtExceptionCaptureCallback(), which is mutually ' +\n     'exclusive with using the `domain` module',\n  Error);\nE('ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE',\n  'The `domain` module is in use, which is mutually exclusive with calling ' +\n     'process.setUncaughtExceptionCaptureCallback()',\n  Error);\nE('ERR_ENCODING_INVALID_ENCODED_DATA', function(encoding, ret) {\n  this.errno = ret;\n  return `The encoded data was not valid for encoding ${encoding}`;\n}, TypeError);\nE('ERR_ENCODING_NOT_SUPPORTED', 'The \"%s\" encoding is not supported',\n  RangeError);\nE('ERR_EVAL_ESM_CANNOT_PRINT', '--print cannot be used with ESM input', Error);\nE('ERR_FALSY_VALUE_REJECTION', function(reason) {\n  this.reason = reason;\n  return 'Promise was rejected with falsy value';\n}, Error);\nE('ERR_FEATURE_UNAVAILABLE_ON_PLATFORM',\n  'The feature %s is unavailable on the current platform' +\n  ', which is being used to run Node.js',\n  TypeError);\nE('ERR_FS_FILE_TOO_LARGE', 'File size (%s) is greater than 2 GB', RangeError);\nE('ERR_FS_INVALID_SYMLINK_TYPE',\n  'Symlink type must be one of \"dir\", \"file\", or \"junction\". Received \"%s\"',\n  Error); // Switch to TypeError. The current implementation does not seem right\nE('ERR_HTTP2_ALTSVC_INVALID_ORIGIN',\n  'HTTP/2 ALTSVC frames require a valid origin', TypeError);\nE('ERR_HTTP2_ALTSVC_LENGTH',\n  'HTTP/2 ALTSVC frames are limited to 16382 bytes', TypeError);\nE('ERR_HTTP2_CONNECT_AUTHORITY',\n  ':authority header is required for CONNECT requests', Error);\nE('ERR_HTTP2_CONNECT_PATH',\n  'The :path header is forbidden for CONNECT requests', Error);\nE('ERR_HTTP2_CONNECT_SCHEME',\n  'The :scheme header is forbidden for CONNECT requests', Error);\nE('ERR_HTTP2_GOAWAY_SESSION',\n  'New streams cannot be created after receiving a GOAWAY', Error);\nE('ERR_HTTP2_HEADERS_AFTER_RESPOND',\n  'Cannot specify additional headers after response initiated', Error);\nE('ERR_HTTP2_HEADERS_SENT', 'Response has already been initiated.', Error);\nE('ERR_HTTP2_HEADER_SINGLE_VALUE',\n  'Header field \"%s\" must only have a single value', TypeError);\nE('ERR_HTTP2_INFO_STATUS_NOT_ALLOWED',\n  'Informational status codes cannot be used', RangeError);\nE('ERR_HTTP2_INVALID_CONNECTION_HEADERS',\n  'HTTP/1 Connection specific headers are forbidden: \"%s\"', TypeError);\nE('ERR_HTTP2_INVALID_HEADER_VALUE',\n  'Invalid value \"%s\" for header \"%s\"', TypeError);\nE('ERR_HTTP2_INVALID_INFO_STATUS',\n  'Invalid informational status code: %s', RangeError);\nE('ERR_HTTP2_INVALID_ORIGIN',\n  'HTTP/2 ORIGIN frames require a valid origin', TypeError);\nE('ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH',\n  'Packed settings length must be a multiple of six', RangeError);\nE('ERR_HTTP2_INVALID_PSEUDOHEADER',\n  '\"%s\" is an invalid pseudoheader or is used incorrectly', TypeError);\nE('ERR_HTTP2_INVALID_SESSION', 'The session has been destroyed', Error);\nE('ERR_HTTP2_INVALID_SETTING_VALUE',\n  // Using default arguments here is important so the arguments are not counted\n  // towards `Function#length`.\n  function(name, actual, min = undefined, max = undefined) {\n    this.actual = actual;\n    if (min !== undefined) {\n      this.min = min;\n      this.max = max;\n    }\n    return `Invalid value for setting \"${name}\": ${actual}`;\n  }, TypeError, RangeError);\nE('ERR_HTTP2_INVALID_STREAM', 'The stream has been destroyed', Error);\nE('ERR_HTTP2_MAX_PENDING_SETTINGS_ACK',\n  'Maximum number of pending settings acknowledgements', Error);\nE('ERR_HTTP2_NESTED_PUSH',\n  'A push stream cannot initiate another push stream.', Error);\nE('ERR_HTTP2_NO_SOCKET_MANIPULATION',\n  'HTTP/2 sockets should not be directly manipulated (e.g. read and written)',\n  Error);\nE('ERR_HTTP2_ORIGIN_LENGTH',\n  'HTTP/2 ORIGIN frames are limited to 16382 bytes', TypeError);\nE('ERR_HTTP2_OUT_OF_STREAMS',\n  'No stream ID is available because maximum stream ID has been reached',\n  Error);\nE('ERR_HTTP2_PAYLOAD_FORBIDDEN',\n  'Responses with %s status must not have a payload', Error);\nE('ERR_HTTP2_PING_CANCEL', 'HTTP2 ping cancelled', Error);\nE('ERR_HTTP2_PING_LENGTH', 'HTTP2 ping payload must be 8 bytes', RangeError);\nE('ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED',\n  'Cannot set HTTP/2 pseudo-headers', TypeError);\nE('ERR_HTTP2_PUSH_DISABLED', 'HTTP/2 client has disabled push streams', Error);\nE('ERR_HTTP2_SEND_FILE', 'Directories cannot be sent', Error);\nE('ERR_HTTP2_SEND_FILE_NOSEEK',\n  'Offset or length can only be specified for regular files', Error);\nE('ERR_HTTP2_SESSION_ERROR', 'Session closed with error code %s', Error);\nE('ERR_HTTP2_SETTINGS_CANCEL', 'HTTP2 session settings canceled', Error);\nE('ERR_HTTP2_SOCKET_BOUND',\n  'The socket is already bound to an Http2Session', Error);\nE('ERR_HTTP2_SOCKET_UNBOUND',\n  'The socket has been disconnected from the Http2Session', Error);\nE('ERR_HTTP2_STATUS_101',\n  'HTTP status code 101 (Switching Protocols) is forbidden in HTTP/2', Error);\nE('ERR_HTTP2_STATUS_INVALID', 'Invalid status code: %s', RangeError);\nE('ERR_HTTP2_STREAM_CANCEL', function(error) {\n  let msg = 'The pending stream has been canceled';\n  if (error) {\n    this.cause = error;\n    if (typeof error.message === 'string')\n      msg += ` (caused by: ${error.message})`;\n  }\n  return msg;\n}, Error);\nE('ERR_HTTP2_STREAM_ERROR', 'Stream closed with error code %s', Error);\nE('ERR_HTTP2_STREAM_SELF_DEPENDENCY',\n  'A stream cannot depend on itself', Error);\nE('ERR_HTTP2_TRAILERS_ALREADY_SENT',\n  'Trailing headers have already been sent', Error);\nE('ERR_HTTP2_TRAILERS_NOT_READY',\n  'Trailing headers cannot be sent until after the wantTrailers event is ' +\n  'emitted', Error);\nE('ERR_HTTP2_UNSUPPORTED_PROTOCOL', 'protocol \"%s\" is unsupported.', Error);\nE('ERR_HTTP_HEADERS_SENT',\n  'Cannot %s headers after they are sent to the client', Error);\nE('ERR_HTTP_INVALID_HEADER_VALUE',\n  'Invalid value \"%s\" for header \"%s\"', TypeError);\nE('ERR_HTTP_INVALID_STATUS_CODE', 'Invalid status code: %s', RangeError);\nE('ERR_HTTP_TRAILER_INVALID',\n  'Trailers are invalid with this transfer encoding', Error);\nE('ERR_INCOMPATIBLE_OPTION_PAIR',\n  'Option \"%s\" cannot be used in combination with option \"%s\"', TypeError);\nE('ERR_INPUT_TYPE_NOT_ALLOWED', '--input-type can only be used with string ' +\n  'input via --eval, --print, or STDIN', Error);\nE('ERR_INSPECTOR_ALREADY_CONNECTED', '%s is already connected', Error);\nE('ERR_INSPECTOR_CLOSED', 'Session was closed', Error);\nE('ERR_INSPECTOR_COMMAND', 'Inspector error %d: %s', Error);\nE('ERR_INSPECTOR_NOT_ACTIVE', 'Inspector is not active', Error);\nE('ERR_INSPECTOR_NOT_AVAILABLE', 'Inspector is not available', Error);\nE('ERR_INSPECTOR_NOT_CONNECTED', 'Session is not connected', Error);\nE('ERR_INSPECTOR_NOT_WORKER', 'Current thread is not a worker', Error);\nE('ERR_INTERNAL_ASSERTION', (message) => {\n  const suffix = 'This is caused by either a bug in Node.js ' +\n    'or incorrect usage of Node.js internals.\\n' +\n    'Please open an issue with this stack trace at ' +\n    'https://github.com/nodejs/node/issues\\n';\n  return message === undefined ? suffix : `${message}\\n${suffix}`;\n}, Error);\nE('ERR_INVALID_ADDRESS_FAMILY', function(addressType, host, port) {\n  this.host = host;\n  this.port = port;\n  return `Invalid address family: ${addressType} ${host}:${port}`;\n}, RangeError);\nE('ERR_INVALID_ARG_TYPE',\n  (name, expected, actual) => {\n    assert(typeof name === 'string', \"'name' must be a string\");\n    if (!ArrayIsArray(expected)) {\n      expected = [expected];\n    }\n\n    let msg = 'The ';\n    if (name.endsWith(' argument')) {\n      // For cases like 'first argument'\n      msg += `${name} `;\n    } else {\n      const type = name.includes('.') ? 'property' : 'argument';\n      msg += `\"${name}\" ${type} `;\n    }\n    msg += 'must be ';\n\n    const types = [];\n    const instances = [];\n    const other = [];\n\n    for (const value of expected) {\n      assert(typeof value === 'string',\n             'All expected entries have to be of type string');\n      if (kTypes.includes(value)) {\n        types.push(value.toLowerCase());\n      } else if (classRegExp.test(value)) {\n        instances.push(value);\n      } else {\n        assert(value !== 'object',\n               'The value \"object\" should be written as \"Object\"');\n        other.push(value);\n      }\n    }\n\n    // Special handle `object` in case other instances are allowed to outline\n    // the differences between each other.\n    if (instances.length > 0) {\n      const pos = types.indexOf('object');\n      if (pos !== -1) {\n        types.splice(pos, 1);\n        instances.push('Object');\n      }\n    }\n\n    if (types.length > 0) {\n      if (types.length > 2) {\n        const last = types.pop();\n        msg += `one of type ${types.join(', ')}, or ${last}`;\n      } else if (types.length === 2) {\n        msg += `one of type ${types[0]} or ${types[1]}`;\n      } else {\n        msg += `of type ${types[0]}`;\n      }\n      if (instances.length > 0 || other.length > 0)\n        msg += ' or ';\n    }\n\n    if (instances.length > 0) {\n      if (instances.length > 2) {\n        const last = instances.pop();\n        msg += `an instance of ${instances.join(', ')}, or ${last}`;\n      } else {\n        msg += `an instance of ${instances[0]}`;\n        if (instances.length === 2) {\n          msg += ` or ${instances[1]}`;\n        }\n      }\n      if (other.length > 0)\n        msg += ' or ';\n    }\n\n    if (other.length > 0) {\n      if (other.length > 2) {\n        const last = other.pop();\n        msg += `one of ${other.join(', ')}, or ${last}`;\n      } else if (other.length === 2) {\n        msg += `one of ${other[0]} or ${other[1]}`;\n      } else {\n        if (other[0].toLowerCase() !== other[0])\n          msg += 'an ';\n        msg += `${other[0]}`;\n      }\n    }\n\n    if (actual == null) {\n      msg += `. Received ${actual}`;\n    } else if (typeof actual === 'function' && actual.name) {\n      msg += `. Received function ${actual.name}`;\n    } else if (typeof actual === 'object') {\n      if (actual.constructor && actual.constructor.name) {\n        msg += `. Received an instance of ${actual.constructor.name}`;\n      } else {\n        const inspected = lazyInternalUtilInspect()\n          .inspect(actual, { depth: -1 });\n        msg += `. Received ${inspected}`;\n      }\n    } else {\n      let inspected = lazyInternalUtilInspect()\n        .inspect(actual, { colors: false });\n      if (inspected.length > 25)\n        inspected = `${inspected.slice(0, 25)}...`;\n      msg += `. Received type ${typeof actual} (${inspected})`;\n    }\n    return msg;\n  }, TypeError);\nE('ERR_INVALID_ARG_VALUE', (name, value, reason = 'is invalid') => {\n  let inspected = lazyInternalUtilInspect().inspect(value);\n  if (inspected.length > 128) {\n    inspected = `${inspected.slice(0, 128)}...`;\n  }\n  return `The argument '${name}' ${reason}. Received ${inspected}`;\n}, TypeError, RangeError);\nE('ERR_INVALID_ASYNC_ID', 'Invalid %s value: %s', RangeError);\nE('ERR_INVALID_BUFFER_SIZE',\n  'Buffer size must be a multiple of %s', RangeError);\nE('ERR_INVALID_CALLBACK',\n  'Callback must be a function. Received %O', TypeError);\nE('ERR_INVALID_CHAR',\n  // Using a default argument here is important so the argument is not counted\n  // towards `Function#length`.\n  (name, field = undefined) => {\n    let msg = `Invalid character in ${name}`;\n    if (field !== undefined) {\n      msg += ` [\"${field}\"]`;\n    }\n    return msg;\n  }, TypeError);\nE('ERR_INVALID_CURSOR_POS',\n  'Cannot set cursor row without setting its column', TypeError);\nE('ERR_INVALID_FD',\n  '\"fd\" must be a positive integer: %s', RangeError);\nE('ERR_INVALID_FD_TYPE', 'Unsupported fd type: %s', TypeError);\nE('ERR_INVALID_FILE_URL_HOST',\n  'File URL host must be \"localhost\" or empty on %s', TypeError);\nE('ERR_INVALID_FILE_URL_PATH', 'File URL path %s', TypeError);\nE('ERR_INVALID_HANDLE_TYPE', 'This handle type cannot be sent', TypeError);\nE('ERR_INVALID_HTTP_TOKEN', '%s must be a valid HTTP token [\"%s\"]', TypeError);\nE('ERR_INVALID_IP_ADDRESS', 'Invalid IP address: %s', TypeError);\nE('ERR_INVALID_MODULE_SPECIFIER', (pkgPath, subpath, base = undefined) => {\n  if (subpath === undefined) {\n    return `Invalid package name '${pkgPath}' imported from ${base}`;\n  } else if (base === undefined) {\n    assert(subpath !== '.');\n    return `Package subpath '${subpath}' is not a valid module request for ` +\n      `the \"exports\" resolution of ${pkgPath}${sep}package.json`;\n  } else {\n    return `Package subpath '${subpath}' is not a valid module request for ` +\n      `the \"exports\" resolution of ${pkgPath} imported from ${base}`;\n  }\n}, TypeError);\nE('ERR_INVALID_OPT_VALUE', (name, value) =>\n  `The value \"${String(value)}\" is invalid for option \"${name}\"`,\n  TypeError,\n  RangeError);\nE('ERR_INVALID_OPT_VALUE_ENCODING',\n  'The value \"%s\" is invalid for option \"encoding\"', TypeError);\nE('ERR_INVALID_PACKAGE_CONFIG', (path, message, hasMessage = true) => {\n  if (hasMessage)\n    return `Invalid package config ${path}${sep}package.json, ${message}`;\n  else\n    return `Invalid JSON in ${path} imported from ${message}`;\n}, Error);\nE('ERR_INVALID_PACKAGE_TARGET',\n  (pkgPath, key, subpath, target, base = undefined) => {\n    const relError = typeof target === 'string' &&\n      target.length && !StringPrototypeStartsWith(target, './');\n    if (key === null) {\n      if (subpath !== '') {\n        return `Invalid \"exports\" target ${JSONStringify(target)} defined ` +\n        `for '${subpath}' in the package config ${pkgPath} imported from ` +\n        `${base}.${relError ? '; targets must start with \"./\"' : ''}`;\n      } else {\n        return `Invalid \"exports\" main target ${target} defined in the ` +\n          `package config ${pkgPath} imported from ${base}${relError ?\n            '; targets must start with \"./\"' : ''}`;\n      }\n    } else if (key === '.') {\n      return `Invalid \"exports\" main target ${JSONStringify(target)} defined ` +\n      `in the package config ${pkgPath}${sep}package.json${relError ?\n        '; targets must start with \"./\"' : ''}`;\n    } else if (relError) {\n      return `Invalid \"exports\" target ${JSONStringify(target)} defined for '${\n        StringPrototypeSlice(key, 0, -subpath.length || key.length)}' in the ` +\n        `package config ${pkgPath}${sep}package.json; ` +\n        'targets must start with \"./\"';\n    } else {\n      return `Invalid \"exports\" target ${JSONStringify(target)} defined for '${\n        StringPrototypeSlice(key, 0, -subpath.length || key.length)}' in the ` +\n      `package config ${pkgPath}${sep}package.json`;\n    }\n  }, Error);\nE('ERR_INVALID_PERFORMANCE_MARK',\n  'The \"%s\" performance mark has not been set', Error);\nE('ERR_INVALID_PROTOCOL',\n  'Protocol \"%s\" not supported. Expected \"%s\"',\n  TypeError);\nE('ERR_INVALID_REPL_EVAL_CONFIG',\n  'Cannot specify both \"breakEvalOnSigint\" and \"eval\" for REPL', TypeError);\nE('ERR_INVALID_REPL_INPUT', '%s', TypeError);\nE('ERR_INVALID_RETURN_PROPERTY', (input, name, prop, value) => {\n  return `Expected a valid ${input} to be returned for the \"${prop}\" from the` +\n         ` \"${name}\" function but got ${value}.`;\n}, TypeError);\nE('ERR_INVALID_RETURN_PROPERTY_VALUE', (input, name, prop, value) => {\n  let type;\n  if (value && value.constructor && value.constructor.name) {\n    type = `instance of ${value.constructor.name}`;\n  } else {\n    type = `type ${typeof value}`;\n  }\n  return `Expected ${input} to be returned for the \"${prop}\" from the` +\n         ` \"${name}\" function but got ${type}.`;\n}, TypeError);\nE('ERR_INVALID_RETURN_VALUE', (input, name, value) => {\n  let type;\n  if (value && value.constructor && value.constructor.name) {\n    type = `instance of ${value.constructor.name}`;\n  } else {\n    type = `type ${typeof value}`;\n  }\n  return `Expected ${input} to be returned from the \"${name}\"` +\n         ` function but got ${type}.`;\n}, TypeError);\nE('ERR_INVALID_SYNC_FORK_INPUT',\n  'Asynchronous forks do not support ' +\n    'Buffer, TypedArray, DataView or string input: %s',\n  TypeError);\nE('ERR_INVALID_THIS', 'Value of \"this\" must be of type %s', TypeError);\nE('ERR_INVALID_TUPLE', '%s must be an iterable %s tuple', TypeError);\nE('ERR_INVALID_URI', 'URI malformed', URIError);\nE('ERR_INVALID_URL', function(input) {\n  this.input = input;\n  return `Invalid URL: ${input}`;\n}, TypeError);\nE('ERR_INVALID_URL_SCHEME',\n  (expected) => {\n    if (typeof expected === 'string')\n      expected = [expected];\n    assert(expected.length <= 2);\n    const res = expected.length === 2 ?\n      `one of scheme ${expected[0]} or ${expected[1]}` :\n      `of scheme ${expected[0]}`;\n    return `The URL must be ${res}`;\n  }, TypeError);\nE('ERR_IPC_CHANNEL_CLOSED', 'Channel closed', Error);\nE('ERR_IPC_DISCONNECTED', 'IPC channel is already disconnected', Error);\nE('ERR_IPC_ONE_PIPE', 'Child process can have only one IPC pipe', Error);\nE('ERR_IPC_SYNC_FORK', 'IPC cannot be used with synchronous forks', Error);\nE('ERR_MANIFEST_ASSERT_INTEGRITY',\n  (moduleURL, realIntegrities) => {\n    let msg = `The content of \"${\n      moduleURL\n    }\" does not match the expected integrity.`;\n    if (realIntegrities.size) {\n      const sri = [...realIntegrities.entries()].map(([alg, dgs]) => {\n        return `${alg}-${dgs}`;\n      }).join(' ');\n      msg += ` Integrities found are: ${sri}`;\n    } else {\n      msg += ' The resource was not found in the policy.';\n    }\n    return msg;\n  }, Error);\nE('ERR_MANIFEST_DEPENDENCY_MISSING',\n  'Manifest resource %s does not list %s as a dependency specifier',\n  Error);\nE('ERR_MANIFEST_INTEGRITY_MISMATCH',\n  'Manifest resource %s has multiple entries but integrity lists do not match',\n  SyntaxError);\nE('ERR_MANIFEST_INVALID_RESOURCE_FIELD',\n  'Manifest resource %s has invalid property value for %s',\n  TypeError);\nE('ERR_MANIFEST_TDZ', 'Manifest initialization has not yet run', Error);\nE('ERR_MANIFEST_UNKNOWN_ONERROR',\n  'Manifest specified unknown error behavior \"%s\".',\n  SyntaxError);\nE('ERR_METHOD_NOT_IMPLEMENTED', 'The %s method is not implemented', Error);\nE('ERR_MISSING_ARGS',\n  (...args) => {\n    assert(args.length > 0, 'At least one arg needs to be specified');\n    let msg = 'The ';\n    const len = args.length;\n    args = args.map((a) => `\"${a}\"`);\n    switch (len) {\n      case 1:\n        msg += `${args[0]} argument`;\n        break;\n      case 2:\n        msg += `${args[0]} and ${args[1]} arguments`;\n        break;\n      default:\n        msg += args.slice(0, len - 1).join(', ');\n        msg += `, and ${args[len - 1]} arguments`;\n        break;\n    }\n    return `${msg} must be specified`;\n  }, TypeError);\nE('ERR_MISSING_DYNAMIC_INSTANTIATE_HOOK',\n  'The ES Module loader may not return a format of \\'dynamic\\' when no ' +\n  'dynamicInstantiate function was provided', Error);\nE('ERR_MISSING_OPTION', '%s is required', TypeError);\nE('ERR_MODULE_NOT_FOUND', (path, base, type = 'package') => {\n  return `Cannot find ${type} '${path}' imported from ${base}`;\n}, Error);\nE('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times', Error);\nE('ERR_NAPI_CONS_FUNCTION', 'Constructor must be a function', TypeError);\nE('ERR_NAPI_INVALID_DATAVIEW_ARGS',\n  'byte_offset + byte_length should be less than or equal to the size in ' +\n    'bytes of the array passed in',\n  RangeError);\nE('ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT',\n  'start offset of %s should be a multiple of %s', RangeError);\nE('ERR_NAPI_INVALID_TYPEDARRAY_LENGTH',\n  'Invalid typed array length', RangeError);\nE('ERR_NO_CRYPTO',\n  'Node.js is not compiled with OpenSSL crypto support', Error);\nE('ERR_NO_ICU',\n  '%s is not supported on Node.js compiled without ICU', TypeError);\nE('ERR_OUT_OF_RANGE',\n  (str, range, input, replaceDefaultBoolean = false) => {\n    assert(range, 'Missing \"range\" argument');\n    let msg = replaceDefaultBoolean ? str :\n      `The value of \"${str}\" is out of range.`;\n    let received;\n    if (NumberIsInteger(input) && MathAbs(input) > 2 ** 32) {\n      received = addNumericalSeparator(String(input));\n    } else if (typeof input === 'bigint') {\n      received = String(input);\n      if (input > 2n ** 32n || input < -(2n ** 32n)) {\n        received = addNumericalSeparator(received);\n      }\n      received += 'n';\n    } else {\n      received = lazyInternalUtilInspect().inspect(input);\n    }\n    msg += ` It must be ${range}. Received ${received}`;\n    return msg;\n  }, RangeError);\nE('ERR_PACKAGE_PATH_NOT_EXPORTED', (pkgPath, subpath, base = undefined) => {\n  if (subpath === '.') {\n    return `No \"exports\" main resolved in ${pkgPath}${sep}package.json`;\n  } else if (base === undefined) {\n    return `Package subpath '${subpath}' is not defined by \"exports\" in ${\n      pkgPath}${sep}package.json`;\n  } else {\n    return `Package subpath '${subpath}' is not defined by \"exports\" in ${\n      pkgPath} imported from ${base}`;\n  }\n}, Error);\nE('ERR_REQUIRE_ESM',\n  (filename, parentPath = null, packageJsonPath = null) => {\n    let msg = `Must use import to load ES Module: ${filename}`;\n    if (parentPath && packageJsonPath) {\n      const path = require('path');\n      const basename = path.basename(filename) === path.basename(parentPath) ?\n        filename : path.basename(filename);\n      msg +=\n        '\\nrequire() of ES modules is not supported.\\nrequire() of ' +\n        `${filename} ${parentPath ? `from ${parentPath} ` : ''}` +\n        'is an ES module file as it is a .js file whose nearest parent ' +\n        'package.json contains \"type\": \"module\" which defines all .js ' +\n        'files in that package scope as ES modules.\\nInstead rename ' +\n        `${basename} to end in .cjs, change the requiring code to use ` +\n        'import(), or remove \"type\": \"module\" from ' +\n        `${packageJsonPath}.\\n`;\n      return msg;\n    }\n    return msg;\n  }, Error);\nE('ERR_SCRIPT_EXECUTION_INTERRUPTED',\n  'Script execution was interrupted by `SIGINT`', Error);\nE('ERR_SERVER_ALREADY_LISTEN',\n  'Listen method has been called more than once without closing.', Error);\nE('ERR_SERVER_NOT_RUNNING', 'Server is not running.', Error);\nE('ERR_SOCKET_ALREADY_BOUND', 'Socket is already bound', Error);\nE('ERR_SOCKET_BAD_BUFFER_SIZE',\n  'Buffer size must be a positive integer', TypeError);\nE('ERR_SOCKET_BAD_PORT', (name, port, allowZero = true) => {\n  assert(typeof allowZero === 'boolean',\n         \"The 'allowZero' argument must be of type boolean.\");\n  const operator = allowZero ? '>=' : '>';\n  return `${name} should be ${operator} 0 and < 65536. Received ${port}.`;\n}, RangeError);\nE('ERR_SOCKET_BAD_TYPE',\n  'Bad socket type specified. Valid types are: udp4, udp6', TypeError);\nE('ERR_SOCKET_BUFFER_SIZE',\n  'Could not get or set buffer size',\n  SystemError);\nE('ERR_SOCKET_CLOSED', 'Socket is closed', Error);\nE('ERR_SOCKET_DGRAM_IS_CONNECTED', 'Already connected', Error);\nE('ERR_SOCKET_DGRAM_NOT_CONNECTED', 'Not connected', Error);\nE('ERR_SOCKET_DGRAM_NOT_RUNNING', 'Not running', Error);\nE('ERR_SRI_PARSE',\n  'Subresource Integrity string %j had an unexpected %j at position %d',\n  SyntaxError);\nE('ERR_STREAM_ALREADY_FINISHED',\n  'Cannot call %s after a stream was finished',\n  Error);\nE('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable', Error);\nE('ERR_STREAM_DESTROYED', 'Cannot call %s after a stream was destroyed', Error);\nE('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\nE('ERR_STREAM_PREMATURE_CLOSE', 'Premature close', Error);\nE('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF', Error);\nE('ERR_STREAM_UNSHIFT_AFTER_END_EVENT',\n  'stream.unshift() after end event', Error);\nE('ERR_STREAM_WRAP', 'Stream has StringDecoder set or is in objectMode', Error);\nE('ERR_STREAM_WRITE_AFTER_END', 'write after end', Error);\nE('ERR_SYNTHETIC', 'JavaScript Callstack', Error);\nE('ERR_SYSTEM_ERROR', 'A system error occurred', SystemError);\nE('ERR_TLS_CERT_ALTNAME_INVALID', function(reason, host, cert) {\n  this.reason = reason;\n  this.host = host;\n  this.cert = cert;\n  return `Hostname/IP does not match certificate's altnames: ${reason}`;\n}, Error);\nE('ERR_TLS_DH_PARAM_SIZE', 'DH parameter size %s is less than 2048', Error);\nE('ERR_TLS_HANDSHAKE_TIMEOUT', 'TLS handshake timeout', Error);\nE('ERR_TLS_INVALID_CONTEXT', '%s must be a SecureContext', TypeError),\nE('ERR_TLS_INVALID_STATE', 'TLS socket connection must be securely established',\n  Error),\nE('ERR_TLS_INVALID_PROTOCOL_VERSION',\n  '%j is not a valid %s TLS protocol version', TypeError);\nE('ERR_TLS_PROTOCOL_VERSION_CONFLICT',\n  'TLS protocol version %j conflicts with secureProtocol %j', TypeError);\nE('ERR_TLS_RENEGOTIATION_DISABLED',\n  'TLS session renegotiation disabled for this socket', Error);\n\n// This should probably be a `TypeError`.\nE('ERR_TLS_REQUIRED_SERVER_NAME',\n  '\"servername\" is required parameter for Server.addContext', Error);\nE('ERR_TLS_SESSION_ATTACK', 'TLS session renegotiation attack detected', Error);\nE('ERR_TLS_SNI_FROM_SERVER',\n  'Cannot issue SNI from a TLS server-side socket', Error);\nE('ERR_TRACE_EVENTS_CATEGORY_REQUIRED',\n  'At least one category is required', TypeError);\nE('ERR_TRACE_EVENTS_UNAVAILABLE', 'Trace events are unavailable', Error);\n\n// This should probably be a `RangeError`.\nE('ERR_TTY_INIT_FAILED', 'TTY initialization failed', SystemError);\nE('ERR_UNAVAILABLE_DURING_EXIT', 'Cannot call function in process exit ' +\n  'handler', Error);\nE('ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET',\n  '`process.setupUncaughtExceptionCapture()` was called while a capture ' +\n    'callback was already active',\n  Error);\nE('ERR_UNESCAPED_CHARACTERS', '%s contains unescaped characters', TypeError);\nE('ERR_UNHANDLED_ERROR',\n  // Using a default argument here is important so the argument is not counted\n  // towards `Function#length`.\n  (err = undefined) => {\n    const msg = 'Unhandled error.';\n    if (err === undefined) return msg;\n    return `${msg} (${err})`;\n  }, Error);\nE('ERR_UNKNOWN_BUILTIN_MODULE', 'No such built-in module: %s', Error);\nE('ERR_UNKNOWN_CREDENTIAL', '%s identifier does not exist: %s', Error);\nE('ERR_UNKNOWN_ENCODING', 'Unknown encoding: %s', TypeError);\nE('ERR_UNKNOWN_FILE_EXTENSION',\n  'Unknown file extension \"%s\" for %s',\n  TypeError);\nE('ERR_UNKNOWN_MODULE_FORMAT', 'Unknown module format: %s', RangeError);\nE('ERR_UNKNOWN_SIGNAL', 'Unknown signal: %s', TypeError);\nE('ERR_UNSUPPORTED_ESM_URL_SCHEME', 'Only file and data URLs are supported ' +\n  'by the default ESM loader', Error);\n\nE('ERR_V8BREAKITERATOR',\n  'Full ICU data not installed. See https://github.com/nodejs/node/wiki/Intl',\n  Error);\n\n// This should probably be a `TypeError`.\nE('ERR_VALID_PERFORMANCE_ENTRY_TYPE',\n  'At least one valid performance entry type is required', Error);\nE('ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING',\n  'A dynamic import callback was not specified.', TypeError);\nE('ERR_VM_MODULE_ALREADY_LINKED', 'Module has already been linked', Error);\nE('ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA',\n  'Cached data cannot be created for a module which has been evaluated', Error);\nE('ERR_VM_MODULE_DIFFERENT_CONTEXT',\n  'Linked modules must use the same context', Error);\nE('ERR_VM_MODULE_LINKING_ERRORED',\n  'Linking has already failed for the provided module', Error);\nE('ERR_VM_MODULE_NOT_MODULE',\n  'Provided module is not an instance of Module', Error);\nE('ERR_VM_MODULE_STATUS', 'Module status %s', Error);\nE('ERR_WASI_ALREADY_STARTED', 'WASI instance has already started', Error);\nE('ERR_WORKER_INIT_FAILED', 'Worker initialization failure: %s', Error);\nE('ERR_WORKER_INVALID_EXEC_ARGV', (errors, msg = 'invalid execArgv flags') =>\n  `Initiated Worker with ${msg}: ${errors.join(', ')}`,\n  Error);\nE('ERR_WORKER_NOT_RUNNING', 'Worker instance not running', Error);\nE('ERR_WORKER_OUT_OF_MEMORY',\n  'Worker terminated due to reaching memory limit: %s', Error);\nE('ERR_WORKER_PATH', (filename) =>\n  'The worker script or module filename must be an absolute path or a ' +\n  'relative path starting with \\'./\\' or \\'../\\'.' +\n  (filename.startsWith('file://') ?\n    ' Wrap file:// URLs with `new URL`.' : ''\n  ) +\n  ` Received \"${filename}\"`,\n  TypeError);\nE('ERR_WORKER_UNSERIALIZABLE_ERROR',\n  'Serializing an uncaught exception failed', Error);\nE('ERR_WORKER_UNSUPPORTED_EXTENSION',\n  'The worker script extension must be \".js\", \".mjs\", or \".cjs\". Received \"%s\"',\n  TypeError);\nE('ERR_WORKER_UNSUPPORTED_OPERATION',\n  '%s is not supported in workers', TypeError);\nE('ERR_ZLIB_INITIALIZATION_FAILED', 'Initialization failed', Error);\n"
  },
  {
    "path": "raw/node-internal-errors-b533fb3508009e5f567cc776daba8fbf665386a6-stripped.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/b533fb3508009e5f567cc776daba8fbf665386a6/lib/internal/errors.js\n\n'use strict';\n\n// Utility function for registering the error codes. Only used here. Exported\n// *only* to allow for testing.\nfunction E(sym, val, def, ...otherClasses) {\n  // Special case for SystemError that formats the error message differently\n  // The SystemErrors only have SystemError as their base classes.\n  messages.set(sym, val);\n  if (def === SystemError) {\n    def = makeSystemErrorWithCode(sym);\n  } else {\n    def = makeNodeErrorWithCode(def, sym);\n  }\n\n  if (otherClasses.length !== 0) {\n    otherClasses.forEach((clazz) => {\n      def[clazz.name] = makeNodeErrorWithCode(clazz, sym);\n    });\n  }\n  codes[sym] = def;\n}\n\nE('ERR_REQUIRE_ESM',\n  (filename, parentPath = null, packageJsonPath = null) => {\n    let msg = `Must use import to load ES Module: ${filename}`;\n    if (parentPath && packageJsonPath) {\n      const path = require('path');\n      const basename = path.basename(filename) === path.basename(parentPath) ?\n        filename : path.basename(filename);\n      msg +=\n        '\\nrequire() of ES modules is not supported.\\nrequire() of ' +\n        `${filename} ${parentPath ? `from ${parentPath} ` : ''}` +\n        'is an ES module file as it is a .js file whose nearest parent ' +\n        'package.json contains \"type\": \"module\" which defines all .js ' +\n        'files in that package scope as ES modules.\\nInstead rename ' +\n        `${basename} to end in .cjs, change the requiring code to use ` +\n        'import(), or remove \"type\": \"module\" from ' +\n        `${packageJsonPath}.\\n`;\n      return msg;\n    }\n    return msg;\n  }, Error);\n"
  },
  {
    "path": "raw/node-internal-errors-b533fb3508009e5f567cc776daba8fbf665386a6.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/b533fb3508009e5f567cc776daba8fbf665386a6/lib/internal/errors.js\n\n/* eslint node-core/documented-errors: \"error\" */\n/* eslint node-core/alphabetize-errors: \"error\" */\n/* eslint node-core/prefer-util-format-errors: \"error\" */\n\n'use strict';\n\n// The whole point behind this internal module is to allow Node.js to no\n// longer be forced to treat every error message change as a semver-major\n// change. The NodeError classes here all expose a `code` property whose\n// value statically and permanently identifies the error. While the error\n// message may change, the code should not.\n\nconst {\n  ArrayIsArray,\n  Error,\n  JSONStringify,\n  Map,\n  MathAbs,\n  NumberIsInteger,\n  ObjectDefineProperty,\n  ObjectKeys,\n  StringPrototypeSlice,\n  StringPrototypeStartsWith,\n  Symbol,\n  SymbolFor,\n  WeakMap,\n} = primordials;\n\nconst sep = process.platform === 'win32' ? '\\\\' : '/';\n\nconst messages = new Map();\nconst codes = {};\n\nconst classRegExp = /^([A-Z][a-z0-9]*)+$/;\n// Sorted by a rough estimate on most frequently used entries.\nconst kTypes = [\n  'string',\n  'function',\n  'number',\n  'object',\n  // Accept 'Function' and 'Object' as alternative to the lower cased version.\n  'Function',\n  'Object',\n  'boolean',\n  'bigint',\n  'symbol'\n];\n\nconst { kMaxLength } = internalBinding('buffer');\n\nconst MainContextError = Error;\nconst ErrorToString = Error.prototype.toString;\nconst overrideStackTrace = new WeakMap();\nconst kNoOverride = Symbol('kNoOverride');\nconst prepareStackTrace = (globalThis, error, trace) => {\n  // API for node internals to override error stack formatting\n  // without interfering with userland code.\n  if (overrideStackTrace.has(error)) {\n    const f = overrideStackTrace.get(error);\n    overrideStackTrace.delete(error);\n    return f(error, trace);\n  }\n\n  const globalOverride =\n    maybeOverridePrepareStackTrace(globalThis, error, trace);\n  if (globalOverride !== kNoOverride) return globalOverride;\n\n  // Normal error formatting:\n  //\n  // Error: Message\n  //     at function (file)\n  //     at file\n  const errorString = ErrorToString.call(error);\n  if (trace.length === 0) {\n    return errorString;\n  }\n  return `${errorString}\\n    at ${trace.join('\\n    at ')}`;\n};\n\nconst maybeOverridePrepareStackTrace = (globalThis, error, trace) => {\n  // Polyfill of V8's Error.prepareStackTrace API.\n  // https://crbug.com/v8/7848\n  // `globalThis` is the global that contains the constructor which\n  // created `error`.\n  if (typeof globalThis.Error.prepareStackTrace === 'function') {\n    return globalThis.Error.prepareStackTrace(error, trace);\n  }\n  // We still have legacy usage that depends on the main context's `Error`\n  // being used, even when the error is from a different context.\n  // TODO(devsnek): evaluate if this can be eventually deprecated/removed.\n  if (typeof MainContextError.prepareStackTrace === 'function') {\n    return MainContextError.prepareStackTrace(error, trace);\n  }\n\n  return kNoOverride;\n};\n\nlet excludedStackFn;\n\n// Lazily loaded\nlet util;\nlet assert;\n\nlet internalUtil = null;\nfunction lazyInternalUtil() {\n  if (!internalUtil) {\n    internalUtil = require('internal/util');\n  }\n  return internalUtil;\n}\n\nlet internalUtilInspect = null;\nfunction lazyInternalUtilInspect() {\n  if (!internalUtilInspect) {\n    internalUtilInspect = require('internal/util/inspect');\n  }\n  return internalUtilInspect;\n}\n\nlet buffer;\nfunction lazyBuffer() {\n  if (buffer === undefined)\n    buffer = require('buffer').Buffer;\n  return buffer;\n}\n\n// A specialized Error that includes an additional info property with\n// additional information about the error condition.\n// It has the properties present in a UVException but with a custom error\n// message followed by the uv error code and uv error message.\n// It also has its own error code with the original uv error context put into\n// `err.info`.\n// The context passed into this error must have .code, .syscall and .message,\n// and may have .path and .dest.\nclass SystemError extends Error {\n  constructor(key, context) {\n    if (excludedStackFn === undefined) {\n      super();\n    } else {\n      const limit = Error.stackTraceLimit;\n      Error.stackTraceLimit = 0;\n      super();\n      // Reset the limit and setting the name property.\n      Error.stackTraceLimit = limit;\n    }\n    const prefix = getMessage(key, [], this);\n    let message = `${prefix}: ${context.syscall} returned ` +\n                  `${context.code} (${context.message})`;\n\n    if (context.path !== undefined)\n      message += ` ${context.path}`;\n    if (context.dest !== undefined)\n      message += ` => ${context.dest}`;\n\n    ObjectDefineProperty(this, 'message', {\n      value: message,\n      enumerable: false,\n      writable: true,\n      configurable: true\n    });\n    addCodeToName(this, 'SystemError', key);\n\n    this.code = key;\n\n    ObjectDefineProperty(this, 'info', {\n      value: context,\n      enumerable: true,\n      configurable: true,\n      writable: false\n    });\n\n    ObjectDefineProperty(this, 'errno', {\n      get() {\n        return context.errno;\n      },\n      set: (value) => {\n        context.errno = value;\n      },\n      enumerable: true,\n      configurable: true\n    });\n\n    ObjectDefineProperty(this, 'syscall', {\n      get() {\n        return context.syscall;\n      },\n      set: (value) => {\n        context.syscall = value;\n      },\n      enumerable: true,\n      configurable: true\n    });\n\n    if (context.path !== undefined) {\n      // TODO(BridgeAR): Investigate why and when the `.toString()` was\n      // introduced. The `path` and `dest` properties in the context seem to\n      // always be of type string. We should probably just remove the\n      // `.toString()` and `Buffer.from()` operations and set the value on the\n      // context as the user did.\n      ObjectDefineProperty(this, 'path', {\n        get() {\n          return context.path != null ?\n            context.path.toString() : context.path;\n        },\n        set: (value) => {\n          context.path = value ?\n            lazyBuffer().from(value.toString()) : undefined;\n        },\n        enumerable: true,\n        configurable: true\n      });\n    }\n\n    if (context.dest !== undefined) {\n      ObjectDefineProperty(this, 'dest', {\n        get() {\n          return context.dest != null ?\n            context.dest.toString() : context.dest;\n        },\n        set: (value) => {\n          context.dest = value ?\n            lazyBuffer().from(value.toString()) : undefined;\n        },\n        enumerable: true,\n        configurable: true\n      });\n    }\n  }\n\n  toString() {\n    return `${this.name} [${this.code}]: ${this.message}`;\n  }\n\n  [SymbolFor('nodejs.util.inspect.custom')](recurseTimes, ctx) {\n    return lazyInternalUtilInspect().inspect(this, {\n      ...ctx,\n      getters: true,\n      customInspect: false\n    });\n  }\n}\n\nfunction makeSystemErrorWithCode(key) {\n  return class NodeError extends SystemError {\n    constructor(ctx) {\n      super(key, ctx);\n    }\n  };\n}\n\nfunction makeNodeErrorWithCode(Base, key) {\n  return class NodeError extends Base {\n    constructor(...args) {\n      if (excludedStackFn === undefined) {\n        super();\n      } else {\n        const limit = Error.stackTraceLimit;\n        Error.stackTraceLimit = 0;\n        super();\n        // Reset the limit and setting the name property.\n        Error.stackTraceLimit = limit;\n      }\n      const message = getMessage(key, args, this);\n      ObjectDefineProperty(this, 'message', {\n        value: message,\n        enumerable: false,\n        writable: true,\n        configurable: true\n      });\n      addCodeToName(this, super.name, key);\n      this.code = key;\n    }\n\n    toString() {\n      return `${this.name} [${key}]: ${this.message}`;\n    }\n  };\n}\n\n// This function removes unnecessary frames from Node.js core errors.\nfunction hideStackFrames(fn) {\n  return function hidden(...args) {\n    // Make sure the most outer `hideStackFrames()` function is used.\n    let setStackFn = false;\n    if (excludedStackFn === undefined) {\n      excludedStackFn = hidden;\n      setStackFn = true;\n    }\n    try {\n      return fn(...args);\n    } finally {\n      if (setStackFn === true) {\n        excludedStackFn = undefined;\n      }\n    }\n  };\n}\n\nfunction addCodeToName(err, name, code) {\n  // Set the stack\n  if (excludedStackFn !== undefined) {\n    // eslint-disable-next-line no-restricted-syntax\n    Error.captureStackTrace(err, excludedStackFn);\n  }\n  // Add the error code to the name to include it in the stack trace.\n  err.name = `${name} [${code}]`;\n  // Access the stack to generate the error message including the error code\n  // from the name.\n  err.stack;\n  // Reset the name to the actual name.\n  if (name === 'SystemError') {\n    ObjectDefineProperty(err, 'name', {\n      value: name,\n      enumerable: false,\n      writable: true,\n      configurable: true\n    });\n  } else {\n    delete err.name;\n  }\n}\n\n// Utility function for registering the error codes. Only used here. Exported\n// *only* to allow for testing.\nfunction E(sym, val, def, ...otherClasses) {\n  // Special case for SystemError that formats the error message differently\n  // The SystemErrors only have SystemError as their base classes.\n  messages.set(sym, val);\n  if (def === SystemError) {\n    def = makeSystemErrorWithCode(sym);\n  } else {\n    def = makeNodeErrorWithCode(def, sym);\n  }\n\n  if (otherClasses.length !== 0) {\n    otherClasses.forEach((clazz) => {\n      def[clazz.name] = makeNodeErrorWithCode(clazz, sym);\n    });\n  }\n  codes[sym] = def;\n}\n\nfunction getMessage(key, args, self) {\n  const msg = messages.get(key);\n\n  if (assert === undefined) assert = require('internal/assert');\n\n  if (typeof msg === 'function') {\n    assert(\n      msg.length <= args.length, // Default options do not count.\n      `Code: ${key}; The provided arguments length (${args.length}) does not ` +\n        `match the required ones (${msg.length}).`\n    );\n    return msg.apply(self, args);\n  }\n\n  const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;\n  assert(\n    expectedLength === args.length,\n    `Code: ${key}; The provided arguments length (${args.length}) does not ` +\n      `match the required ones (${expectedLength}).`\n  );\n  if (args.length === 0)\n    return msg;\n\n  args.unshift(msg);\n  return lazyInternalUtilInspect().format.apply(null, args);\n}\n\nlet uvBinding;\n\nfunction lazyUv() {\n  if (!uvBinding) {\n    uvBinding = internalBinding('uv');\n  }\n  return uvBinding;\n}\n\nconst uvUnmappedError = ['UNKNOWN', 'unknown error'];\n\nfunction uvErrmapGet(name) {\n  uvBinding = lazyUv();\n  if (!uvBinding.errmap) {\n    uvBinding.errmap = uvBinding.getErrorMap();\n  }\n  return uvBinding.errmap.get(name);\n}\n\n\n/**\n * This creates an error compatible with errors produced in the C++\n * function UVException using a context object with data assembled in C++.\n * The goal is to migrate them to ERR_* errors later when compatibility is\n * not a concern.\n *\n * @param {Object} ctx\n * @returns {Error}\n */\nfunction uvException(ctx) {\n  const [ code, uvmsg ] = uvErrmapGet(ctx.errno) || uvUnmappedError;\n  let message = `${code}: ${ctx.message || uvmsg}, ${ctx.syscall}`;\n\n  let path;\n  let dest;\n  if (ctx.path) {\n    path = ctx.path.toString();\n    message += ` '${path}'`;\n  }\n  if (ctx.dest) {\n    dest = ctx.dest.toString();\n    message += ` -> '${dest}'`;\n  }\n\n  // Reducing the limit improves the performance significantly. We do not loose\n  // the stack frames due to the `captureStackTrace()` function that is called\n  // later.\n  const tmpLimit = Error.stackTraceLimit;\n  Error.stackTraceLimit = 0;\n  // Pass the message to the constructor instead of setting it on the object\n  // to make sure it is the same as the one created in C++\n  // eslint-disable-next-line no-restricted-syntax\n  const err = new Error(message);\n  Error.stackTraceLimit = tmpLimit;\n\n  for (const prop of ObjectKeys(ctx)) {\n    if (prop === 'message' || prop === 'path' || prop === 'dest') {\n      continue;\n    }\n    err[prop] = ctx[prop];\n  }\n\n  err.code = code;\n  if (path) {\n    err.path = path;\n  }\n  if (dest) {\n    err.dest = dest;\n  }\n\n  // eslint-disable-next-line no-restricted-syntax\n  Error.captureStackTrace(err, excludedStackFn || uvException);\n  return err;\n}\n\n/**\n * This creates an error compatible with errors produced in the C++\n * This function should replace the deprecated\n * `exceptionWithHostPort()` function.\n *\n * @param {number} err - A libuv error number\n * @param {string} syscall\n * @param {string} address\n * @param {number} [port]\n * @returns {Error}\n */\nfunction uvExceptionWithHostPort(err, syscall, address, port) {\n  const [ code, uvmsg ] = uvErrmapGet(err) || uvUnmappedError;\n  const message = `${syscall} ${code}: ${uvmsg}`;\n  let details = '';\n\n  if (port && port > 0) {\n    details = ` ${address}:${port}`;\n  } else if (address) {\n    details = ` ${address}`;\n  }\n\n  // Reducing the limit improves the performance significantly. We do not loose\n  // the stack frames due to the `captureStackTrace()` function that is called\n  // later.\n  const tmpLimit = Error.stackTraceLimit;\n  Error.stackTraceLimit = 0;\n  // eslint-disable-next-line no-restricted-syntax\n  const ex = new Error(`${message}${details}`);\n  Error.stackTraceLimit = tmpLimit;\n  ex.code = code;\n  ex.errno = err;\n  ex.syscall = syscall;\n  ex.address = address;\n  if (port) {\n    ex.port = port;\n  }\n\n  // eslint-disable-next-line no-restricted-syntax\n  Error.captureStackTrace(ex, excludedStackFn || uvExceptionWithHostPort);\n  return ex;\n}\n\n/**\n * This used to be util._errnoException().\n *\n * @param {number} err - A libuv error number\n * @param {string} syscall\n * @param {string} [original]\n * @returns {Error}\n */\nfunction errnoException(err, syscall, original) {\n  // TODO(joyeecheung): We have to use the type-checked\n  // getSystemErrorName(err) to guard against invalid arguments from users.\n  // This can be replaced with [ code ] = errmap.get(err) when this method\n  // is no longer exposed to user land.\n  if (util === undefined) util = require('util');\n  const code = util.getSystemErrorName(err);\n  const message = original ?\n    `${syscall} ${code} ${original}` : `${syscall} ${code}`;\n\n  // eslint-disable-next-line no-restricted-syntax\n  const ex = new Error(message);\n  ex.errno = err;\n  ex.code = code;\n  ex.syscall = syscall;\n\n  // eslint-disable-next-line no-restricted-syntax\n  Error.captureStackTrace(ex, excludedStackFn || errnoException);\n  return ex;\n}\n\n/**\n * Deprecated, new function is `uvExceptionWithHostPort()`\n * New function added the error description directly\n * from C++. this method for backwards compatibility\n * @param {number} err - A libuv error number\n * @param {string} syscall\n * @param {string} address\n * @param {number} [port]\n * @param {string} [additional]\n * @returns {Error}\n */\nfunction exceptionWithHostPort(err, syscall, address, port, additional) {\n  // TODO(joyeecheung): We have to use the type-checked\n  // getSystemErrorName(err) to guard against invalid arguments from users.\n  // This can be replaced with [ code ] = errmap.get(err) when this method\n  // is no longer exposed to user land.\n  if (util === undefined) util = require('util');\n  const code = util.getSystemErrorName(err);\n  let details = '';\n  if (port && port > 0) {\n    details = ` ${address}:${port}`;\n  } else if (address) {\n    details = ` ${address}`;\n  }\n  if (additional) {\n    details += ` - Local (${additional})`;\n  }\n\n  // Reducing the limit improves the performance significantly. We do not loose\n  // the stack frames due to the `captureStackTrace()` function that is called\n  // later.\n  const tmpLimit = Error.stackTraceLimit;\n  Error.stackTraceLimit = 0;\n  // eslint-disable-next-line no-restricted-syntax\n  const ex = new Error(`${syscall} ${code}${details}`);\n  Error.stackTraceLimit = tmpLimit;\n  ex.errno = err;\n  ex.code = code;\n  ex.syscall = syscall;\n  ex.address = address;\n  if (port) {\n    ex.port = port;\n  }\n\n  // eslint-disable-next-line no-restricted-syntax\n  Error.captureStackTrace(ex, excludedStackFn || exceptionWithHostPort);\n  return ex;\n}\n\n/**\n * @param {number|string} code - A libuv error number or a c-ares error code\n * @param {string} syscall\n * @param {string} [hostname]\n * @returns {Error}\n */\nfunction dnsException(code, syscall, hostname) {\n  let errno;\n  // If `code` is of type number, it is a libuv error number, else it is a\n  // c-ares error code.\n  // TODO(joyeecheung): translate c-ares error codes into numeric ones and\n  // make them available in a property that's not error.errno (since they\n  // can be in conflict with libuv error codes). Also make sure\n  // util.getSystemErrorName() can understand them when an being informed that\n  // the number is a c-ares error code.\n  if (typeof code === 'number') {\n    errno = code;\n    // ENOTFOUND is not a proper POSIX error, but this error has been in place\n    // long enough that it's not practical to remove it.\n    if (code === lazyUv().UV_EAI_NODATA || code === lazyUv().UV_EAI_NONAME) {\n      code = 'ENOTFOUND'; // Fabricated error name.\n    } else {\n      code = lazyInternalUtil().getSystemErrorName(code);\n    }\n  }\n  const message = `${syscall} ${code}${hostname ? ` ${hostname}` : ''}`;\n  // Reducing the limit improves the performance significantly. We do not loose\n  // the stack frames due to the `captureStackTrace()` function that is called\n  // later.\n  const tmpLimit = Error.stackTraceLimit;\n  Error.stackTraceLimit = 0;\n  // eslint-disable-next-line no-restricted-syntax\n  const ex = new Error(message);\n  Error.stackTraceLimit = tmpLimit;\n  ex.errno = errno;\n  ex.code = code;\n  ex.syscall = syscall;\n  if (hostname) {\n    ex.hostname = hostname;\n  }\n\n  // eslint-disable-next-line no-restricted-syntax\n  Error.captureStackTrace(ex, excludedStackFn || dnsException);\n  return ex;\n}\n\nfunction connResetException(msg) {\n  // eslint-disable-next-line no-restricted-syntax\n  const ex = new Error(msg);\n  ex.code = 'ECONNRESET';\n  return ex;\n}\n\nlet maxStack_ErrorName;\nlet maxStack_ErrorMessage;\n/**\n * Returns true if `err.name` and `err.message` are equal to engine-specific\n * values indicating max call stack size has been exceeded.\n * \"Maximum call stack size exceeded\" in V8.\n *\n * @param {Error} err\n * @returns {boolean}\n */\nfunction isStackOverflowError(err) {\n  if (maxStack_ErrorMessage === undefined) {\n    try {\n      function overflowStack() { overflowStack(); }\n      overflowStack();\n    } catch (err) {\n      maxStack_ErrorMessage = err.message;\n      maxStack_ErrorName = err.name;\n    }\n  }\n\n  return err && err.name === maxStack_ErrorName &&\n         err.message === maxStack_ErrorMessage;\n}\n\n// Only use this for integers! Decimal numbers do not work with this function.\nfunction addNumericalSeparator(val) {\n  let res = '';\n  let i = val.length;\n  const start = val[0] === '-' ? 1 : 0;\n  for (; i >= start + 4; i -= 3) {\n    res = `_${val.slice(i - 3, i)}${res}`;\n  }\n  return `${val.slice(0, i)}${res}`;\n}\n\n// Used to enhance the stack that will be picked up by the inspector\nconst kEnhanceStackBeforeInspector = Symbol('kEnhanceStackBeforeInspector');\n\n// These are supposed to be called only on fatal exceptions before\n// the process exits.\nconst fatalExceptionStackEnhancers = {\n  beforeInspector(error) {\n    if (typeof error[kEnhanceStackBeforeInspector] !== 'function') {\n      return error.stack;\n    }\n\n    try {\n      // Set the error.stack here so it gets picked up by the\n      // inspector.\n      error.stack = error[kEnhanceStackBeforeInspector]();\n    } catch {\n      // We are just enhancing the error. If it fails, ignore it.\n    }\n    return error.stack;\n  },\n  afterInspector(error) {\n    const originalStack = error.stack;\n    const {\n      inspect,\n      inspectDefaultOptions: {\n        colors: defaultColors\n      }\n    } = lazyInternalUtilInspect();\n    const colors = (internalBinding('util').guessHandleType(2) === 'TTY' &&\n                   require('internal/tty').hasColors()) ||\n                   defaultColors;\n    try {\n      return inspect(error, { colors });\n    } catch {\n      return originalStack;\n    }\n  }\n};\n\nmodule.exports = {\n  addCodeToName, // Exported for NghttpError\n  codes,\n  dnsException,\n  errnoException,\n  exceptionWithHostPort,\n  getMessage,\n  hideStackFrames,\n  isStackOverflowError,\n  connResetException,\n  uvErrmapGet,\n  uvException,\n  uvExceptionWithHostPort,\n  SystemError,\n  // This is exported only to facilitate testing.\n  E,\n  kNoOverride,\n  prepareStackTrace,\n  maybeOverridePrepareStackTrace,\n  overrideStackTrace,\n  kEnhanceStackBeforeInspector,\n  fatalExceptionStackEnhancers\n};\n\n// To declare an error message, use the E(sym, val, def) function above. The sym\n// must be an upper case string. The val can be either a function or a string.\n// The def must be an error class.\n// The return value of the function must be a string.\n// Examples:\n// E('EXAMPLE_KEY1', 'This is the error value', Error);\n// E('EXAMPLE_KEY2', (a, b) => return `${a} ${b}`, RangeError);\n//\n// Once an error code has been assigned, the code itself MUST NOT change and\n// any given error code must never be reused to identify a different error.\n//\n// Any error code added here should also be added to the documentation\n//\n// Note: Please try to keep these in alphabetical order\n//\n// Note: Node.js specific errors must begin with the prefix ERR_\nE('ERR_AMBIGUOUS_ARGUMENT', 'The \"%s\" argument is ambiguous. %s', TypeError);\nE('ERR_ARG_NOT_ITERABLE', '%s must be iterable', TypeError);\nE('ERR_ASSERTION', '%s', Error);\nE('ERR_ASYNC_CALLBACK', '%s must be a function', TypeError);\nE('ERR_ASYNC_TYPE', 'Invalid name for async \"type\": %s', TypeError);\nE('ERR_BROTLI_INVALID_PARAM', '%s is not a valid Brotli parameter', RangeError);\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n  // Using a default argument here is important so the argument is not counted\n  // towards `Function#length`.\n  (name = undefined) => {\n    if (name) {\n      return `\"${name}\" is outside of buffer bounds`;\n    }\n    return 'Attempt to access memory outside buffer bounds';\n  }, RangeError);\nE('ERR_BUFFER_TOO_LARGE',\n  `Cannot create a Buffer larger than 0x${kMaxLength.toString(16)} bytes`,\n  RangeError);\nE('ERR_CANNOT_WATCH_SIGINT', 'Cannot watch for SIGINT signals', Error);\nE('ERR_CHILD_CLOSED_BEFORE_REPLY',\n  'Child closed before reply received', Error);\nE('ERR_CHILD_PROCESS_IPC_REQUIRED',\n  \"Forked processes must have an IPC channel, missing value 'ipc' in %s\",\n  Error);\nE('ERR_CHILD_PROCESS_STDIO_MAXBUFFER', '%s maxBuffer length exceeded',\n  RangeError);\nE('ERR_CONSOLE_WRITABLE_STREAM',\n  'Console expects a writable stream instance for %s', TypeError);\nE('ERR_CONTEXT_NOT_INITIALIZED', 'context used is not initialized', Error);\nE('ERR_CPU_USAGE', 'Unable to obtain cpu usage %s', Error);\nE('ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED',\n  'Custom engines not supported by this OpenSSL', Error);\nE('ERR_CRYPTO_ECDH_INVALID_FORMAT', 'Invalid ECDH format: %s', TypeError);\nE('ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY',\n  'Public key is not valid for specified curve', Error);\nE('ERR_CRYPTO_ENGINE_UNKNOWN', 'Engine \"%s\" was not found', Error);\nE('ERR_CRYPTO_FIPS_FORCED',\n  'Cannot set FIPS mode, it was forced with --force-fips at startup.', Error);\nE('ERR_CRYPTO_FIPS_UNAVAILABLE', 'Cannot set FIPS mode in a non-FIPS build.',\n  Error);\nE('ERR_CRYPTO_HASH_FINALIZED', 'Digest already called', Error);\nE('ERR_CRYPTO_HASH_UPDATE_FAILED', 'Hash update failed', Error);\nE('ERR_CRYPTO_INCOMPATIBLE_KEY', 'Incompatible %s: %s', Error);\nE('ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS', 'The selected key encoding %s %s.',\n  Error);\nE('ERR_CRYPTO_INVALID_DIGEST', 'Invalid digest: %s', TypeError);\nE('ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE',\n  'Invalid key object type %s, expected %s.', TypeError);\nE('ERR_CRYPTO_INVALID_STATE', 'Invalid state for operation %s', Error);\nE('ERR_CRYPTO_PBKDF2_ERROR', 'PBKDF2 error', Error);\nE('ERR_CRYPTO_SCRYPT_INVALID_PARAMETER', 'Invalid scrypt parameter', Error);\nE('ERR_CRYPTO_SCRYPT_NOT_SUPPORTED', 'Scrypt algorithm not supported', Error);\n// Switch to TypeError. The current implementation does not seem right.\nE('ERR_CRYPTO_SIGN_KEY_REQUIRED', 'No key provided to sign', Error);\nE('ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH',\n  'Input buffers must have the same byte length', RangeError);\nE('ERR_DIR_CLOSED', 'Directory handle was closed', Error);\nE('ERR_DIR_CONCURRENT_OPERATION',\n  'Cannot do synchronous work on directory handle with concurrent ' +\n  'asynchronous operations', Error);\nE('ERR_DNS_SET_SERVERS_FAILED', 'c-ares failed to set servers: \"%s\" [%s]',\n  Error);\nE('ERR_DOMAIN_CALLBACK_NOT_AVAILABLE',\n  'A callback was registered through ' +\n     'process.setUncaughtExceptionCaptureCallback(), which is mutually ' +\n     'exclusive with using the `domain` module',\n  Error);\nE('ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE',\n  'The `domain` module is in use, which is mutually exclusive with calling ' +\n     'process.setUncaughtExceptionCaptureCallback()',\n  Error);\nE('ERR_ENCODING_INVALID_ENCODED_DATA', function(encoding, ret) {\n  this.errno = ret;\n  return `The encoded data was not valid for encoding ${encoding}`;\n}, TypeError);\nE('ERR_ENCODING_NOT_SUPPORTED', 'The \"%s\" encoding is not supported',\n  RangeError);\nE('ERR_EVAL_ESM_CANNOT_PRINT', '--print cannot be used with ESM input', Error);\nE('ERR_FALSY_VALUE_REJECTION', function(reason) {\n  this.reason = reason;\n  return 'Promise was rejected with falsy value';\n}, Error);\nE('ERR_FEATURE_UNAVAILABLE_ON_PLATFORM',\n  'The feature %s is unavailable on the current platform' +\n  ', which is being used to run Node.js',\n  TypeError);\nE('ERR_FS_FILE_TOO_LARGE', 'File size (%s) is greater than 2 GB', RangeError);\nE('ERR_FS_INVALID_SYMLINK_TYPE',\n  'Symlink type must be one of \"dir\", \"file\", or \"junction\". Received \"%s\"',\n  Error); // Switch to TypeError. The current implementation does not seem right\nE('ERR_HTTP2_ALTSVC_INVALID_ORIGIN',\n  'HTTP/2 ALTSVC frames require a valid origin', TypeError);\nE('ERR_HTTP2_ALTSVC_LENGTH',\n  'HTTP/2 ALTSVC frames are limited to 16382 bytes', TypeError);\nE('ERR_HTTP2_CONNECT_AUTHORITY',\n  ':authority header is required for CONNECT requests', Error);\nE('ERR_HTTP2_CONNECT_PATH',\n  'The :path header is forbidden for CONNECT requests', Error);\nE('ERR_HTTP2_CONNECT_SCHEME',\n  'The :scheme header is forbidden for CONNECT requests', Error);\nE('ERR_HTTP2_GOAWAY_SESSION',\n  'New streams cannot be created after receiving a GOAWAY', Error);\nE('ERR_HTTP2_HEADERS_AFTER_RESPOND',\n  'Cannot specify additional headers after response initiated', Error);\nE('ERR_HTTP2_HEADERS_SENT', 'Response has already been initiated.', Error);\nE('ERR_HTTP2_HEADER_SINGLE_VALUE',\n  'Header field \"%s\" must only have a single value', TypeError);\nE('ERR_HTTP2_INFO_STATUS_NOT_ALLOWED',\n  'Informational status codes cannot be used', RangeError);\nE('ERR_HTTP2_INVALID_CONNECTION_HEADERS',\n  'HTTP/1 Connection specific headers are forbidden: \"%s\"', TypeError);\nE('ERR_HTTP2_INVALID_HEADER_VALUE',\n  'Invalid value \"%s\" for header \"%s\"', TypeError);\nE('ERR_HTTP2_INVALID_INFO_STATUS',\n  'Invalid informational status code: %s', RangeError);\nE('ERR_HTTP2_INVALID_ORIGIN',\n  'HTTP/2 ORIGIN frames require a valid origin', TypeError);\nE('ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH',\n  'Packed settings length must be a multiple of six', RangeError);\nE('ERR_HTTP2_INVALID_PSEUDOHEADER',\n  '\"%s\" is an invalid pseudoheader or is used incorrectly', TypeError);\nE('ERR_HTTP2_INVALID_SESSION', 'The session has been destroyed', Error);\nE('ERR_HTTP2_INVALID_SETTING_VALUE',\n  // Using default arguments here is important so the arguments are not counted\n  // towards `Function#length`.\n  function(name, actual, min = undefined, max = undefined) {\n    this.actual = actual;\n    if (min !== undefined) {\n      this.min = min;\n      this.max = max;\n    }\n    return `Invalid value for setting \"${name}\": ${actual}`;\n  }, TypeError, RangeError);\nE('ERR_HTTP2_INVALID_STREAM', 'The stream has been destroyed', Error);\nE('ERR_HTTP2_MAX_PENDING_SETTINGS_ACK',\n  'Maximum number of pending settings acknowledgements', Error);\nE('ERR_HTTP2_NESTED_PUSH',\n  'A push stream cannot initiate another push stream.', Error);\nE('ERR_HTTP2_NO_SOCKET_MANIPULATION',\n  'HTTP/2 sockets should not be directly manipulated (e.g. read and written)',\n  Error);\nE('ERR_HTTP2_ORIGIN_LENGTH',\n  'HTTP/2 ORIGIN frames are limited to 16382 bytes', TypeError);\nE('ERR_HTTP2_OUT_OF_STREAMS',\n  'No stream ID is available because maximum stream ID has been reached',\n  Error);\nE('ERR_HTTP2_PAYLOAD_FORBIDDEN',\n  'Responses with %s status must not have a payload', Error);\nE('ERR_HTTP2_PING_CANCEL', 'HTTP2 ping cancelled', Error);\nE('ERR_HTTP2_PING_LENGTH', 'HTTP2 ping payload must be 8 bytes', RangeError);\nE('ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED',\n  'Cannot set HTTP/2 pseudo-headers', TypeError);\nE('ERR_HTTP2_PUSH_DISABLED', 'HTTP/2 client has disabled push streams', Error);\nE('ERR_HTTP2_SEND_FILE', 'Directories cannot be sent', Error);\nE('ERR_HTTP2_SEND_FILE_NOSEEK',\n  'Offset or length can only be specified for regular files', Error);\nE('ERR_HTTP2_SESSION_ERROR', 'Session closed with error code %s', Error);\nE('ERR_HTTP2_SETTINGS_CANCEL', 'HTTP2 session settings canceled', Error);\nE('ERR_HTTP2_SOCKET_BOUND',\n  'The socket is already bound to an Http2Session', Error);\nE('ERR_HTTP2_SOCKET_UNBOUND',\n  'The socket has been disconnected from the Http2Session', Error);\nE('ERR_HTTP2_STATUS_101',\n  'HTTP status code 101 (Switching Protocols) is forbidden in HTTP/2', Error);\nE('ERR_HTTP2_STATUS_INVALID', 'Invalid status code: %s', RangeError);\nE('ERR_HTTP2_STREAM_CANCEL', function(error) {\n  let msg = 'The pending stream has been canceled';\n  if (error) {\n    this.cause = error;\n    if (typeof error.message === 'string')\n      msg += ` (caused by: ${error.message})`;\n  }\n  return msg;\n}, Error);\nE('ERR_HTTP2_STREAM_ERROR', 'Stream closed with error code %s', Error);\nE('ERR_HTTP2_STREAM_SELF_DEPENDENCY',\n  'A stream cannot depend on itself', Error);\nE('ERR_HTTP2_TRAILERS_ALREADY_SENT',\n  'Trailing headers have already been sent', Error);\nE('ERR_HTTP2_TRAILERS_NOT_READY',\n  'Trailing headers cannot be sent until after the wantTrailers event is ' +\n  'emitted', Error);\nE('ERR_HTTP2_UNSUPPORTED_PROTOCOL', 'protocol \"%s\" is unsupported.', Error);\nE('ERR_HTTP_HEADERS_SENT',\n  'Cannot %s headers after they are sent to the client', Error);\nE('ERR_HTTP_INVALID_HEADER_VALUE',\n  'Invalid value \"%s\" for header \"%s\"', TypeError);\nE('ERR_HTTP_INVALID_STATUS_CODE', 'Invalid status code: %s', RangeError);\nE('ERR_HTTP_TRAILER_INVALID',\n  'Trailers are invalid with this transfer encoding', Error);\nE('ERR_INCOMPATIBLE_OPTION_PAIR',\n  'Option \"%s\" cannot be used in combination with option \"%s\"', TypeError);\nE('ERR_INPUT_TYPE_NOT_ALLOWED', '--input-type can only be used with string ' +\n  'input via --eval, --print, or STDIN', Error);\nE('ERR_INSPECTOR_ALREADY_CONNECTED', '%s is already connected', Error);\nE('ERR_INSPECTOR_CLOSED', 'Session was closed', Error);\nE('ERR_INSPECTOR_COMMAND', 'Inspector error %d: %s', Error);\nE('ERR_INSPECTOR_NOT_ACTIVE', 'Inspector is not active', Error);\nE('ERR_INSPECTOR_NOT_AVAILABLE', 'Inspector is not available', Error);\nE('ERR_INSPECTOR_NOT_CONNECTED', 'Session is not connected', Error);\nE('ERR_INSPECTOR_NOT_WORKER', 'Current thread is not a worker', Error);\nE('ERR_INTERNAL_ASSERTION', (message) => {\n  const suffix = 'This is caused by either a bug in Node.js ' +\n    'or incorrect usage of Node.js internals.\\n' +\n    'Please open an issue with this stack trace at ' +\n    'https://github.com/nodejs/node/issues\\n';\n  return message === undefined ? suffix : `${message}\\n${suffix}`;\n}, Error);\nE('ERR_INVALID_ADDRESS_FAMILY', function(addressType, host, port) {\n  this.host = host;\n  this.port = port;\n  return `Invalid address family: ${addressType} ${host}:${port}`;\n}, RangeError);\nE('ERR_INVALID_ARG_TYPE',\n  (name, expected, actual) => {\n    assert(typeof name === 'string', \"'name' must be a string\");\n    if (!ArrayIsArray(expected)) {\n      expected = [expected];\n    }\n\n    let msg = 'The ';\n    if (name.endsWith(' argument')) {\n      // For cases like 'first argument'\n      msg += `${name} `;\n    } else {\n      const type = name.includes('.') ? 'property' : 'argument';\n      msg += `\"${name}\" ${type} `;\n    }\n    msg += 'must be ';\n\n    const types = [];\n    const instances = [];\n    const other = [];\n\n    for (const value of expected) {\n      assert(typeof value === 'string',\n             'All expected entries have to be of type string');\n      if (kTypes.includes(value)) {\n        types.push(value.toLowerCase());\n      } else if (classRegExp.test(value)) {\n        instances.push(value);\n      } else {\n        assert(value !== 'object',\n               'The value \"object\" should be written as \"Object\"');\n        other.push(value);\n      }\n    }\n\n    // Special handle `object` in case other instances are allowed to outline\n    // the differences between each other.\n    if (instances.length > 0) {\n      const pos = types.indexOf('object');\n      if (pos !== -1) {\n        types.splice(pos, 1);\n        instances.push('Object');\n      }\n    }\n\n    if (types.length > 0) {\n      if (types.length > 2) {\n        const last = types.pop();\n        msg += `one of type ${types.join(', ')}, or ${last}`;\n      } else if (types.length === 2) {\n        msg += `one of type ${types[0]} or ${types[1]}`;\n      } else {\n        msg += `of type ${types[0]}`;\n      }\n      if (instances.length > 0 || other.length > 0)\n        msg += ' or ';\n    }\n\n    if (instances.length > 0) {\n      if (instances.length > 2) {\n        const last = instances.pop();\n        msg += `an instance of ${instances.join(', ')}, or ${last}`;\n      } else {\n        msg += `an instance of ${instances[0]}`;\n        if (instances.length === 2) {\n          msg += ` or ${instances[1]}`;\n        }\n      }\n      if (other.length > 0)\n        msg += ' or ';\n    }\n\n    if (other.length > 0) {\n      if (other.length > 2) {\n        const last = other.pop();\n        msg += `one of ${other.join(', ')}, or ${last}`;\n      } else if (other.length === 2) {\n        msg += `one of ${other[0]} or ${other[1]}`;\n      } else {\n        if (other[0].toLowerCase() !== other[0])\n          msg += 'an ';\n        msg += `${other[0]}`;\n      }\n    }\n\n    if (actual == null) {\n      msg += `. Received ${actual}`;\n    } else if (typeof actual === 'function' && actual.name) {\n      msg += `. Received function ${actual.name}`;\n    } else if (typeof actual === 'object') {\n      if (actual.constructor && actual.constructor.name) {\n        msg += `. Received an instance of ${actual.constructor.name}`;\n      } else {\n        const inspected = lazyInternalUtilInspect()\n          .inspect(actual, { depth: -1 });\n        msg += `. Received ${inspected}`;\n      }\n    } else {\n      let inspected = lazyInternalUtilInspect()\n        .inspect(actual, { colors: false });\n      if (inspected.length > 25)\n        inspected = `${inspected.slice(0, 25)}...`;\n      msg += `. Received type ${typeof actual} (${inspected})`;\n    }\n    return msg;\n  }, TypeError);\nE('ERR_INVALID_ARG_VALUE', (name, value, reason = 'is invalid') => {\n  let inspected = lazyInternalUtilInspect().inspect(value);\n  if (inspected.length > 128) {\n    inspected = `${inspected.slice(0, 128)}...`;\n  }\n  return `The argument '${name}' ${reason}. Received ${inspected}`;\n}, TypeError, RangeError);\nE('ERR_INVALID_ASYNC_ID', 'Invalid %s value: %s', RangeError);\nE('ERR_INVALID_BUFFER_SIZE',\n  'Buffer size must be a multiple of %s', RangeError);\nE('ERR_INVALID_CALLBACK',\n  'Callback must be a function. Received %O', TypeError);\nE('ERR_INVALID_CHAR',\n  // Using a default argument here is important so the argument is not counted\n  // towards `Function#length`.\n  (name, field = undefined) => {\n    let msg = `Invalid character in ${name}`;\n    if (field !== undefined) {\n      msg += ` [\"${field}\"]`;\n    }\n    return msg;\n  }, TypeError);\nE('ERR_INVALID_CURSOR_POS',\n  'Cannot set cursor row without setting its column', TypeError);\nE('ERR_INVALID_FD',\n  '\"fd\" must be a positive integer: %s', RangeError);\nE('ERR_INVALID_FD_TYPE', 'Unsupported fd type: %s', TypeError);\nE('ERR_INVALID_FILE_URL_HOST',\n  'File URL host must be \"localhost\" or empty on %s', TypeError);\nE('ERR_INVALID_FILE_URL_PATH', 'File URL path %s', TypeError);\nE('ERR_INVALID_HANDLE_TYPE', 'This handle type cannot be sent', TypeError);\nE('ERR_INVALID_HTTP_TOKEN', '%s must be a valid HTTP token [\"%s\"]', TypeError);\nE('ERR_INVALID_IP_ADDRESS', 'Invalid IP address: %s', TypeError);\nE('ERR_INVALID_MODULE_SPECIFIER', (pkgPath, subpath, base = undefined) => {\n  if (subpath === undefined) {\n    return `Invalid package name '${pkgPath}' imported from ${base}`;\n  } else if (base === undefined) {\n    assert(subpath !== '.');\n    return `Package subpath '${subpath}' is not a valid module request for ` +\n      `the \"exports\" resolution of ${pkgPath}${sep}package.json`;\n  }\n  return `Package subpath '${subpath}' is not a valid module request for ` +\n      `the \"exports\" resolution of ${pkgPath} imported from ${base}`;\n}, TypeError);\nE('ERR_INVALID_OPT_VALUE', (name, value) =>\n  `The value \"${String(value)}\" is invalid for option \"${name}\"`,\n  TypeError,\n  RangeError);\nE('ERR_INVALID_OPT_VALUE_ENCODING',\n  'The value \"%s\" is invalid for option \"encoding\"', TypeError);\nE('ERR_INVALID_PACKAGE_CONFIG', (path, message, hasMessage = true) => {\n  if (hasMessage)\n    return `Invalid package config ${path}${sep}package.json, ${message}`;\n  return `Invalid JSON in ${path} imported from ${message}`;\n}, Error);\nE('ERR_INVALID_PACKAGE_TARGET',\n  (pkgPath, key, subpath, target, base = undefined) => {\n    const relError = typeof target === 'string' &&\n      target.length && !StringPrototypeStartsWith(target, './');\n    if (key === null) {\n      if (subpath !== '') {\n        return `Invalid \"exports\" target ${JSONStringify(target)} defined ` +\n        `for '${subpath}' in the package config ${pkgPath} imported from ` +\n        `${base}.${relError ? '; targets must start with \"./\"' : ''}`;\n      }\n      return `Invalid \"exports\" main target ${target} defined in the ` +\n        `package config ${pkgPath} imported from ${base}${relError ?\n          '; targets must start with \"./\"' : ''}`;\n    } else if (key === '.') {\n      return `Invalid \"exports\" main target ${JSONStringify(target)} defined ` +\n      `in the package config ${pkgPath}${sep}package.json${relError ?\n        '; targets must start with \"./\"' : ''}`;\n    } else if (relError) {\n      return `Invalid \"exports\" target ${JSONStringify(target)} defined for '${\n        StringPrototypeSlice(key, 0, -subpath.length || key.length)}' in the ` +\n        `package config ${pkgPath}${sep}package.json; ` +\n        'targets must start with \"./\"';\n    }\n    return `Invalid \"exports\" target ${JSONStringify(target)} defined for '${\n      StringPrototypeSlice(key, 0, -subpath.length || key.length)}' in the ` +\n    `package config ${pkgPath}${sep}package.json`;\n  }, Error);\nE('ERR_INVALID_PERFORMANCE_MARK',\n  'The \"%s\" performance mark has not been set', Error);\nE('ERR_INVALID_PROTOCOL',\n  'Protocol \"%s\" not supported. Expected \"%s\"',\n  TypeError);\nE('ERR_INVALID_REPL_EVAL_CONFIG',\n  'Cannot specify both \"breakEvalOnSigint\" and \"eval\" for REPL', TypeError);\nE('ERR_INVALID_REPL_INPUT', '%s', TypeError);\nE('ERR_INVALID_RETURN_PROPERTY', (input, name, prop, value) => {\n  return `Expected a valid ${input} to be returned for the \"${prop}\" from the` +\n         ` \"${name}\" function but got ${value}.`;\n}, TypeError);\nE('ERR_INVALID_RETURN_PROPERTY_VALUE', (input, name, prop, value) => {\n  let type;\n  if (value && value.constructor && value.constructor.name) {\n    type = `instance of ${value.constructor.name}`;\n  } else {\n    type = `type ${typeof value}`;\n  }\n  return `Expected ${input} to be returned for the \"${prop}\" from the` +\n         ` \"${name}\" function but got ${type}.`;\n}, TypeError);\nE('ERR_INVALID_RETURN_VALUE', (input, name, value) => {\n  let type;\n  if (value && value.constructor && value.constructor.name) {\n    type = `instance of ${value.constructor.name}`;\n  } else {\n    type = `type ${typeof value}`;\n  }\n  return `Expected ${input} to be returned from the \"${name}\"` +\n         ` function but got ${type}.`;\n}, TypeError);\nE('ERR_INVALID_SYNC_FORK_INPUT',\n  'Asynchronous forks do not support ' +\n    'Buffer, TypedArray, DataView or string input: %s',\n  TypeError);\nE('ERR_INVALID_THIS', 'Value of \"this\" must be of type %s', TypeError);\nE('ERR_INVALID_TUPLE', '%s must be an iterable %s tuple', TypeError);\nE('ERR_INVALID_URI', 'URI malformed', URIError);\nE('ERR_INVALID_URL', function(input) {\n  this.input = input;\n  return `Invalid URL: ${input}`;\n}, TypeError);\nE('ERR_INVALID_URL_SCHEME',\n  (expected) => {\n    if (typeof expected === 'string')\n      expected = [expected];\n    assert(expected.length <= 2);\n    const res = expected.length === 2 ?\n      `one of scheme ${expected[0]} or ${expected[1]}` :\n      `of scheme ${expected[0]}`;\n    return `The URL must be ${res}`;\n  }, TypeError);\nE('ERR_IPC_CHANNEL_CLOSED', 'Channel closed', Error);\nE('ERR_IPC_DISCONNECTED', 'IPC channel is already disconnected', Error);\nE('ERR_IPC_ONE_PIPE', 'Child process can have only one IPC pipe', Error);\nE('ERR_IPC_SYNC_FORK', 'IPC cannot be used with synchronous forks', Error);\nE('ERR_MANIFEST_ASSERT_INTEGRITY',\n  (moduleURL, realIntegrities) => {\n    let msg = `The content of \"${\n      moduleURL\n    }\" does not match the expected integrity.`;\n    if (realIntegrities.size) {\n      const sri = [...realIntegrities.entries()].map(([alg, dgs]) => {\n        return `${alg}-${dgs}`;\n      }).join(' ');\n      msg += ` Integrities found are: ${sri}`;\n    } else {\n      msg += ' The resource was not found in the policy.';\n    }\n    return msg;\n  }, Error);\nE('ERR_MANIFEST_DEPENDENCY_MISSING',\n  'Manifest resource %s does not list %s as a dependency specifier',\n  Error);\nE('ERR_MANIFEST_INTEGRITY_MISMATCH',\n  'Manifest resource %s has multiple entries but integrity lists do not match',\n  SyntaxError);\nE('ERR_MANIFEST_INVALID_RESOURCE_FIELD',\n  'Manifest resource %s has invalid property value for %s',\n  TypeError);\nE('ERR_MANIFEST_TDZ', 'Manifest initialization has not yet run', Error);\nE('ERR_MANIFEST_UNKNOWN_ONERROR',\n  'Manifest specified unknown error behavior \"%s\".',\n  SyntaxError);\nE('ERR_METHOD_NOT_IMPLEMENTED', 'The %s method is not implemented', Error);\nE('ERR_MISSING_ARGS',\n  (...args) => {\n    assert(args.length > 0, 'At least one arg needs to be specified');\n    let msg = 'The ';\n    const len = args.length;\n    args = args.map((a) => `\"${a}\"`);\n    switch (len) {\n      case 1:\n        msg += `${args[0]} argument`;\n        break;\n      case 2:\n        msg += `${args[0]} and ${args[1]} arguments`;\n        break;\n      default:\n        msg += args.slice(0, len - 1).join(', ');\n        msg += `, and ${args[len - 1]} arguments`;\n        break;\n    }\n    return `${msg} must be specified`;\n  }, TypeError);\nE('ERR_MISSING_DYNAMIC_INSTANTIATE_HOOK',\n  'The ES Module loader may not return a format of \\'dynamic\\' when no ' +\n  'dynamicInstantiate function was provided', Error);\nE('ERR_MISSING_OPTION', '%s is required', TypeError);\nE('ERR_MODULE_NOT_FOUND', (path, base, type = 'package') => {\n  return `Cannot find ${type} '${path}' imported from ${base}`;\n}, Error);\nE('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times', Error);\nE('ERR_NAPI_CONS_FUNCTION', 'Constructor must be a function', TypeError);\nE('ERR_NAPI_INVALID_DATAVIEW_ARGS',\n  'byte_offset + byte_length should be less than or equal to the size in ' +\n    'bytes of the array passed in',\n  RangeError);\nE('ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT',\n  'start offset of %s should be a multiple of %s', RangeError);\nE('ERR_NAPI_INVALID_TYPEDARRAY_LENGTH',\n  'Invalid typed array length', RangeError);\nE('ERR_NO_CRYPTO',\n  'Node.js is not compiled with OpenSSL crypto support', Error);\nE('ERR_NO_ICU',\n  '%s is not supported on Node.js compiled without ICU', TypeError);\nE('ERR_OUT_OF_RANGE',\n  (str, range, input, replaceDefaultBoolean = false) => {\n    assert(range, 'Missing \"range\" argument');\n    let msg = replaceDefaultBoolean ? str :\n      `The value of \"${str}\" is out of range.`;\n    let received;\n    if (NumberIsInteger(input) && MathAbs(input) > 2 ** 32) {\n      received = addNumericalSeparator(String(input));\n    } else if (typeof input === 'bigint') {\n      received = String(input);\n      if (input > 2n ** 32n || input < -(2n ** 32n)) {\n        received = addNumericalSeparator(received);\n      }\n      received += 'n';\n    } else {\n      received = lazyInternalUtilInspect().inspect(input);\n    }\n    msg += ` It must be ${range}. Received ${received}`;\n    return msg;\n  }, RangeError);\nE('ERR_PACKAGE_PATH_NOT_EXPORTED', (pkgPath, subpath, base = undefined) => {\n  if (subpath === '.') {\n    return `No \"exports\" main resolved in ${pkgPath}${sep}package.json`;\n  } else if (base === undefined) {\n    return `Package subpath '${subpath}' is not defined by \"exports\" in ${\n      pkgPath}${sep}package.json`;\n  }\n  return `Package subpath '${subpath}' is not defined by \"exports\" in ${\n    pkgPath} imported from ${base}`;\n}, Error);\nE('ERR_REQUIRE_ESM',\n  (filename, parentPath = null, packageJsonPath = null) => {\n    let msg = `Must use import to load ES Module: ${filename}`;\n    if (parentPath && packageJsonPath) {\n      const path = require('path');\n      const basename = path.basename(filename) === path.basename(parentPath) ?\n        filename : path.basename(filename);\n      msg +=\n        '\\nrequire() of ES modules is not supported.\\nrequire() of ' +\n        `${filename} ${parentPath ? `from ${parentPath} ` : ''}` +\n        'is an ES module file as it is a .js file whose nearest parent ' +\n        'package.json contains \"type\": \"module\" which defines all .js ' +\n        'files in that package scope as ES modules.\\nInstead rename ' +\n        `${basename} to end in .cjs, change the requiring code to use ` +\n        'import(), or remove \"type\": \"module\" from ' +\n        `${packageJsonPath}.\\n`;\n      return msg;\n    }\n    return msg;\n  }, Error);\nE('ERR_SCRIPT_EXECUTION_INTERRUPTED',\n  'Script execution was interrupted by `SIGINT`', Error);\nE('ERR_SERVER_ALREADY_LISTEN',\n  'Listen method has been called more than once without closing.', Error);\nE('ERR_SERVER_NOT_RUNNING', 'Server is not running.', Error);\nE('ERR_SOCKET_ALREADY_BOUND', 'Socket is already bound', Error);\nE('ERR_SOCKET_BAD_BUFFER_SIZE',\n  'Buffer size must be a positive integer', TypeError);\nE('ERR_SOCKET_BAD_PORT', (name, port, allowZero = true) => {\n  assert(typeof allowZero === 'boolean',\n         \"The 'allowZero' argument must be of type boolean.\");\n  const operator = allowZero ? '>=' : '>';\n  return `${name} should be ${operator} 0 and < 65536. Received ${port}.`;\n}, RangeError);\nE('ERR_SOCKET_BAD_TYPE',\n  'Bad socket type specified. Valid types are: udp4, udp6', TypeError);\nE('ERR_SOCKET_BUFFER_SIZE',\n  'Could not get or set buffer size',\n  SystemError);\nE('ERR_SOCKET_CLOSED', 'Socket is closed', Error);\nE('ERR_SOCKET_DGRAM_IS_CONNECTED', 'Already connected', Error);\nE('ERR_SOCKET_DGRAM_NOT_CONNECTED', 'Not connected', Error);\nE('ERR_SOCKET_DGRAM_NOT_RUNNING', 'Not running', Error);\nE('ERR_SRI_PARSE',\n  'Subresource Integrity string %j had an unexpected %j at position %d',\n  SyntaxError);\nE('ERR_STREAM_ALREADY_FINISHED',\n  'Cannot call %s after a stream was finished',\n  Error);\nE('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable', Error);\nE('ERR_STREAM_DESTROYED', 'Cannot call %s after a stream was destroyed', Error);\nE('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\nE('ERR_STREAM_PREMATURE_CLOSE', 'Premature close', Error);\nE('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF', Error);\nE('ERR_STREAM_UNSHIFT_AFTER_END_EVENT',\n  'stream.unshift() after end event', Error);\nE('ERR_STREAM_WRAP', 'Stream has StringDecoder set or is in objectMode', Error);\nE('ERR_STREAM_WRITE_AFTER_END', 'write after end', Error);\nE('ERR_SYNTHETIC', 'JavaScript Callstack', Error);\nE('ERR_SYSTEM_ERROR', 'A system error occurred', SystemError);\nE('ERR_TLS_CERT_ALTNAME_INVALID', function(reason, host, cert) {\n  this.reason = reason;\n  this.host = host;\n  this.cert = cert;\n  return `Hostname/IP does not match certificate's altnames: ${reason}`;\n}, Error);\nE('ERR_TLS_DH_PARAM_SIZE', 'DH parameter size %s is less than 2048', Error);\nE('ERR_TLS_HANDSHAKE_TIMEOUT', 'TLS handshake timeout', Error);\nE('ERR_TLS_INVALID_CONTEXT', '%s must be a SecureContext', TypeError),\nE('ERR_TLS_INVALID_STATE', 'TLS socket connection must be securely established',\n  Error),\nE('ERR_TLS_INVALID_PROTOCOL_VERSION',\n  '%j is not a valid %s TLS protocol version', TypeError);\nE('ERR_TLS_PROTOCOL_VERSION_CONFLICT',\n  'TLS protocol version %j conflicts with secureProtocol %j', TypeError);\nE('ERR_TLS_RENEGOTIATION_DISABLED',\n  'TLS session renegotiation disabled for this socket', Error);\n\n// This should probably be a `TypeError`.\nE('ERR_TLS_REQUIRED_SERVER_NAME',\n  '\"servername\" is required parameter for Server.addContext', Error);\nE('ERR_TLS_SESSION_ATTACK', 'TLS session renegotiation attack detected', Error);\nE('ERR_TLS_SNI_FROM_SERVER',\n  'Cannot issue SNI from a TLS server-side socket', Error);\nE('ERR_TRACE_EVENTS_CATEGORY_REQUIRED',\n  'At least one category is required', TypeError);\nE('ERR_TRACE_EVENTS_UNAVAILABLE', 'Trace events are unavailable', Error);\n\n// This should probably be a `RangeError`.\nE('ERR_TTY_INIT_FAILED', 'TTY initialization failed', SystemError);\nE('ERR_UNAVAILABLE_DURING_EXIT', 'Cannot call function in process exit ' +\n  'handler', Error);\nE('ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET',\n  '`process.setupUncaughtExceptionCapture()` was called while a capture ' +\n    'callback was already active',\n  Error);\nE('ERR_UNESCAPED_CHARACTERS', '%s contains unescaped characters', TypeError);\nE('ERR_UNHANDLED_ERROR',\n  // Using a default argument here is important so the argument is not counted\n  // towards `Function#length`.\n  (err = undefined) => {\n    const msg = 'Unhandled error.';\n    if (err === undefined) return msg;\n    return `${msg} (${err})`;\n  }, Error);\nE('ERR_UNKNOWN_BUILTIN_MODULE', 'No such built-in module: %s', Error);\nE('ERR_UNKNOWN_CREDENTIAL', '%s identifier does not exist: %s', Error);\nE('ERR_UNKNOWN_ENCODING', 'Unknown encoding: %s', TypeError);\nE('ERR_UNKNOWN_FILE_EXTENSION',\n  'Unknown file extension \"%s\" for %s',\n  TypeError);\nE('ERR_UNKNOWN_MODULE_FORMAT', 'Unknown module format: %s', RangeError);\nE('ERR_UNKNOWN_SIGNAL', 'Unknown signal: %s', TypeError);\nE('ERR_UNSUPPORTED_DIR_IMPORT', \"Directory import '%s' is not supported \" +\n'resolving ES modules, imported from %s', Error);\nE('ERR_UNSUPPORTED_ESM_URL_SCHEME', 'Only file and data URLs are supported ' +\n  'by the default ESM loader', Error);\n\nE('ERR_V8BREAKITERATOR',\n  'Full ICU data not installed. See https://github.com/nodejs/node/wiki/Intl',\n  Error);\n\n// This should probably be a `TypeError`.\nE('ERR_VALID_PERFORMANCE_ENTRY_TYPE',\n  'At least one valid performance entry type is required', Error);\nE('ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING',\n  'A dynamic import callback was not specified.', TypeError);\nE('ERR_VM_MODULE_ALREADY_LINKED', 'Module has already been linked', Error);\nE('ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA',\n  'Cached data cannot be created for a module which has been evaluated', Error);\nE('ERR_VM_MODULE_DIFFERENT_CONTEXT',\n  'Linked modules must use the same context', Error);\nE('ERR_VM_MODULE_LINKING_ERRORED',\n  'Linking has already failed for the provided module', Error);\nE('ERR_VM_MODULE_NOT_MODULE',\n  'Provided module is not an instance of Module', Error);\nE('ERR_VM_MODULE_STATUS', 'Module status %s', Error);\nE('ERR_WASI_ALREADY_STARTED', 'WASI instance has already started', Error);\nE('ERR_WORKER_INIT_FAILED', 'Worker initialization failure: %s', Error);\nE('ERR_WORKER_INVALID_EXEC_ARGV', (errors, msg = 'invalid execArgv flags') =>\n  `Initiated Worker with ${msg}: ${errors.join(', ')}`,\n  Error);\nE('ERR_WORKER_NOT_RUNNING', 'Worker instance not running', Error);\nE('ERR_WORKER_OUT_OF_MEMORY',\n  'Worker terminated due to reaching memory limit: %s', Error);\nE('ERR_WORKER_PATH', (filename) =>\n  'The worker script or module filename must be an absolute path or a ' +\n  'relative path starting with \\'./\\' or \\'../\\'.' +\n  (filename.startsWith('file://') ?\n    ' Wrap file:// URLs with `new URL`.' : ''\n  ) +\n  ` Received \"${filename}\"`,\n  TypeError);\nE('ERR_WORKER_UNSERIALIZABLE_ERROR',\n  'Serializing an uncaught exception failed', Error);\nE('ERR_WORKER_UNSUPPORTED_EXTENSION',\n  'The worker script extension must be \".js\", \".mjs\", or \".cjs\". Received \"%s\"',\n  TypeError);\nE('ERR_WORKER_UNSUPPORTED_OPERATION',\n  '%s is not supported in workers', TypeError);\nE('ERR_ZLIB_INITIALIZATION_FAILED', 'Initialization failed', Error);\n"
  },
  {
    "path": "raw/node-internal-modules-cjs-helpers-v17.0.1-stripped.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/v17.0.1/lib/internal/modules/cjs/helpers.js\n\n'use strict';\n\nconst {\n  ArrayPrototypeForEach,\n  ObjectDefineProperty,\n  ObjectPrototypeHasOwnProperty,\n  SafeSet,\n  StringPrototypeIncludes,\n  StringPrototypeSlice,\n  StringPrototypeStartsWith,\n} = primordials;\n\nconst { getOptionValue } = require('internal/options');\nconst userConditions = getOptionValue('--conditions');\n\nconst noAddons = getOptionValue('--no-addons');\nconst addonConditions = noAddons ? [] : ['node-addons'];\n\n// TODO: Use this set when resolving pkg#exports conditions in loader.js.\nconst cjsConditions = new SafeSet([\n  'require',\n  'node',\n  ...addonConditions,\n  ...userConditions,\n]);\n\nfunction addBuiltinLibsToObject(object, dummyModuleName) {\n  // Make built-in modules available directly (loaded lazily).\n  const Module = require('internal/modules/cjs/loader').Module;\n  const { builtinModules } = Module;\n\n  // To require built-in modules in user-land and ignore modules whose\n  // `canBeRequiredByUsers` is false. So we create a dummy module object and not\n  // use `require()` directly.\n  const dummyModule = new Module(dummyModuleName);\n\n  ArrayPrototypeForEach(builtinModules, (name) => {\n    // Neither add underscored modules, nor ones that contain slashes (e.g.,\n    // 'fs/promises') or ones that are already defined.\n    if (StringPrototypeStartsWith(name, '_') ||\n        StringPrototypeIncludes(name, '/') ||\n        ObjectPrototypeHasOwnProperty(object, name)) {\n      return;\n    }\n    // Goals of this mechanism are:\n    // - Lazy loading of built-in modules\n    // - Having all built-in modules available as non-enumerable properties\n    // - Allowing the user to re-assign these variables as if there were no\n    //   pre-existing globals with the same name.\n\n    const setReal = (val) => {\n      // Deleting the property before re-assigning it disables the\n      // getter/setter mechanism.\n      delete object[name];\n      object[name] = val;\n    };\n\n    ObjectDefineProperty(object, name, {\n      get: () => {\n        const lib = dummyModule.require(name);\n\n        // Disable the current getter/setter and set up a new\n        // non-enumerable property.\n        delete object[name];\n        ObjectDefineProperty(object, name, {\n          get: () => lib,\n          set: setReal,\n          configurable: true,\n          enumerable: false\n        });\n\n        return lib;\n      },\n      set: setReal,\n      configurable: true,\n      enumerable: false\n    });\n  });\n}\n"
  },
  {
    "path": "raw/node-internal-modules-cjs-helpers-v17.0.1.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/v17.0.1/lib/internal/modules/cjs/helpers.js\n\n'use strict';\n\nconst {\n  ArrayPrototypeForEach,\n  ArrayPrototypeJoin,\n  ArrayPrototypeSome,\n  ObjectDefineProperty,\n  ObjectPrototypeHasOwnProperty,\n  SafeMap,\n  SafeSet,\n  StringPrototypeCharCodeAt,\n  StringPrototypeIncludes,\n  StringPrototypeSlice,\n  StringPrototypeStartsWith,\n} = primordials;\nconst {\n  ERR_MANIFEST_DEPENDENCY_MISSING,\n  ERR_UNKNOWN_BUILTIN_MODULE\n} = require('internal/errors').codes;\nconst { NativeModule } = require('internal/bootstrap/loaders');\n\nconst { validateString } = require('internal/validators');\nconst path = require('path');\nconst { pathToFileURL, fileURLToPath, URL } = require('internal/url');\n\nconst { getOptionValue } = require('internal/options');\nconst userConditions = getOptionValue('--conditions');\n\nlet debug = require('internal/util/debuglog').debuglog('module', (fn) => {\n  debug = fn;\n});\n\nconst noAddons = getOptionValue('--no-addons');\nconst addonConditions = noAddons ? [] : ['node-addons'];\n\n// TODO: Use this set when resolving pkg#exports conditions in loader.js.\nconst cjsConditions = new SafeSet([\n  'require',\n  'node',\n  ...addonConditions,\n  ...userConditions,\n]);\n\nfunction loadNativeModule(filename, request) {\n  const mod = NativeModule.map.get(filename);\n  if (mod?.canBeRequiredByUsers) {\n    debug('load native module %s', request);\n    // compileForPublicLoader() throws if mod.canBeRequiredByUsers is false:\n    mod.compileForPublicLoader();\n    return mod;\n  }\n}\n\n// Invoke with makeRequireFunction(module) where |module| is the Module object\n// to use as the context for the require() function.\n// Use redirects to set up a mapping from a policy and restrict dependencies\nconst urlToFileCache = new SafeMap();\nfunction makeRequireFunction(mod, redirects) {\n  const Module = mod.constructor;\n\n  let require;\n  if (redirects) {\n    const id = mod.filename || mod.id;\n    const conditions = cjsConditions;\n    const { resolve, reaction } = redirects;\n    require = function require(specifier) {\n      let missing = true;\n      const destination = resolve(specifier, conditions);\n      if (destination === true) {\n        missing = false;\n      } else if (destination) {\n        const href = destination.href;\n        if (destination.protocol === 'node:') {\n          const specifier = destination.pathname;\n          const mod = loadNativeModule(specifier, href);\n          if (mod && mod.canBeRequiredByUsers) {\n            return mod.exports;\n          }\n          throw new ERR_UNKNOWN_BUILTIN_MODULE(specifier);\n        } else if (destination.protocol === 'file:') {\n          let filepath;\n          if (urlToFileCache.has(href)) {\n            filepath = urlToFileCache.get(href);\n          } else {\n            filepath = fileURLToPath(destination);\n            urlToFileCache.set(href, filepath);\n          }\n          return mod.require(filepath);\n        }\n      }\n      if (missing) {\n        reaction(new ERR_MANIFEST_DEPENDENCY_MISSING(\n          id,\n          specifier,\n          ArrayPrototypeJoin([...conditions], ', ')\n        ));\n      }\n      return mod.require(specifier);\n    };\n  } else {\n    require = function require(path) {\n      return mod.require(path);\n    };\n  }\n\n  function resolve(request, options) {\n    validateString(request, 'request');\n    return Module._resolveFilename(request, mod, false, options);\n  }\n\n  require.resolve = resolve;\n\n  function paths(request) {\n    validateString(request, 'request');\n    return Module._resolveLookupPaths(request, mod);\n  }\n\n  resolve.paths = paths;\n\n  require.main = process.mainModule;\n\n  // Enable support to add extra extension types.\n  require.extensions = Module._extensions;\n\n  require.cache = Module._cache;\n\n  return require;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n * because the buffer-to-string conversion in `fs.readFileSync()`\n * translates it to FEFF, the UTF-16 BOM.\n */\nfunction stripBOM(content) {\n  if (StringPrototypeCharCodeAt(content) === 0xFEFF) {\n    content = StringPrototypeSlice(content, 1);\n  }\n  return content;\n}\n\nfunction addBuiltinLibsToObject(object, dummyModuleName) {\n  // Make built-in modules available directly (loaded lazily).\n  const Module = require('internal/modules/cjs/loader').Module;\n  const { builtinModules } = Module;\n\n  // To require built-in modules in user-land and ignore modules whose\n  // `canBeRequiredByUsers` is false. So we create a dummy module object and not\n  // use `require()` directly.\n  const dummyModule = new Module(dummyModuleName);\n\n  ArrayPrototypeForEach(builtinModules, (name) => {\n    // Neither add underscored modules, nor ones that contain slashes (e.g.,\n    // 'fs/promises') or ones that are already defined.\n    if (StringPrototypeStartsWith(name, '_') ||\n        StringPrototypeIncludes(name, '/') ||\n        ObjectPrototypeHasOwnProperty(object, name)) {\n      return;\n    }\n    // Goals of this mechanism are:\n    // - Lazy loading of built-in modules\n    // - Having all built-in modules available as non-enumerable properties\n    // - Allowing the user to re-assign these variables as if there were no\n    //   pre-existing globals with the same name.\n\n    const setReal = (val) => {\n      // Deleting the property before re-assigning it disables the\n      // getter/setter mechanism.\n      delete object[name];\n      object[name] = val;\n    };\n\n    ObjectDefineProperty(object, name, {\n      get: () => {\n        const lib = dummyModule.require(name);\n\n        // Disable the current getter/setter and set up a new\n        // non-enumerable property.\n        delete object[name];\n        ObjectDefineProperty(object, name, {\n          get: () => lib,\n          set: setReal,\n          configurable: true,\n          enumerable: false\n        });\n\n        return lib;\n      },\n      set: setReal,\n      configurable: true,\n      enumerable: false\n    });\n  });\n}\n\nfunction normalizeReferrerURL(referrer) {\n  if (typeof referrer === 'string' && path.isAbsolute(referrer)) {\n    return pathToFileURL(referrer).href;\n  }\n  return new URL(referrer).href;\n}\n\n// For error messages only - used to check if ESM syntax is in use.\nfunction hasEsmSyntax(code) {\n  debug('Checking for ESM syntax');\n  const parser = require('internal/deps/acorn/acorn/dist/acorn').Parser;\n  let root;\n  try {\n    root = parser.parse(code, { sourceType: 'module', ecmaVersion: 'latest' });\n  } catch {\n    return false;\n  }\n\n  return ArrayPrototypeSome(root.body, (stmt) =>\n    stmt.type === 'ExportDefaultDeclaration' ||\n    stmt.type === 'ExportNamedDeclaration' ||\n    stmt.type === 'ImportDeclaration' ||\n    stmt.type === 'ExportAllDeclaration');\n}\n\nmodule.exports = {\n  addBuiltinLibsToObject,\n  cjsConditions,\n  hasEsmSyntax,\n  loadNativeModule,\n  makeRequireFunction,\n  normalizeReferrerURL,\n  stripBOM,\n};\n"
  },
  {
    "path": "raw/node-internal-modules-cjs-loader-2d5d77306f6dff9110c1f77fefab25f973415770.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/2d5d77306f6dff9110c1f77fefab25f973415770/lib/internal/modules/cjs/loader.js\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nconst {\n  ArrayIsArray,\n  Error,\n  JSONParse,\n  Map,\n  Number,\n  ObjectCreate,\n  ObjectDefineProperty,\n  ObjectFreeze,\n  ObjectGetOwnPropertyDescriptor,\n  ObjectGetPrototypeOf,\n  ObjectIs,\n  ObjectKeys,\n  ObjectPrototypeHasOwnProperty,\n  ObjectSetPrototypeOf,\n  ReflectSet,\n  RegExpPrototypeTest,\n  SafeMap,\n  String,\n  StringPrototypeIndexOf,\n  StringPrototypeMatch,\n  StringPrototypeSlice,\n  StringPrototypeStartsWith,\n} = primordials;\n\nconst { NativeModule } = require('internal/bootstrap/loaders');\nconst {\n  maybeCacheSourceMap,\n  rekeySourceMap\n} = require('internal/source_map/source_map_cache');\nconst { pathToFileURL, fileURLToPath, URL } = require('internal/url');\nconst { deprecate } = require('internal/util');\nconst vm = require('vm');\nconst assert = require('internal/assert');\nconst fs = require('fs');\nconst internalFS = require('internal/fs/utils');\nconst path = require('path');\nconst { emitWarningSync } = require('internal/process/warning');\nconst {\n  internalModuleReadJSON,\n  internalModuleStat\n} = internalBinding('fs');\nconst { safeGetenv } = internalBinding('credentials');\nconst {\n  makeRequireFunction,\n  normalizeReferrerURL,\n  stripBOM,\n  loadNativeModule\n} = require('internal/modules/cjs/helpers');\nconst { getOptionValue } = require('internal/options');\nconst enableSourceMaps = getOptionValue('--enable-source-maps');\nconst preserveSymlinks = getOptionValue('--preserve-symlinks');\nconst preserveSymlinksMain = getOptionValue('--preserve-symlinks-main');\nconst manifest = getOptionValue('--experimental-policy') ?\n  require('internal/process/policy').manifest :\n  null;\nconst { compileFunction } = internalBinding('contextify');\n\n// Whether any user-provided CJS modules had been loaded (executed).\n// Used for internal assertions.\nlet hasLoadedAnyUserCJSModule = false;\n\nconst {\n  ERR_INVALID_ARG_VALUE,\n  ERR_INVALID_OPT_VALUE,\n  ERR_INVALID_PACKAGE_CONFIG,\n  ERR_INVALID_PACKAGE_TARGET,\n  ERR_INVALID_MODULE_SPECIFIER,\n  ERR_PACKAGE_PATH_NOT_EXPORTED,\n  ERR_REQUIRE_ESM\n} = require('internal/errors').codes;\nconst { validateString } = require('internal/validators');\nconst pendingDeprecation = getOptionValue('--pending-deprecation');\n\nmodule.exports = {\n  wrapSafe, Module, toRealPath, readPackageScope,\n  get hasLoadedAnyUserCJSModule() { return hasLoadedAnyUserCJSModule; }\n};\n\nlet asyncESM, ModuleJob, ModuleWrap, kInstantiated;\n\nconst {\n  CHAR_FORWARD_SLASH,\n  CHAR_BACKWARD_SLASH,\n  CHAR_COLON\n} = require('internal/constants');\n\n\nconst {\n  isProxy\n} = require('internal/util/types');\n\nconst isWindows = process.platform === 'win32';\n\nconst relativeResolveCache = ObjectCreate(null);\n\nlet requireDepth = 0;\nlet statCache = null;\n\nfunction enrichCJSError(err) {\n  const stack = err.stack.split('\\n');\n\n  const lineWithErr = stack[1];\n\n  /*\n    The regular expression below targets the most common import statement\n    usage. However, some cases are not matching, cases like import statement\n    after a comment block and/or after a variable definition.\n  */\n  if (err.message.startsWith('Unexpected token \\'export\\'') ||\n    (RegExpPrototypeTest(/^\\s*import(?=[ {'\"*])\\s*(?![ (])/, lineWithErr))) {\n    // Emit the warning synchronously because we are in the middle of handling\n    // a SyntaxError that will throw and likely terminate the process before an\n    // asynchronous warning would be emitted.\n    emitWarningSync(\n      'To load an ES module, set \"type\": \"module\" in the package.json or use ' +\n      'the .mjs extension.'\n    );\n  }\n}\n\nfunction stat(filename) {\n  filename = path.toNamespacedPath(filename);\n  if (statCache !== null) {\n    const result = statCache.get(filename);\n    if (result !== undefined) return result;\n  }\n  const result = internalModuleStat(filename);\n  if (statCache !== null) statCache.set(filename, result);\n  return result;\n}\n\nfunction updateChildren(parent, child, scan) {\n  const children = parent && parent.children;\n  if (children && !(scan && children.includes(child)))\n    children.push(child);\n}\n\nfunction Module(id = '', parent) {\n  this.id = id;\n  this.path = path.dirname(id);\n  this.exports = {};\n  this.parent = parent;\n  updateChildren(parent, this, false);\n  this.filename = null;\n  this.loaded = false;\n  this.children = [];\n}\n\nconst builtinModules = [];\nfor (const [id, mod] of NativeModule.map) {\n  if (mod.canBeRequiredByUsers) {\n    builtinModules.push(id);\n  }\n}\n\nObjectFreeze(builtinModules);\nModule.builtinModules = builtinModules;\n\nModule._cache = ObjectCreate(null);\nModule._pathCache = ObjectCreate(null);\nModule._extensions = ObjectCreate(null);\nlet modulePaths = [];\nModule.globalPaths = [];\n\nlet patched = false;\n\n// eslint-disable-next-line func-style\nlet wrap = function(script) {\n  return Module.wrapper[0] + script + Module.wrapper[1];\n};\n\nconst wrapper = [\n  '(function (exports, require, module, __filename, __dirname) { ',\n  '\\n});'\n];\n\nlet wrapperProxy = new Proxy(wrapper, {\n  set(target, property, value, receiver) {\n    patched = true;\n    return ReflectSet(target, property, value, receiver);\n  },\n\n  defineProperty(target, property, descriptor) {\n    patched = true;\n    return ObjectDefineProperty(target, property, descriptor);\n  }\n});\n\nObjectDefineProperty(Module, 'wrap', {\n  get() {\n    return wrap;\n  },\n\n  set(value) {\n    patched = true;\n    wrap = value;\n  }\n});\n\nObjectDefineProperty(Module, 'wrapper', {\n  get() {\n    return wrapperProxy;\n  },\n\n  set(value) {\n    patched = true;\n    wrapperProxy = value;\n  }\n});\n\nconst debug = require('internal/util/debuglog').debuglog('module');\nModule._debug = deprecate(debug, 'Module._debug is deprecated.', 'DEP0077');\n\n// Given a module name, and a list of paths to test, returns the first\n// matching file in the following precedence.\n//\n// require(\"a.<ext>\")\n//   -> a.<ext>\n//\n// require(\"a\")\n//   -> a\n//   -> a.<ext>\n//   -> a/index.<ext>\n\nconst packageJsonCache = new SafeMap();\n\nfunction readPackage(requestPath) {\n  const jsonPath = path.resolve(requestPath, 'package.json');\n\n  const existing = packageJsonCache.get(jsonPath);\n  if (existing !== undefined) return existing;\n\n  const json = internalModuleReadJSON(path.toNamespacedPath(jsonPath));\n  if (json === undefined) {\n    packageJsonCache.set(jsonPath, false);\n    return false;\n  }\n\n  if (manifest) {\n    const jsonURL = pathToFileURL(jsonPath);\n    manifest.assertIntegrity(jsonURL, json);\n  }\n\n  try {\n    const parsed = JSONParse(json);\n    const filtered = {\n      name: parsed.name,\n      main: parsed.main,\n      exports: parsed.exports,\n      type: parsed.type\n    };\n    packageJsonCache.set(jsonPath, filtered);\n    return filtered;\n  } catch (e) {\n    e.path = jsonPath;\n    e.message = 'Error parsing ' + jsonPath + ': ' + e.message;\n    throw e;\n  }\n}\n\nfunction readPackageScope(checkPath) {\n  const rootSeparatorIndex = checkPath.indexOf(path.sep);\n  let separatorIndex;\n  while (\n    (separatorIndex = checkPath.lastIndexOf(path.sep)) > rootSeparatorIndex\n  ) {\n    checkPath = checkPath.slice(0, separatorIndex);\n    if (checkPath.endsWith(path.sep + 'node_modules'))\n      return false;\n    const pjson = readPackage(checkPath);\n    if (pjson) return {\n      path: checkPath,\n      data: pjson\n    };\n  }\n  return false;\n}\n\nfunction readPackageMain(requestPath) {\n  const pkg = readPackage(requestPath);\n  return pkg ? pkg.main : undefined;\n}\n\nfunction readPackageExports(requestPath) {\n  const pkg = readPackage(requestPath);\n  return pkg ? pkg.exports : undefined;\n}\n\nfunction tryPackage(requestPath, exts, isMain, originalPath) {\n  const pkg = readPackageMain(requestPath);\n\n  if (!pkg) {\n    return tryExtensions(path.resolve(requestPath, 'index'), exts, isMain);\n  }\n\n  const filename = path.resolve(requestPath, pkg);\n  let actual = tryFile(filename, isMain) ||\n    tryExtensions(filename, exts, isMain) ||\n    tryExtensions(path.resolve(filename, 'index'), exts, isMain);\n  if (actual === false) {\n    actual = tryExtensions(path.resolve(requestPath, 'index'), exts, isMain);\n    if (!actual) {\n      // eslint-disable-next-line no-restricted-syntax\n      const err = new Error(\n        `Cannot find module '${filename}'. ` +\n        'Please verify that the package.json has a valid \"main\" entry'\n      );\n      err.code = 'MODULE_NOT_FOUND';\n      err.path = path.resolve(requestPath, 'package.json');\n      err.requestPath = originalPath;\n      // TODO(BridgeAR): Add the requireStack as well.\n      throw err;\n    } else if (pendingDeprecation) {\n      const jsonPath = path.resolve(requestPath, 'package.json');\n      process.emitWarning(\n        `Invalid 'main' field in '${jsonPath}' of '${pkg}'. ` +\n          'Please either fix that or report it to the module author',\n        'DeprecationWarning',\n        'DEP0128'\n      );\n    }\n  }\n  return actual;\n}\n\n// In order to minimize unnecessary lstat() calls,\n// this cache is a list of known-real paths.\n// Set to an empty Map to reset.\nconst realpathCache = new Map();\n\n// Check if the file exists and is not a directory\n// if using --preserve-symlinks and isMain is false,\n// keep symlinks intact, otherwise resolve to the\n// absolute realpath.\nfunction tryFile(requestPath, isMain) {\n  const rc = stat(requestPath);\n  if (rc !== 0) return;\n  if (preserveSymlinks && !isMain) {\n    return path.resolve(requestPath);\n  }\n  return toRealPath(requestPath);\n}\n\nfunction toRealPath(requestPath) {\n  return fs.realpathSync(requestPath, {\n    [internalFS.realpathCacheKey]: realpathCache\n  });\n}\n\n// Given a path, check if the file exists with any of the set extensions\nfunction tryExtensions(p, exts, isMain) {\n  for (let i = 0; i < exts.length; i++) {\n    const filename = tryFile(p + exts[i], isMain);\n\n    if (filename) {\n      return filename;\n    }\n  }\n  return false;\n}\n\n// Find the longest (possibly multi-dot) extension registered in\n// Module._extensions\nfunction findLongestRegisteredExtension(filename) {\n  const name = path.basename(filename);\n  let currentExtension;\n  let index;\n  let startIndex = 0;\n  while ((index = name.indexOf('.', startIndex)) !== -1) {\n    startIndex = index + 1;\n    if (index === 0) continue; // Skip dotfiles like .gitignore\n    currentExtension = name.slice(index);\n    if (Module._extensions[currentExtension]) return currentExtension;\n  }\n  return '.js';\n}\n\nfunction trySelf(parentPath, request) {\n  const { data: pkg, path: basePath } = readPackageScope(parentPath) || {};\n  if (!pkg || pkg.exports === undefined) return false;\n  if (typeof pkg.name !== 'string') return false;\n\n  let expansion;\n  if (request === pkg.name) {\n    expansion = '';\n  } else if (StringPrototypeStartsWith(request, `${pkg.name}/`)) {\n    expansion = StringPrototypeSlice(request, pkg.name.length);\n  } else {\n    return false;\n  }\n\n  const fromExports = applyExports(basePath, expansion);\n  if (fromExports) {\n    return tryFile(fromExports, false);\n  }\n  assert(fromExports !== false);\n}\n\nfunction isConditionalDotExportSugar(exports, basePath) {\n  if (typeof exports === 'string')\n    return true;\n  if (ArrayIsArray(exports))\n    return true;\n  if (typeof exports !== 'object')\n    return false;\n  let isConditional = false;\n  let firstCheck = true;\n  for (const key of ObjectKeys(exports)) {\n    const curIsConditional = key[0] !== '.';\n    if (firstCheck) {\n      firstCheck = false;\n      isConditional = curIsConditional;\n    } else if (isConditional !== curIsConditional) {\n      throw new ERR_INVALID_PACKAGE_CONFIG(basePath, '\"exports\" cannot ' +\n          'contain some keys starting with \\'.\\' and some not. The exports ' +\n          'object must either be an object of package subpath keys or an ' +\n          'object of main entry condition name keys only.');\n    }\n  }\n  return isConditional;\n}\n\nfunction applyExports(basePath, expansion) {\n  const mappingKey = `.${expansion}`;\n\n  let pkgExports = readPackageExports(basePath);\n  if (pkgExports === undefined || pkgExports === null)\n    return false;\n\n  if (isConditionalDotExportSugar(pkgExports, basePath))\n    pkgExports = { '.': pkgExports };\n\n  if (typeof pkgExports === 'object') {\n    if (ObjectPrototypeHasOwnProperty(pkgExports, mappingKey)) {\n      const mapping = pkgExports[mappingKey];\n      return resolveExportsTarget(pathToFileURL(basePath + '/'), mapping, '',\n                                  mappingKey);\n    }\n\n    let dirMatch = '';\n    for (const candidateKey of ObjectKeys(pkgExports)) {\n      if (candidateKey[candidateKey.length - 1] !== '/') continue;\n      if (candidateKey.length > dirMatch.length &&\n          StringPrototypeStartsWith(mappingKey, candidateKey)) {\n        dirMatch = candidateKey;\n      }\n    }\n\n    if (dirMatch !== '') {\n      const mapping = pkgExports[dirMatch];\n      const subpath = StringPrototypeSlice(mappingKey, dirMatch.length);\n      const resolved = resolveExportsTarget(pathToFileURL(basePath + '/'),\n                                            mapping, subpath, mappingKey);\n      // Extension searching for folder exports only\n      const rc = stat(resolved);\n      if (rc === 0) return resolved;\n      if (!(RegExpPrototypeTest(trailingSlashRegex, resolved))) {\n        const exts = ObjectKeys(Module._extensions);\n        const filename = tryExtensions(resolved, exts, false);\n        if (filename) return filename;\n      }\n      if (rc === 1) {\n        const exts = ObjectKeys(Module._extensions);\n        const filename = tryPackage(resolved, exts, false,\n                                    basePath + expansion);\n        if (filename) return filename;\n      }\n      // Undefined means not found\n      return;\n    }\n  }\n\n  throw new ERR_PACKAGE_PATH_NOT_EXPORTED(basePath, mappingKey);\n}\n\n// This only applies to requests of a specific form:\n// 1. name/.*\n// 2. @scope/name/.*\nconst EXPORTS_PATTERN = /^((?:@[^/\\\\%]+\\/)?[^./\\\\%][^/\\\\%]*)(\\/.*)?$/;\nfunction resolveExports(nmPath, request) {\n  // The implementation's behavior is meant to mirror resolution in ESM.\n  const [, name, expansion = ''] =\n    StringPrototypeMatch(request, EXPORTS_PATTERN) || [];\n  if (!name) {\n    return false;\n  }\n\n  const basePath = path.resolve(nmPath, name);\n  const fromExports = applyExports(basePath, expansion);\n  if (fromExports) {\n    return tryFile(fromExports, false);\n  }\n  return fromExports;\n}\n\nfunction isArrayIndex(p) {\n  assert(typeof p === 'string');\n  const n = Number(p);\n  if (String(n) !== p)\n    return false;\n  if (ObjectIs(n, +0))\n    return true;\n  if (!Number.isInteger(n))\n    return false;\n  return n >= 0 && n < (2 ** 32) - 1;\n}\n\nfunction resolveExportsTarget(baseUrl, target, subpath, mappingKey) {\n  if (typeof target === 'string') {\n    let resolvedTarget, resolvedTargetPath;\n    const pkgPathPath = baseUrl.pathname;\n    if (StringPrototypeStartsWith(target, './')) {\n      resolvedTarget = new URL(target, baseUrl);\n      resolvedTargetPath = resolvedTarget.pathname;\n      if (!StringPrototypeStartsWith(resolvedTargetPath, pkgPathPath) ||\n          StringPrototypeIndexOf(resolvedTargetPath, '/node_modules/',\n                                 pkgPathPath.length - 1) !== -1)\n        resolvedTarget = undefined;\n    }\n    if (subpath.length > 0 && target[target.length - 1] !== '/')\n      resolvedTarget = undefined;\n    if (resolvedTarget === undefined)\n      throw new ERR_INVALID_PACKAGE_TARGET(StringPrototypeSlice(baseUrl.pathname\n        , 0, -1), mappingKey, subpath, target);\n    const resolved = new URL(subpath, resolvedTarget);\n    const resolvedPath = resolved.pathname;\n    if (StringPrototypeStartsWith(resolvedPath, resolvedTargetPath) &&\n        StringPrototypeIndexOf(resolvedPath, '/node_modules/',\n                               pkgPathPath.length - 1) === -1) {\n      return fileURLToPath(resolved);\n    }\n    throw new ERR_INVALID_MODULE_SPECIFIER(StringPrototypeSlice(baseUrl.pathname\n      , 0, -1), mappingKey);\n  } else if (ArrayIsArray(target)) {\n    if (target.length === 0)\n      throw new ERR_PACKAGE_PATH_NOT_EXPORTED(\n        StringPrototypeSlice(baseUrl.pathname, 0, -1), mappingKey + subpath);\n    let lastException;\n    for (const targetValue of target) {\n      try {\n        return resolveExportsTarget(baseUrl, targetValue, subpath, mappingKey);\n      } catch (e) {\n        lastException = e;\n        if (e.code !== 'ERR_PACKAGE_PATH_NOT_EXPORTED' &&\n            e.code !== 'ERR_INVALID_PACKAGE_TARGET')\n          throw e;\n      }\n    }\n    // Throw last fallback error\n    assert(lastException !== undefined);\n    throw lastException;\n  } else if (typeof target === 'object' && target !== null) {\n    const keys = ObjectKeys(target);\n    if (keys.some(isArrayIndex)) {\n      throw new ERR_INVALID_PACKAGE_CONFIG(baseUrl, '\"exports\" cannot ' +\n          'contain numeric property keys.');\n    }\n    for (const p of keys) {\n      switch (p) {\n        case 'node':\n        case 'require':\n          try {\n            return resolveExportsTarget(baseUrl, target[p], subpath,\n                                        mappingKey);\n          } catch (e) {\n            if (e.code !== 'ERR_PACKAGE_PATH_NOT_EXPORTED') throw e;\n          }\n          break;\n        case 'default':\n          try {\n            return resolveExportsTarget(baseUrl, target.default, subpath,\n                                        mappingKey);\n          } catch (e) {\n            if (e.code !== 'ERR_PACKAGE_PATH_NOT_EXPORTED') throw e;\n          }\n      }\n    }\n    throw new ERR_PACKAGE_PATH_NOT_EXPORTED(\n      StringPrototypeSlice(baseUrl.pathname, 0, -1), mappingKey + subpath);\n  } else if (target === null) {\n    throw new ERR_PACKAGE_PATH_NOT_EXPORTED(\n      StringPrototypeSlice(baseUrl.pathname, 0, -1), mappingKey + subpath);\n  }\n  throw new ERR_INVALID_PACKAGE_TARGET(\n    StringPrototypeSlice(baseUrl.pathname, 0, -1), mappingKey, subpath, target);\n}\n\nconst trailingSlashRegex = /(?:^|\\/)\\.?\\.$/;\nModule._findPath = function(request, paths, isMain) {\n  const absoluteRequest = path.isAbsolute(request);\n  if (absoluteRequest) {\n    paths = [''];\n  } else if (!paths || paths.length === 0) {\n    return false;\n  }\n\n  const cacheKey = request + '\\x00' +\n                (paths.length === 1 ? paths[0] : paths.join('\\x00'));\n  const entry = Module._pathCache[cacheKey];\n  if (entry)\n    return entry;\n\n  let exts;\n  let trailingSlash = request.length > 0 &&\n    request.charCodeAt(request.length - 1) === CHAR_FORWARD_SLASH;\n  if (!trailingSlash) {\n    trailingSlash = RegExpPrototypeTest(trailingSlashRegex, request);\n  }\n\n  // For each path\n  for (let i = 0; i < paths.length; i++) {\n    // Don't search further if path doesn't exist\n    const curPath = paths[i];\n    if (curPath && stat(curPath) < 1) continue;\n\n    if (!absoluteRequest) {\n      const exportsResolved = resolveExports(curPath, request);\n      // Undefined means not found, false means no exports\n      if (exportsResolved === undefined)\n        break;\n      if (exportsResolved) {\n        return exportsResolved;\n      }\n    }\n\n    const basePath = path.resolve(curPath, request);\n    let filename;\n\n    const rc = stat(basePath);\n    if (!trailingSlash) {\n      if (rc === 0) {  // File.\n        if (!isMain) {\n          if (preserveSymlinks) {\n            filename = path.resolve(basePath);\n          } else {\n            filename = toRealPath(basePath);\n          }\n        } else if (preserveSymlinksMain) {\n          // For the main module, we use the preserveSymlinksMain flag instead\n          // mainly for backward compatibility, as the preserveSymlinks flag\n          // historically has not applied to the main module.  Most likely this\n          // was intended to keep .bin/ binaries working, as following those\n          // symlinks is usually required for the imports in the corresponding\n          // files to resolve; that said, in some use cases following symlinks\n          // causes bigger problems which is why the preserveSymlinksMain option\n          // is needed.\n          filename = path.resolve(basePath);\n        } else {\n          filename = toRealPath(basePath);\n        }\n      }\n\n      if (!filename) {\n        // Try it with each of the extensions\n        if (exts === undefined)\n          exts = ObjectKeys(Module._extensions);\n        filename = tryExtensions(basePath, exts, isMain);\n      }\n    }\n\n    if (!filename && rc === 1) {  // Directory.\n      // try it with each of the extensions at \"index\"\n      if (exts === undefined)\n        exts = ObjectKeys(Module._extensions);\n      filename = tryPackage(basePath, exts, isMain, request);\n    }\n\n    if (filename) {\n      Module._pathCache[cacheKey] = filename;\n      return filename;\n    }\n  }\n\n  return false;\n};\n\n// 'node_modules' character codes reversed\nconst nmChars = [ 115, 101, 108, 117, 100, 111, 109, 95, 101, 100, 111, 110 ];\nconst nmLen = nmChars.length;\nif (isWindows) {\n  // 'from' is the __dirname of the module.\n  Module._nodeModulePaths = function(from) {\n    // Guarantee that 'from' is absolute.\n    from = path.resolve(from);\n\n    // note: this approach *only* works when the path is guaranteed\n    // to be absolute.  Doing a fully-edge-case-correct path.split\n    // that works on both Windows and Posix is non-trivial.\n\n    // return root node_modules when path is 'D:\\\\'.\n    // path.resolve will make sure from.length >=3 in Windows.\n    if (from.charCodeAt(from.length - 1) === CHAR_BACKWARD_SLASH &&\n        from.charCodeAt(from.length - 2) === CHAR_COLON)\n      return [from + 'node_modules'];\n\n    const paths = [];\n    for (let i = from.length - 1, p = 0, last = from.length; i >= 0; --i) {\n      const code = from.charCodeAt(i);\n      // The path segment separator check ('\\' and '/') was used to get\n      // node_modules path for every path segment.\n      // Use colon as an extra condition since we can get node_modules\n      // path for drive root like 'C:\\node_modules' and don't need to\n      // parse drive name.\n      if (code === CHAR_BACKWARD_SLASH ||\n          code === CHAR_FORWARD_SLASH ||\n          code === CHAR_COLON) {\n        if (p !== nmLen)\n          paths.push(from.slice(0, last) + '\\\\node_modules');\n        last = i;\n        p = 0;\n      } else if (p !== -1) {\n        if (nmChars[p] === code) {\n          ++p;\n        } else {\n          p = -1;\n        }\n      }\n    }\n\n    return paths;\n  };\n} else { // posix\n  // 'from' is the __dirname of the module.\n  Module._nodeModulePaths = function(from) {\n    // Guarantee that 'from' is absolute.\n    from = path.resolve(from);\n    // Return early not only to avoid unnecessary work, but to *avoid* returning\n    // an array of two items for a root: [ '//node_modules', '/node_modules' ]\n    if (from === '/')\n      return ['/node_modules'];\n\n    // note: this approach *only* works when the path is guaranteed\n    // to be absolute.  Doing a fully-edge-case-correct path.split\n    // that works on both Windows and Posix is non-trivial.\n    const paths = [];\n    for (let i = from.length - 1, p = 0, last = from.length; i >= 0; --i) {\n      const code = from.charCodeAt(i);\n      if (code === CHAR_FORWARD_SLASH) {\n        if (p !== nmLen)\n          paths.push(from.slice(0, last) + '/node_modules');\n        last = i;\n        p = 0;\n      } else if (p !== -1) {\n        if (nmChars[p] === code) {\n          ++p;\n        } else {\n          p = -1;\n        }\n      }\n    }\n\n    // Append /node_modules to handle root paths.\n    paths.push('/node_modules');\n\n    return paths;\n  };\n}\n\nModule._resolveLookupPaths = function(request, parent) {\n  if (NativeModule.canBeRequiredByUsers(request)) {\n    debug('looking for %j in []', request);\n    return null;\n  }\n\n  // Check for node modules paths.\n  if (request.charAt(0) !== '.' ||\n      (request.length > 1 &&\n      request.charAt(1) !== '.' &&\n      request.charAt(1) !== '/' &&\n      (!isWindows || request.charAt(1) !== '\\\\'))) {\n\n    let paths = modulePaths;\n    if (parent != null && parent.paths && parent.paths.length) {\n      paths = parent.paths.concat(paths);\n    }\n\n    debug('looking for %j in %j', request, paths);\n    return paths.length > 0 ? paths : null;\n  }\n\n  // In REPL, parent.filename is null.\n  if (!parent || !parent.id || !parent.filename) {\n    // Make require('./path/to/foo') work - normally the path is taken\n    // from realpath(__filename) but in REPL there is no filename\n    const mainPaths = ['.'];\n\n    debug('looking for %j in %j', request, mainPaths);\n    return mainPaths;\n  }\n\n  debug('RELATIVE: requested: %s from parent.id %s', request, parent.id);\n\n  const parentDir = [path.dirname(parent.filename)];\n  debug('looking for %j', parentDir);\n  return parentDir;\n};\n\nfunction emitCircularRequireWarning(prop) {\n  process.emitWarning(\n    `Accessing non-existent property '${String(prop)}' of module exports ` +\n    'inside circular dependency'\n  );\n}\n\n// A Proxy that can be used as the prototype of a module.exports object and\n// warns when non-existent properties are accessed.\nconst CircularRequirePrototypeWarningProxy = new Proxy({}, {\n  get(target, prop) {\n    // Allow __esModule access in any case because it is used in the output\n    // of transpiled code to determine whether something comes from an\n    // ES module, and is not used as a regular key of `module.exports`.\n    if (prop in target || prop === '__esModule') return target[prop];\n    emitCircularRequireWarning(prop);\n    return undefined;\n  },\n\n  getOwnPropertyDescriptor(target, prop) {\n    if (ObjectPrototypeHasOwnProperty(target, prop) || prop === '__esModule')\n      return ObjectGetOwnPropertyDescriptor(target, prop);\n    emitCircularRequireWarning(prop);\n    return undefined;\n  }\n});\n\n// Object.prototype and ObjectPrototype refer to our 'primordials' versions\n// and are not identical to the versions on the global object.\nconst PublicObjectPrototype = global.Object.prototype;\n\nfunction getExportsForCircularRequire(module) {\n  if (module.exports &&\n      !isProxy(module.exports) &&\n      ObjectGetPrototypeOf(module.exports) === PublicObjectPrototype &&\n      // Exclude transpiled ES6 modules / TypeScript code because those may\n      // employ unusual patterns for accessing 'module.exports'. That should\n      // be okay because ES6 modules have a different approach to circular\n      // dependencies anyway.\n      !module.exports.__esModule) {\n    // This is later unset once the module is done loading.\n    ObjectSetPrototypeOf(\n      module.exports, CircularRequirePrototypeWarningProxy);\n  }\n\n  return module.exports;\n}\n\n// Check the cache for the requested file.\n// 1. If a module already exists in the cache: return its exports object.\n// 2. If the module is native: call\n//    `NativeModule.prototype.compileForPublicLoader()` and return the exports.\n// 3. Otherwise, create a new module for the file and save it to the cache.\n//    Then have it load  the file contents before returning its exports\n//    object.\nModule._load = function(request, parent, isMain) {\n  let relResolveCacheIdentifier;\n  if (parent) {\n    debug('Module._load REQUEST %s parent: %s', request, parent.id);\n    // Fast path for (lazy loaded) modules in the same directory. The indirect\n    // caching is required to allow cache invalidation without changing the old\n    // cache key names.\n    relResolveCacheIdentifier = `${parent.path}\\x00${request}`;\n    const filename = relativeResolveCache[relResolveCacheIdentifier];\n    if (filename !== undefined) {\n      const cachedModule = Module._cache[filename];\n      if (cachedModule !== undefined) {\n        updateChildren(parent, cachedModule, true);\n        if (!cachedModule.loaded)\n          return getExportsForCircularRequire(cachedModule);\n        return cachedModule.exports;\n      }\n      delete relativeResolveCache[relResolveCacheIdentifier];\n    }\n  }\n\n  const filename = Module._resolveFilename(request, parent, isMain);\n\n  const cachedModule = Module._cache[filename];\n  if (cachedModule !== undefined) {\n    updateChildren(parent, cachedModule, true);\n    if (!cachedModule.loaded)\n      return getExportsForCircularRequire(cachedModule);\n    return cachedModule.exports;\n  }\n\n  const mod = loadNativeModule(filename, request);\n  if (mod && mod.canBeRequiredByUsers) return mod.exports;\n\n  // Don't call updateChildren(), Module constructor already does.\n  const module = new Module(filename, parent);\n\n  if (isMain) {\n    process.mainModule = module;\n    module.id = '.';\n  }\n\n  Module._cache[filename] = module;\n  if (parent !== undefined) {\n    relativeResolveCache[relResolveCacheIdentifier] = filename;\n  }\n\n  let threw = true;\n  try {\n    // Intercept exceptions that occur during the first tick and rekey them\n    // on error instance rather than module instance (which will immediately be\n    // garbage collected).\n    if (enableSourceMaps) {\n      try {\n        module.load(filename);\n      } catch (err) {\n        rekeySourceMap(Module._cache[filename], err);\n        throw err; /* node-do-not-add-exception-line */\n      }\n    } else {\n      module.load(filename);\n    }\n    threw = false;\n  } finally {\n    if (threw) {\n      delete Module._cache[filename];\n      if (parent !== undefined) {\n        delete relativeResolveCache[relResolveCacheIdentifier];\n        const children = parent && parent.children;\n        if (ArrayIsArray(children)) {\n          const index = children.indexOf(module);\n          if (index !== -1) {\n            children.splice(index, 1);\n          }\n        }\n      }\n    } else if (module.exports &&\n               !isProxy(module.exports) &&\n               ObjectGetPrototypeOf(module.exports) ===\n                 CircularRequirePrototypeWarningProxy) {\n      ObjectSetPrototypeOf(module.exports, PublicObjectPrototype);\n    }\n  }\n\n  return module.exports;\n};\n\nModule._resolveFilename = function(request, parent, isMain, options) {\n  if (NativeModule.canBeRequiredByUsers(request)) {\n    return request;\n  }\n\n  let paths;\n\n  if (typeof options === 'object' && options !== null) {\n    if (ArrayIsArray(options.paths)) {\n      const isRelative = request.startsWith('./') ||\n          request.startsWith('../') ||\n          ((isWindows && request.startsWith('.\\\\')) ||\n          request.startsWith('..\\\\'));\n\n      if (isRelative) {\n        paths = options.paths;\n      } else {\n        const fakeParent = new Module('', null);\n\n        paths = [];\n\n        for (let i = 0; i < options.paths.length; i++) {\n          const path = options.paths[i];\n          fakeParent.paths = Module._nodeModulePaths(path);\n          const lookupPaths = Module._resolveLookupPaths(request, fakeParent);\n\n          for (let j = 0; j < lookupPaths.length; j++) {\n            if (!paths.includes(lookupPaths[j]))\n              paths.push(lookupPaths[j]);\n          }\n        }\n      }\n    } else if (options.paths === undefined) {\n      paths = Module._resolveLookupPaths(request, parent);\n    } else {\n      throw new ERR_INVALID_OPT_VALUE('options.paths', options.paths);\n    }\n  } else {\n    paths = Module._resolveLookupPaths(request, parent);\n  }\n\n  if (parent && parent.filename) {\n    const filename = trySelf(parent.filename, request);\n    if (filename) {\n      const cacheKey = request + '\\x00' +\n          (paths.length === 1 ? paths[0] : paths.join('\\x00'));\n      Module._pathCache[cacheKey] = filename;\n      return filename;\n    }\n  }\n\n  // Look up the filename first, since that's the cache key.\n  const filename = Module._findPath(request, paths, isMain, false);\n  if (filename) return filename;\n  const requireStack = [];\n  for (let cursor = parent;\n    cursor;\n    cursor = cursor.parent) {\n    requireStack.push(cursor.filename || cursor.id);\n  }\n  let message = `Cannot find module '${request}'`;\n  if (requireStack.length > 0) {\n    message = message + '\\nRequire stack:\\n- ' + requireStack.join('\\n- ');\n  }\n  // eslint-disable-next-line no-restricted-syntax\n  const err = new Error(message);\n  err.code = 'MODULE_NOT_FOUND';\n  err.requireStack = requireStack;\n  throw err;\n};\n\n\n// Given a file name, pass it to the proper extension handler.\nModule.prototype.load = function(filename) {\n  debug('load %j for module %j', filename, this.id);\n\n  assert(!this.loaded);\n  this.filename = filename;\n  this.paths = Module._nodeModulePaths(path.dirname(filename));\n\n  const extension = findLongestRegisteredExtension(filename);\n  // allow .mjs to be overridden\n  if (filename.endsWith('.mjs') && !Module._extensions['.mjs']) {\n    throw new ERR_REQUIRE_ESM(filename);\n  }\n  Module._extensions[extension](this, filename);\n  this.loaded = true;\n\n  const ESMLoader = asyncESM.ESMLoader;\n  const url = `${pathToFileURL(filename)}`;\n  const module = ESMLoader.moduleMap.get(url);\n  // Create module entry at load time to snapshot exports correctly\n  const exports = this.exports;\n  // Called from cjs translator\n  if (module !== undefined && module.module !== undefined) {\n    if (module.module.getStatus() >= kInstantiated)\n      module.module.setExport('default', exports);\n  } else {\n    // Preemptively cache\n    // We use a function to defer promise creation for async hooks.\n    ESMLoader.moduleMap.set(\n      url,\n      // Module job creation will start promises.\n      // We make it a function to lazily trigger those promises\n      // for async hooks compatibility.\n      () => new ModuleJob(ESMLoader, url, () =>\n        new ModuleWrap(url, undefined, ['default'], function() {\n          this.setExport('default', exports);\n        })\n      , false /* isMain */, false /* inspectBrk */)\n    );\n  }\n};\n\n\n// Loads a module at the given file path. Returns that module's\n// `exports` property.\nModule.prototype.require = function(id) {\n  validateString(id, 'id');\n  if (id === '') {\n    throw new ERR_INVALID_ARG_VALUE('id', id,\n                                    'must be a non-empty string');\n  }\n  requireDepth++;\n  try {\n    return Module._load(id, this, /* isMain */ false);\n  } finally {\n    requireDepth--;\n  }\n};\n\n\n// Resolved path to process.argv[1] will be lazily placed here\n// (needed for setting breakpoint when called with --inspect-brk)\nlet resolvedArgv;\nlet hasPausedEntry = false;\n\nfunction wrapSafe(filename, content, cjsModuleInstance) {\n  if (patched) {\n    const wrapper = Module.wrap(content);\n    return vm.runInThisContext(wrapper, {\n      filename,\n      lineOffset: 0,\n      displayErrors: true,\n      importModuleDynamically: async (specifier) => {\n        const loader = asyncESM.ESMLoader;\n        return loader.import(specifier, normalizeReferrerURL(filename));\n      },\n    });\n  }\n  let compiled;\n  try {\n    compiled = compileFunction(\n      content,\n      filename,\n      0,\n      0,\n      undefined,\n      false,\n      undefined,\n      [],\n      [\n        'exports',\n        'require',\n        'module',\n        '__filename',\n        '__dirname',\n      ]\n    );\n  } catch (err) {\n    if (process.mainModule === cjsModuleInstance)\n      enrichCJSError(err);\n    throw err;\n  }\n\n  const { callbackMap } = internalBinding('module_wrap');\n  callbackMap.set(compiled.cacheKey, {\n    importModuleDynamically: async (specifier) => {\n      const loader = asyncESM.ESMLoader;\n      return loader.import(specifier, normalizeReferrerURL(filename));\n    }\n  });\n\n  return compiled.function;\n}\n\n// Run the file contents in the correct scope or sandbox. Expose\n// the correct helper variables (require, module, exports) to\n// the file.\n// Returns exception, if any.\nModule.prototype._compile = function(content, filename) {\n  let moduleURL;\n  let redirects;\n  if (manifest) {\n    moduleURL = pathToFileURL(filename);\n    redirects = manifest.getRedirector(moduleURL);\n    manifest.assertIntegrity(moduleURL, content);\n  }\n\n  maybeCacheSourceMap(filename, content, this);\n  const compiledWrapper = wrapSafe(filename, content, this);\n\n  let inspectorWrapper = null;\n  if (getOptionValue('--inspect-brk') && process._eval == null) {\n    if (!resolvedArgv) {\n      // We enter the repl if we're not given a filename argument.\n      if (process.argv[1]) {\n        try {\n          resolvedArgv = Module._resolveFilename(process.argv[1], null, false);\n        } catch {\n          // We only expect this codepath to be reached in the case of a\n          // preloaded module (it will fail earlier with the main entry)\n          assert(ArrayIsArray(getOptionValue('--require')));\n        }\n      } else {\n        resolvedArgv = 'repl';\n      }\n    }\n\n    // Set breakpoint on module start\n    if (resolvedArgv && !hasPausedEntry && filename === resolvedArgv) {\n      hasPausedEntry = true;\n      inspectorWrapper = internalBinding('inspector').callAndPauseOnStart;\n    }\n  }\n  const dirname = path.dirname(filename);\n  const require = makeRequireFunction(this, redirects);\n  let result;\n  const exports = this.exports;\n  const thisValue = exports;\n  const module = this;\n  if (requireDepth === 0) statCache = new Map();\n  if (inspectorWrapper) {\n    result = inspectorWrapper(compiledWrapper, thisValue, exports,\n                              require, module, filename, dirname);\n  } else {\n    result = compiledWrapper.call(thisValue, exports, require, module,\n                                  filename, dirname);\n  }\n  hasLoadedAnyUserCJSModule = true;\n  if (requireDepth === 0) statCache = null;\n  return result;\n};\n\n// Native extension for .js\nModule._extensions['.js'] = function(module, filename) {\n  if (filename.endsWith('.js')) {\n    const pkg = readPackageScope(filename);\n    // Function require shouldn't be used in ES modules.\n    if (pkg && pkg.data && pkg.data.type === 'module') {\n      const parentPath = module.parent && module.parent.filename;\n      const packageJsonPath = path.resolve(pkg.path, 'package.json');\n      throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);\n    }\n  }\n  const content = fs.readFileSync(filename, 'utf8');\n  module._compile(content, filename);\n};\n\n\n// Native extension for .json\nModule._extensions['.json'] = function(module, filename) {\n  const content = fs.readFileSync(filename, 'utf8');\n\n  if (manifest) {\n    const moduleURL = pathToFileURL(filename);\n    manifest.assertIntegrity(moduleURL, content);\n  }\n\n  try {\n    module.exports = JSONParse(stripBOM(content));\n  } catch (err) {\n    err.message = filename + ': ' + err.message;\n    throw err;\n  }\n};\n\n\n// Native extension for .node\nModule._extensions['.node'] = function(module, filename) {\n  if (manifest) {\n    const content = fs.readFileSync(filename);\n    const moduleURL = pathToFileURL(filename);\n    manifest.assertIntegrity(moduleURL, content);\n  }\n  // Be aware this doesn't use `content`\n  return process.dlopen(module, path.toNamespacedPath(filename));\n};\n\nfunction createRequireFromPath(filename) {\n  // Allow a directory to be passed as the filename\n  const trailingSlash =\n    filename.endsWith('/') || (isWindows && filename.endsWith('\\\\'));\n\n  const proxyPath = trailingSlash ?\n    path.join(filename, 'noop.js') :\n    filename;\n\n  const m = new Module(proxyPath);\n  m.filename = proxyPath;\n\n  m.paths = Module._nodeModulePaths(m.path);\n  return makeRequireFunction(m, null);\n}\n\nModule.createRequireFromPath = deprecate(\n  createRequireFromPath,\n  'Module.createRequireFromPath() is deprecated. ' +\n  'Use Module.createRequire() instead.',\n  'DEP0130'\n);\n\nconst createRequireError = 'must be a file URL object, file URL string, or ' +\n  'absolute path string';\n\nfunction createRequire(filename) {\n  let filepath;\n\n  if (filename instanceof URL ||\n      (typeof filename === 'string' && !path.isAbsolute(filename))) {\n    try {\n      filepath = fileURLToPath(filename);\n    } catch {\n      throw new ERR_INVALID_ARG_VALUE('filename', filename,\n                                      createRequireError);\n    }\n  } else if (typeof filename !== 'string') {\n    throw new ERR_INVALID_ARG_VALUE('filename', filename, createRequireError);\n  } else {\n    filepath = filename;\n  }\n  return createRequireFromPath(filepath);\n}\n\nModule.createRequire = createRequire;\n\nModule._initPaths = function() {\n  const homeDir = isWindows ? process.env.USERPROFILE : safeGetenv('HOME');\n  const nodePath = isWindows ? process.env.NODE_PATH : safeGetenv('NODE_PATH');\n\n  // process.execPath is $PREFIX/bin/node except on Windows where it is\n  // $PREFIX\\node.exe where $PREFIX is the root of the Node.js installation.\n  const prefixDir = isWindows ?\n    path.resolve(process.execPath, '..') :\n    path.resolve(process.execPath, '..', '..');\n\n  let paths = [path.resolve(prefixDir, 'lib', 'node')];\n\n  if (homeDir) {\n    paths.unshift(path.resolve(homeDir, '.node_libraries'));\n    paths.unshift(path.resolve(homeDir, '.node_modules'));\n  }\n\n  if (nodePath) {\n    paths = nodePath.split(path.delimiter).filter(function pathsFilterCB(path) {\n      return !!path;\n    }).concat(paths);\n  }\n\n  modulePaths = paths;\n\n  // Clone as a shallow copy, for introspection.\n  Module.globalPaths = modulePaths.slice(0);\n};\n\nModule._preloadModules = function(requests) {\n  if (!ArrayIsArray(requests))\n    return;\n\n  // Preloaded modules have a dummy parent module which is deemed to exist\n  // in the current working directory. This seeds the search path for\n  // preloaded modules.\n  const parent = new Module('internal/preload', null);\n  try {\n    parent.paths = Module._nodeModulePaths(process.cwd());\n  } catch (e) {\n    if (e.code !== 'ENOENT') {\n      throw e;\n    }\n  }\n  for (let n = 0; n < requests.length; n++)\n    parent.require(requests[n]);\n};\n\nModule.syncBuiltinESMExports = function syncBuiltinESMExports() {\n  for (const mod of NativeModule.map.values()) {\n    if (mod.canBeRequiredByUsers) {\n      mod.syncExports();\n    }\n  }\n};\n\n// Backwards compatibility\nModule.Module = Module;\n\n// We have to load the esm things after module.exports!\nasyncESM = require('internal/process/esm_loader');\nModuleJob = require('internal/modules/esm/module_job');\n({ ModuleWrap, kInstantiated } = internalBinding('module_wrap'));\n"
  },
  {
    "path": "raw/node-internal-modules-cjs-loader-v15.3.0-stripped.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/v15.3.0/lib/internal/modules/cjs/loader.js\n\n'use strict';\n\nconst {\n  JSONParse,\n  SafeMap,\n  StringPrototypeEndsWith,\n  StringPrototypeLastIndexOf,\n  StringPrototypeIndexOf,\n  StringPrototypeSlice,\n} = primordials;\nconst path = require('path');\nconst packageJsonReader = require('internal/modules/package_json_reader');\n\nconst {\n  ERR_REQUIRE_ESM\n} = require('internal/errors').codes;\n\nconst packageJsonCache = new SafeMap();\n\nfunction readPackage(requestPath) {\n  const jsonPath = path.resolve(requestPath, 'package.json');\n\n  const existing = packageJsonCache.get(jsonPath);\n  if (existing !== undefined) return existing;\n\n  const result = packageJsonReader.read(jsonPath);\n  const json = result.containsKeys === false ? '{}' : result.string;\n  if (json === undefined) {\n    packageJsonCache.set(jsonPath, false);\n    return false;\n  }\n\n  try {\n    const parsed = JSONParse(json);\n    const filtered = {\n      name: parsed.name,\n      main: parsed.main,\n      exports: parsed.exports,\n      imports: parsed.imports,\n      type: parsed.type\n    };\n    packageJsonCache.set(jsonPath, filtered);\n    return filtered;\n  } catch (e) {\n    e.path = jsonPath;\n    e.message = 'Error parsing ' + jsonPath + ': ' + e.message;\n    throw e;\n  }\n}\n\nfunction readPackageScope(checkPath) {\n  const rootSeparatorIndex = StringPrototypeIndexOf(checkPath, sep);\n  let separatorIndex;\n  do {\n    separatorIndex = StringPrototypeLastIndexOf(checkPath, sep);\n    checkPath = StringPrototypeSlice(checkPath, 0, separatorIndex);\n    if (StringPrototypeEndsWith(checkPath, sep + 'node_modules'))\n      return false;\n    const pjson = readPackage(checkPath + sep);\n    if (pjson) return {\n      data: pjson,\n      path: checkPath,\n    };\n  } while (separatorIndex > rootSeparatorIndex);\n  return false;\n}\n\n// Native extension for .js\nModule._extensions['.js'] = function(module, filename) {\n  if (StringPrototypeEndsWith(filename, '.js')) {\n    const pkg = readPackageScope(filename);\n    // Function require shouldn't be used in ES modules.\n    if (pkg && pkg.data && pkg.data.type === 'module') {\n      const parent = moduleParentCache.get(module);\n      const parentPath = parent && parent.filename;\n      const packageJsonPath = path.resolve(pkg.path, 'package.json');\n      throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);\n    }\n  }\n  // If already analyzed the source, then it will be cached.\n  const cached = cjsParseCache.get(module);\n  let content;\n  if (cached && cached.source) {\n    content = cached.source;\n    cached.source = undefined;\n  } else {\n    content = fs.readFileSync(filename, 'utf8');\n  }\n  module._compile(content, filename);\n};\n"
  },
  {
    "path": "raw/node-internal-modules-cjs-loader-v15.3.0.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/v15.3.0/lib/internal/modules/cjs/loader.js\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nconst {\n  ArrayIsArray,\n  ArrayPrototypeConcat,\n  ArrayPrototypeFilter,\n  ArrayPrototypeIncludes,\n  ArrayPrototypeIndexOf,\n  ArrayPrototypeJoin,\n  ArrayPrototypePush,\n  ArrayPrototypeSlice,\n  ArrayPrototypeSplice,\n  Boolean,\n  Error,\n  JSONParse,\n  ObjectCreate,\n  ObjectDefineProperty,\n  ObjectFreeze,\n  ObjectGetOwnPropertyDescriptor,\n  ObjectGetPrototypeOf,\n  ObjectKeys,\n  ObjectPrototype,\n  ObjectPrototypeHasOwnProperty,\n  ObjectSetPrototypeOf,\n  ReflectApply,\n  ReflectSet,\n  RegExpPrototypeTest,\n  SafeMap,\n  SafeWeakMap,\n  String,\n  StringPrototypeCharAt,\n  StringPrototypeCharCodeAt,\n  StringPrototypeEndsWith,\n  StringPrototypeLastIndexOf,\n  StringPrototypeIndexOf,\n  StringPrototypeMatch,\n  StringPrototypeSlice,\n  StringPrototypeSplit,\n  StringPrototypeStartsWith,\n} = primordials;\n\n// Map used to store CJS parsing data.\nconst cjsParseCache = new SafeWeakMap();\n\n// Set first due to cycle with ESM loader functions.\nmodule.exports = {\n  wrapSafe, Module, toRealPath, readPackageScope, cjsParseCache,\n  get hasLoadedAnyUserCJSModule() { return hasLoadedAnyUserCJSModule; }\n};\n\nconst { NativeModule } = require('internal/bootstrap/loaders');\nconst {\n  getSourceMapsEnabled,\n  maybeCacheSourceMap,\n  rekeySourceMap\n} = require('internal/source_map/source_map_cache');\nconst { pathToFileURL, fileURLToPath, isURLInstance } = require('internal/url');\nconst { deprecate } = require('internal/util');\nconst vm = require('vm');\nconst assert = require('internal/assert');\nconst fs = require('fs');\nconst internalFS = require('internal/fs/utils');\nconst path = require('path');\nconst { sep } = path;\nconst { internalModuleStat } = internalBinding('fs');\nconst packageJsonReader = require('internal/modules/package_json_reader');\nconst { safeGetenv } = internalBinding('credentials');\nconst {\n  makeRequireFunction,\n  normalizeReferrerURL,\n  stripBOM,\n  cjsConditions,\n  loadNativeModule\n} = require('internal/modules/cjs/helpers');\nconst { getOptionValue } = require('internal/options');\nconst preserveSymlinks = getOptionValue('--preserve-symlinks');\nconst preserveSymlinksMain = getOptionValue('--preserve-symlinks-main');\n// Do not eagerly grab .manifest, it may be in TDZ\nconst policy = getOptionValue('--experimental-policy') ?\n  require('internal/process/policy') :\n  null;\nconst { compileFunction } = internalBinding('contextify');\n\n// Whether any user-provided CJS modules had been loaded (executed).\n// Used for internal assertions.\nlet hasLoadedAnyUserCJSModule = false;\n\nconst {\n  ERR_INVALID_ARG_VALUE,\n  ERR_INVALID_MODULE_SPECIFIER,\n  ERR_REQUIRE_ESM\n} = require('internal/errors').codes;\nconst { validateString } = require('internal/validators');\nconst pendingDeprecation = getOptionValue('--pending-deprecation');\n\nconst {\n  CHAR_FORWARD_SLASH,\n  CHAR_BACKWARD_SLASH,\n  CHAR_COLON\n} = require('internal/constants');\n\nconst {\n  isProxy\n} = require('internal/util/types');\n\nconst asyncESM = require('internal/process/esm_loader');\nconst { enrichCJSError } = require('internal/modules/esm/translators');\nconst { kEvaluated } = internalBinding('module_wrap');\nconst {\n  encodedSepRegEx,\n  packageExportsResolve,\n  packageImportsResolve\n} = require('internal/modules/esm/resolve');\n\nconst isWindows = process.platform === 'win32';\n\nconst relativeResolveCache = ObjectCreate(null);\n\nlet requireDepth = 0;\nlet statCache = null;\n\nfunction stat(filename) {\n  filename = path.toNamespacedPath(filename);\n  if (statCache !== null) {\n    const result = statCache.get(filename);\n    if (result !== undefined) return result;\n  }\n  const result = internalModuleStat(filename);\n  if (statCache !== null) statCache.set(filename, result);\n  return result;\n}\n\nfunction updateChildren(parent, child, scan) {\n  const children = parent && parent.children;\n  if (children && !(scan && ArrayPrototypeIncludes(children, child)))\n    ArrayPrototypePush(children, child);\n}\n\nconst moduleParentCache = new SafeWeakMap();\nfunction Module(id = '', parent) {\n  this.id = id;\n  this.path = path.dirname(id);\n  this.exports = {};\n  moduleParentCache.set(this, parent);\n  updateChildren(parent, this, false);\n  this.filename = null;\n  this.loaded = false;\n  this.children = [];\n}\n\nconst builtinModules = [];\nfor (const [id, mod] of NativeModule.map) {\n  if (mod.canBeRequiredByUsers) {\n    ArrayPrototypePush(builtinModules, id);\n  }\n}\n\nObjectFreeze(builtinModules);\nModule.builtinModules = builtinModules;\n\nModule._cache = ObjectCreate(null);\nModule._pathCache = ObjectCreate(null);\nModule._extensions = ObjectCreate(null);\nlet modulePaths = [];\nModule.globalPaths = [];\n\nlet patched = false;\n\n// eslint-disable-next-line func-style\nlet wrap = function(script) {\n  return Module.wrapper[0] + script + Module.wrapper[1];\n};\n\nconst wrapper = [\n  '(function (exports, require, module, __filename, __dirname) { ',\n  '\\n});'\n];\n\nlet wrapperProxy = new Proxy(wrapper, {\n  set(target, property, value, receiver) {\n    patched = true;\n    return ReflectSet(target, property, value, receiver);\n  },\n\n  defineProperty(target, property, descriptor) {\n    patched = true;\n    return ObjectDefineProperty(target, property, descriptor);\n  }\n});\n\nObjectDefineProperty(Module, 'wrap', {\n  get() {\n    return wrap;\n  },\n\n  set(value) {\n    patched = true;\n    wrap = value;\n  }\n});\n\nObjectDefineProperty(Module, 'wrapper', {\n  get() {\n    return wrapperProxy;\n  },\n\n  set(value) {\n    patched = true;\n    wrapperProxy = value;\n  }\n});\n\nfunction getModuleParent() {\n  return moduleParentCache.get(this);\n}\n\nfunction setModuleParent(value) {\n  moduleParentCache.set(this, value);\n}\n\nObjectDefineProperty(Module.prototype, 'parent', {\n  get: pendingDeprecation ? deprecate(\n    getModuleParent,\n    'module.parent is deprecated due to accuracy issues. Please use ' +\n      'require.main to find program entry point instead.',\n    'DEP0144'\n  ) : getModuleParent,\n  set: pendingDeprecation ? deprecate(\n    setModuleParent,\n    'module.parent is deprecated due to accuracy issues. Please use ' +\n      'require.main to find program entry point instead.',\n    'DEP0144'\n  ) : setModuleParent,\n});\n\nlet debug = require('internal/util/debuglog').debuglog('module', (fn) => {\n  debug = fn;\n});\nModule._debug = deprecate(debug, 'Module._debug is deprecated.', 'DEP0077');\n\n// Given a module name, and a list of paths to test, returns the first\n// matching file in the following precedence.\n//\n// require(\"a.<ext>\")\n//   -> a.<ext>\n//\n// require(\"a\")\n//   -> a\n//   -> a.<ext>\n//   -> a/index.<ext>\n\nconst packageJsonCache = new SafeMap();\n\nfunction readPackage(requestPath) {\n  const jsonPath = path.resolve(requestPath, 'package.json');\n\n  const existing = packageJsonCache.get(jsonPath);\n  if (existing !== undefined) return existing;\n\n  const result = packageJsonReader.read(jsonPath);\n  const json = result.containsKeys === false ? '{}' : result.string;\n  if (json === undefined) {\n    packageJsonCache.set(jsonPath, false);\n    return false;\n  }\n\n  try {\n    const parsed = JSONParse(json);\n    const filtered = {\n      name: parsed.name,\n      main: parsed.main,\n      exports: parsed.exports,\n      imports: parsed.imports,\n      type: parsed.type\n    };\n    packageJsonCache.set(jsonPath, filtered);\n    return filtered;\n  } catch (e) {\n    e.path = jsonPath;\n    e.message = 'Error parsing ' + jsonPath + ': ' + e.message;\n    throw e;\n  }\n}\n\nfunction readPackageScope(checkPath) {\n  const rootSeparatorIndex = StringPrototypeIndexOf(checkPath, sep);\n  let separatorIndex;\n  do {\n    separatorIndex = StringPrototypeLastIndexOf(checkPath, sep);\n    checkPath = StringPrototypeSlice(checkPath, 0, separatorIndex);\n    if (StringPrototypeEndsWith(checkPath, sep + 'node_modules'))\n      return false;\n    const pjson = readPackage(checkPath + sep);\n    if (pjson) return {\n      data: pjson,\n      path: checkPath,\n    };\n  } while (separatorIndex > rootSeparatorIndex);\n  return false;\n}\n\nfunction tryPackage(requestPath, exts, isMain, originalPath) {\n  const pkg = readPackage(requestPath)?.main;\n\n  if (!pkg) {\n    return tryExtensions(path.resolve(requestPath, 'index'), exts, isMain);\n  }\n\n  const filename = path.resolve(requestPath, pkg);\n  let actual = tryFile(filename, isMain) ||\n    tryExtensions(filename, exts, isMain) ||\n    tryExtensions(path.resolve(filename, 'index'), exts, isMain);\n  if (actual === false) {\n    actual = tryExtensions(path.resolve(requestPath, 'index'), exts, isMain);\n    if (!actual) {\n      // eslint-disable-next-line no-restricted-syntax\n      const err = new Error(\n        `Cannot find module '${filename}'. ` +\n        'Please verify that the package.json has a valid \"main\" entry'\n      );\n      err.code = 'MODULE_NOT_FOUND';\n      err.path = path.resolve(requestPath, 'package.json');\n      err.requestPath = originalPath;\n      // TODO(BridgeAR): Add the requireStack as well.\n      throw err;\n    } else if (pendingDeprecation) {\n      const jsonPath = path.resolve(requestPath, 'package.json');\n      process.emitWarning(\n        `Invalid 'main' field in '${jsonPath}' of '${pkg}'. ` +\n          'Please either fix that or report it to the module author',\n        'DeprecationWarning',\n        'DEP0128'\n      );\n    }\n  }\n  return actual;\n}\n\n// In order to minimize unnecessary lstat() calls,\n// this cache is a list of known-real paths.\n// Set to an empty Map to reset.\nconst realpathCache = new SafeMap();\n\n// Check if the file exists and is not a directory\n// if using --preserve-symlinks and isMain is false,\n// keep symlinks intact, otherwise resolve to the\n// absolute realpath.\nfunction tryFile(requestPath, isMain) {\n  const rc = stat(requestPath);\n  if (rc !== 0) return;\n  if (preserveSymlinks && !isMain) {\n    return path.resolve(requestPath);\n  }\n  return toRealPath(requestPath);\n}\n\nfunction toRealPath(requestPath) {\n  return fs.realpathSync(requestPath, {\n    [internalFS.realpathCacheKey]: realpathCache\n  });\n}\n\n// Given a path, check if the file exists with any of the set extensions\nfunction tryExtensions(p, exts, isMain) {\n  for (let i = 0; i < exts.length; i++) {\n    const filename = tryFile(p + exts[i], isMain);\n\n    if (filename) {\n      return filename;\n    }\n  }\n  return false;\n}\n\n// Find the longest (possibly multi-dot) extension registered in\n// Module._extensions\nfunction findLongestRegisteredExtension(filename) {\n  const name = path.basename(filename);\n  let currentExtension;\n  let index;\n  let startIndex = 0;\n  while ((index = StringPrototypeIndexOf(name, '.', startIndex)) !== -1) {\n    startIndex = index + 1;\n    if (index === 0) continue; // Skip dotfiles like .gitignore\n    currentExtension = StringPrototypeSlice(name, index);\n    if (Module._extensions[currentExtension]) return currentExtension;\n  }\n  return '.js';\n}\n\nfunction trySelfParentPath(parent) {\n  if (!parent) return false;\n\n  if (parent.filename) {\n    return parent.filename;\n  } else if (parent.id === '<repl>' || parent.id === 'internal/preload') {\n    try {\n      return process.cwd() + path.sep;\n    } catch {\n      return false;\n    }\n  }\n}\n\nfunction trySelf(parentPath, request) {\n  if (!parentPath) return false;\n\n  const { data: pkg, path: pkgPath } = readPackageScope(parentPath) || {};\n  if (!pkg || pkg.exports === undefined) return false;\n  if (typeof pkg.name !== 'string') return false;\n\n  let expansion;\n  if (request === pkg.name) {\n    expansion = '.';\n  } else if (StringPrototypeStartsWith(request, `${pkg.name}/`)) {\n    expansion = '.' + StringPrototypeSlice(request, pkg.name.length);\n  } else {\n    return false;\n  }\n\n  try {\n    return finalizeEsmResolution(packageExportsResolve(\n      pathToFileURL(pkgPath + '/package.json'), expansion, pkg,\n      pathToFileURL(parentPath), cjsConditions), request, parentPath, pkgPath);\n  } catch (e) {\n    if (e.code === 'ERR_MODULE_NOT_FOUND')\n      throw createEsmNotFoundErr(request, pkgPath + '/package.json');\n    throw e;\n  }\n}\n\n// This only applies to requests of a specific form:\n// 1. name/.*\n// 2. @scope/name/.*\nconst EXPORTS_PATTERN = /^((?:@[^/\\\\%]+\\/)?[^./\\\\%][^/\\\\%]*)(\\/.*)?$/;\nfunction resolveExports(nmPath, request) {\n  // The implementation's behavior is meant to mirror resolution in ESM.\n  const [, name, expansion = ''] =\n    StringPrototypeMatch(request, EXPORTS_PATTERN) || [];\n  if (!name)\n    return;\n  const pkgPath = path.resolve(nmPath, name);\n  const pkg = readPackage(pkgPath);\n  if (pkg && pkg.exports !== null && pkg.exports !== undefined) {\n    try {\n      return finalizeEsmResolution(packageExportsResolve(\n        pathToFileURL(pkgPath + '/package.json'), '.' + expansion, pkg, null,\n        cjsConditions), request, null, pkgPath);\n    } catch (e) {\n      if (e.code === 'ERR_MODULE_NOT_FOUND')\n        throw createEsmNotFoundErr(request, pkgPath + '/package.json');\n      throw e;\n    }\n  }\n}\n\nconst trailingSlashRegex = /(?:^|\\/)\\.?\\.$/;\nModule._findPath = function(request, paths, isMain) {\n  const absoluteRequest = path.isAbsolute(request);\n  if (absoluteRequest) {\n    paths = [''];\n  } else if (!paths || paths.length === 0) {\n    return false;\n  }\n\n  const cacheKey = request + '\\x00' + ArrayPrototypeJoin(paths, '\\x00');\n  const entry = Module._pathCache[cacheKey];\n  if (entry)\n    return entry;\n\n  let exts;\n  let trailingSlash = request.length > 0 &&\n    StringPrototypeCharCodeAt(request, request.length - 1) ===\n    CHAR_FORWARD_SLASH;\n  if (!trailingSlash) {\n    trailingSlash = RegExpPrototypeTest(trailingSlashRegex, request);\n  }\n\n  // For each path\n  for (let i = 0; i < paths.length; i++) {\n    // Don't search further if path doesn't exist\n    const curPath = paths[i];\n    if (curPath && stat(curPath) < 1) continue;\n\n    if (!absoluteRequest) {\n      const exportsResolved = resolveExports(curPath, request);\n      if (exportsResolved)\n        return exportsResolved;\n    }\n\n    const basePath = path.resolve(curPath, request);\n    let filename;\n\n    const rc = stat(basePath);\n    if (!trailingSlash) {\n      if (rc === 0) {  // File.\n        if (!isMain) {\n          if (preserveSymlinks) {\n            filename = path.resolve(basePath);\n          } else {\n            filename = toRealPath(basePath);\n          }\n        } else if (preserveSymlinksMain) {\n          // For the main module, we use the preserveSymlinksMain flag instead\n          // mainly for backward compatibility, as the preserveSymlinks flag\n          // historically has not applied to the main module.  Most likely this\n          // was intended to keep .bin/ binaries working, as following those\n          // symlinks is usually required for the imports in the corresponding\n          // files to resolve; that said, in some use cases following symlinks\n          // causes bigger problems which is why the preserveSymlinksMain option\n          // is needed.\n          filename = path.resolve(basePath);\n        } else {\n          filename = toRealPath(basePath);\n        }\n      }\n\n      if (!filename) {\n        // Try it with each of the extensions\n        if (exts === undefined)\n          exts = ObjectKeys(Module._extensions);\n        filename = tryExtensions(basePath, exts, isMain);\n      }\n    }\n\n    if (!filename && rc === 1) {  // Directory.\n      // try it with each of the extensions at \"index\"\n      if (exts === undefined)\n        exts = ObjectKeys(Module._extensions);\n      filename = tryPackage(basePath, exts, isMain, request);\n    }\n\n    if (filename) {\n      Module._pathCache[cacheKey] = filename;\n      return filename;\n    }\n  }\n\n  return false;\n};\n\n// 'node_modules' character codes reversed\nconst nmChars = [ 115, 101, 108, 117, 100, 111, 109, 95, 101, 100, 111, 110 ];\nconst nmLen = nmChars.length;\nif (isWindows) {\n  // 'from' is the __dirname of the module.\n  Module._nodeModulePaths = function(from) {\n    // Guarantee that 'from' is absolute.\n    from = path.resolve(from);\n\n    // note: this approach *only* works when the path is guaranteed\n    // to be absolute.  Doing a fully-edge-case-correct path.split\n    // that works on both Windows and Posix is non-trivial.\n\n    // return root node_modules when path is 'D:\\\\'.\n    // path.resolve will make sure from.length >=3 in Windows.\n    if (StringPrototypeCharCodeAt(from, from.length - 1) ===\n          CHAR_BACKWARD_SLASH &&\n        StringPrototypeCharCodeAt(from, from.length - 2) === CHAR_COLON)\n      return [from + 'node_modules'];\n\n    const paths = [];\n    for (let i = from.length - 1, p = 0, last = from.length; i >= 0; --i) {\n      const code = StringPrototypeCharCodeAt(from, i);\n      // The path segment separator check ('\\' and '/') was used to get\n      // node_modules path for every path segment.\n      // Use colon as an extra condition since we can get node_modules\n      // path for drive root like 'C:\\node_modules' and don't need to\n      // parse drive name.\n      if (code === CHAR_BACKWARD_SLASH ||\n          code === CHAR_FORWARD_SLASH ||\n          code === CHAR_COLON) {\n        if (p !== nmLen)\n          ArrayPrototypePush(\n            paths,\n            StringPrototypeSlice(from, 0, last) + '\\\\node_modules'\n          );\n        last = i;\n        p = 0;\n      } else if (p !== -1) {\n        if (nmChars[p] === code) {\n          ++p;\n        } else {\n          p = -1;\n        }\n      }\n    }\n\n    return paths;\n  };\n} else { // posix\n  // 'from' is the __dirname of the module.\n  Module._nodeModulePaths = function(from) {\n    // Guarantee that 'from' is absolute.\n    from = path.resolve(from);\n    // Return early not only to avoid unnecessary work, but to *avoid* returning\n    // an array of two items for a root: [ '//node_modules', '/node_modules' ]\n    if (from === '/')\n      return ['/node_modules'];\n\n    // note: this approach *only* works when the path is guaranteed\n    // to be absolute.  Doing a fully-edge-case-correct path.split\n    // that works on both Windows and Posix is non-trivial.\n    const paths = [];\n    for (let i = from.length - 1, p = 0, last = from.length; i >= 0; --i) {\n      const code = StringPrototypeCharCodeAt(from, i);\n      if (code === CHAR_FORWARD_SLASH) {\n        if (p !== nmLen)\n          ArrayPrototypePush(\n            paths,\n            StringPrototypeSlice(from, 0, last) + '/node_modules'\n          );\n        last = i;\n        p = 0;\n      } else if (p !== -1) {\n        if (nmChars[p] === code) {\n          ++p;\n        } else {\n          p = -1;\n        }\n      }\n    }\n\n    // Append /node_modules to handle root paths.\n    ArrayPrototypePush(paths, '/node_modules');\n\n    return paths;\n  };\n}\n\nModule._resolveLookupPaths = function(request, parent) {\n  if (NativeModule.canBeRequiredByUsers(request)) {\n    debug('looking for %j in []', request);\n    return null;\n  }\n\n  // Check for node modules paths.\n  if (StringPrototypeCharAt(request, 0) !== '.' ||\n      (request.length > 1 &&\n      StringPrototypeCharAt(request, 1) !== '.' &&\n      StringPrototypeCharAt(request, 1) !== '/' &&\n      (!isWindows || StringPrototypeCharAt(request, 1) !== '\\\\'))) {\n\n    let paths = modulePaths;\n    if (parent != null && parent.paths && parent.paths.length) {\n      paths = ArrayPrototypeConcat(parent.paths, paths);\n    }\n\n    debug('looking for %j in %j', request, paths);\n    return paths.length > 0 ? paths : null;\n  }\n\n  // In REPL, parent.filename is null.\n  if (!parent || !parent.id || !parent.filename) {\n    // Make require('./path/to/foo') work - normally the path is taken\n    // from realpath(__filename) but in REPL there is no filename\n    const mainPaths = ['.'];\n\n    debug('looking for %j in %j', request, mainPaths);\n    return mainPaths;\n  }\n\n  debug('RELATIVE: requested: %s from parent.id %s', request, parent.id);\n\n  const parentDir = [path.dirname(parent.filename)];\n  debug('looking for %j', parentDir);\n  return parentDir;\n};\n\nfunction emitCircularRequireWarning(prop) {\n  process.emitWarning(\n    `Accessing non-existent property '${String(prop)}' of module exports ` +\n    'inside circular dependency'\n  );\n}\n\n// A Proxy that can be used as the prototype of a module.exports object and\n// warns when non-existent properties are accessed.\nconst CircularRequirePrototypeWarningProxy = new Proxy({}, {\n  get(target, prop) {\n    // Allow __esModule access in any case because it is used in the output\n    // of transpiled code to determine whether something comes from an\n    // ES module, and is not used as a regular key of `module.exports`.\n    if (prop in target || prop === '__esModule') return target[prop];\n    emitCircularRequireWarning(prop);\n    return undefined;\n  },\n\n  getOwnPropertyDescriptor(target, prop) {\n    if (ObjectPrototypeHasOwnProperty(target, prop) || prop === '__esModule')\n      return ObjectGetOwnPropertyDescriptor(target, prop);\n    emitCircularRequireWarning(prop);\n    return undefined;\n  }\n});\n\nfunction getExportsForCircularRequire(module) {\n  if (module.exports &&\n      !isProxy(module.exports) &&\n      ObjectGetPrototypeOf(module.exports) === ObjectPrototype &&\n      // Exclude transpiled ES6 modules / TypeScript code because those may\n      // employ unusual patterns for accessing 'module.exports'. That should\n      // be okay because ES6 modules have a different approach to circular\n      // dependencies anyway.\n      !module.exports.__esModule) {\n    // This is later unset once the module is done loading.\n    ObjectSetPrototypeOf(\n      module.exports, CircularRequirePrototypeWarningProxy);\n  }\n\n  return module.exports;\n}\n\n// Check the cache for the requested file.\n// 1. If a module already exists in the cache: return its exports object.\n// 2. If the module is native: call\n//    `NativeModule.prototype.compileForPublicLoader()` and return the exports.\n// 3. Otherwise, create a new module for the file and save it to the cache.\n//    Then have it load  the file contents before returning its exports\n//    object.\nModule._load = function(request, parent, isMain) {\n  let relResolveCacheIdentifier;\n  if (parent) {\n    debug('Module._load REQUEST %s parent: %s', request, parent.id);\n    // Fast path for (lazy loaded) modules in the same directory. The indirect\n    // caching is required to allow cache invalidation without changing the old\n    // cache key names.\n    relResolveCacheIdentifier = `${parent.path}\\x00${request}`;\n    const filename = relativeResolveCache[relResolveCacheIdentifier];\n    if (filename !== undefined) {\n      const cachedModule = Module._cache[filename];\n      if (cachedModule !== undefined) {\n        updateChildren(parent, cachedModule, true);\n        if (!cachedModule.loaded)\n          return getExportsForCircularRequire(cachedModule);\n        return cachedModule.exports;\n      }\n      delete relativeResolveCache[relResolveCacheIdentifier];\n    }\n  }\n\n  const filename = Module._resolveFilename(request, parent, isMain);\n\n  const cachedModule = Module._cache[filename];\n  if (cachedModule !== undefined) {\n    updateChildren(parent, cachedModule, true);\n    if (!cachedModule.loaded) {\n      const parseCachedModule = cjsParseCache.get(cachedModule);\n      if (!parseCachedModule || parseCachedModule.loaded)\n        return getExportsForCircularRequire(cachedModule);\n      parseCachedModule.loaded = true;\n    } else {\n      return cachedModule.exports;\n    }\n  }\n\n  const mod = loadNativeModule(filename, request);\n  if (mod && mod.canBeRequiredByUsers) return mod.exports;\n\n  // Don't call updateChildren(), Module constructor already does.\n  const module = cachedModule || new Module(filename, parent);\n\n  if (isMain) {\n    process.mainModule = module;\n    module.id = '.';\n  }\n\n  Module._cache[filename] = module;\n  if (parent !== undefined) {\n    relativeResolveCache[relResolveCacheIdentifier] = filename;\n  }\n\n  let threw = true;\n  try {\n    // Intercept exceptions that occur during the first tick and rekey them\n    // on error instance rather than module instance (which will immediately be\n    // garbage collected).\n    if (getSourceMapsEnabled()) {\n      try {\n        module.load(filename);\n      } catch (err) {\n        rekeySourceMap(Module._cache[filename], err);\n        throw err; /* node-do-not-add-exception-line */\n      }\n    } else {\n      module.load(filename);\n    }\n    threw = false;\n  } finally {\n    if (threw) {\n      delete Module._cache[filename];\n      if (parent !== undefined) {\n        delete relativeResolveCache[relResolveCacheIdentifier];\n        const children = parent && parent.children;\n        if (ArrayIsArray(children)) {\n          const index = ArrayPrototypeIndexOf(children, module);\n          if (index !== -1) {\n            ArrayPrototypeSplice(children, index, 1);\n          }\n        }\n      }\n    } else if (module.exports &&\n               !isProxy(module.exports) &&\n               ObjectGetPrototypeOf(module.exports) ===\n                 CircularRequirePrototypeWarningProxy) {\n      ObjectSetPrototypeOf(module.exports, ObjectPrototype);\n    }\n  }\n\n  return module.exports;\n};\n\nModule._resolveFilename = function(request, parent, isMain, options) {\n  if (NativeModule.canBeRequiredByUsers(request)) {\n    return request;\n  }\n\n  let paths;\n\n  if (typeof options === 'object' && options !== null) {\n    if (ArrayIsArray(options.paths)) {\n      const isRelative = StringPrototypeStartsWith(request, './') ||\n          StringPrototypeStartsWith(request, '../') ||\n          ((isWindows && StringPrototypeStartsWith(request, '.\\\\')) ||\n          StringPrototypeStartsWith(request, '..\\\\'));\n\n      if (isRelative) {\n        paths = options.paths;\n      } else {\n        const fakeParent = new Module('', null);\n\n        paths = [];\n\n        for (let i = 0; i < options.paths.length; i++) {\n          const path = options.paths[i];\n          fakeParent.paths = Module._nodeModulePaths(path);\n          const lookupPaths = Module._resolveLookupPaths(request, fakeParent);\n\n          for (let j = 0; j < lookupPaths.length; j++) {\n            if (!ArrayPrototypeIncludes(paths, lookupPaths[j]))\n              ArrayPrototypePush(paths, lookupPaths[j]);\n          }\n        }\n      }\n    } else if (options.paths === undefined) {\n      paths = Module._resolveLookupPaths(request, parent);\n    } else {\n      throw new ERR_INVALID_ARG_VALUE('options.paths', options.paths);\n    }\n  } else {\n    paths = Module._resolveLookupPaths(request, parent);\n  }\n\n  if (parent && parent.filename) {\n    if (request[0] === '#') {\n      const pkg = readPackageScope(parent.filename) || {};\n      if (pkg.data && pkg.data.imports !== null &&\n          pkg.data.imports !== undefined) {\n        try {\n          return finalizeEsmResolution(\n            packageImportsResolve(request, pathToFileURL(parent.filename),\n                                  cjsConditions), request, parent.filename,\n            pkg.path);\n        } catch (e) {\n          if (e.code === 'ERR_MODULE_NOT_FOUND')\n            throw createEsmNotFoundErr(request);\n          throw e;\n        }\n      }\n    }\n  }\n\n  // Try module self resoultion first\n  const parentPath = trySelfParentPath(parent);\n  const selfResolved = trySelf(parentPath, request);\n  if (selfResolved) {\n    const cacheKey = request + '\\x00' +\n         (paths.length === 1 ? paths[0] : ArrayPrototypeJoin(paths, '\\x00'));\n    Module._pathCache[cacheKey] = selfResolved;\n    return selfResolved;\n  }\n\n  // Look up the filename first, since that's the cache key.\n  const filename = Module._findPath(request, paths, isMain, false);\n  if (filename) return filename;\n  const requireStack = [];\n  for (let cursor = parent;\n    cursor;\n    cursor = moduleParentCache.get(cursor)) {\n    ArrayPrototypePush(requireStack, cursor.filename || cursor.id);\n  }\n  let message = `Cannot find module '${request}'`;\n  if (requireStack.length > 0) {\n    message = message + '\\nRequire stack:\\n- ' +\n              ArrayPrototypeJoin(requireStack, '\\n- ');\n  }\n  // eslint-disable-next-line no-restricted-syntax\n  const err = new Error(message);\n  err.code = 'MODULE_NOT_FOUND';\n  err.requireStack = requireStack;\n  throw err;\n};\n\nfunction finalizeEsmResolution(match, request, parentPath, pkgPath) {\n  const { resolved, exact } = match;\n  if (RegExpPrototypeTest(encodedSepRegEx, resolved))\n    throw new ERR_INVALID_MODULE_SPECIFIER(\n      resolved, 'must not include encoded \"/\" or \"\\\\\" characters', parentPath);\n  const filename = fileURLToPath(resolved);\n  let actual = tryFile(filename);\n  if (!exact && !actual) {\n    const exts = ObjectKeys(Module._extensions);\n    actual = tryExtensions(filename, exts, false) ||\n      tryPackage(filename, exts, false, request);\n  }\n  if (actual)\n    return actual;\n  const err = createEsmNotFoundErr(filename,\n                                   path.resolve(pkgPath, 'package.json'));\n  throw err;\n}\n\nfunction createEsmNotFoundErr(request, path) {\n  // eslint-disable-next-line no-restricted-syntax\n  const err = new Error(`Cannot find module '${request}'`);\n  err.code = 'MODULE_NOT_FOUND';\n  if (path)\n    err.path = path;\n  // TODO(BridgeAR): Add the requireStack as well.\n  return err;\n}\n\n// Given a file name, pass it to the proper extension handler.\nModule.prototype.load = function(filename) {\n  debug('load %j for module %j', filename, this.id);\n\n  assert(!this.loaded);\n  this.filename = filename;\n  this.paths = Module._nodeModulePaths(path.dirname(filename));\n\n  const extension = findLongestRegisteredExtension(filename);\n  // allow .mjs to be overridden\n  if (StringPrototypeEndsWith(filename, '.mjs') && !Module._extensions['.mjs'])\n    throw new ERR_REQUIRE_ESM(filename);\n\n  Module._extensions[extension](this, filename);\n  this.loaded = true;\n\n  const ESMLoader = asyncESM.ESMLoader;\n  // Create module entry at load time to snapshot exports correctly\n  const exports = this.exports;\n  // Preemptively cache\n  if ((module?.module === undefined ||\n       module.module.getStatus() < kEvaluated) &&\n      !ESMLoader.cjsCache.has(this))\n    ESMLoader.cjsCache.set(this, exports);\n};\n\n\n// Loads a module at the given file path. Returns that module's\n// `exports` property.\nModule.prototype.require = function(id) {\n  validateString(id, 'id');\n  if (id === '') {\n    throw new ERR_INVALID_ARG_VALUE('id', id,\n                                    'must be a non-empty string');\n  }\n  requireDepth++;\n  try {\n    return Module._load(id, this, /* isMain */ false);\n  } finally {\n    requireDepth--;\n  }\n};\n\n\n// Resolved path to process.argv[1] will be lazily placed here\n// (needed for setting breakpoint when called with --inspect-brk)\nlet resolvedArgv;\nlet hasPausedEntry = false;\n\nfunction wrapSafe(filename, content, cjsModuleInstance) {\n  if (patched) {\n    const wrapper = Module.wrap(content);\n    return vm.runInThisContext(wrapper, {\n      filename,\n      lineOffset: 0,\n      displayErrors: true,\n      importModuleDynamically: async (specifier) => {\n        const loader = asyncESM.ESMLoader;\n        return loader.import(specifier, normalizeReferrerURL(filename));\n      },\n    });\n  }\n  let compiled;\n  try {\n    compiled = compileFunction(\n      content,\n      filename,\n      0,\n      0,\n      undefined,\n      false,\n      undefined,\n      [],\n      [\n        'exports',\n        'require',\n        'module',\n        '__filename',\n        '__dirname',\n      ]\n    );\n  } catch (err) {\n    if (process.mainModule === cjsModuleInstance)\n      enrichCJSError(err);\n    throw err;\n  }\n\n  const { callbackMap } = internalBinding('module_wrap');\n  callbackMap.set(compiled.cacheKey, {\n    importModuleDynamically: async (specifier) => {\n      const loader = asyncESM.ESMLoader;\n      return loader.import(specifier, normalizeReferrerURL(filename));\n    }\n  });\n\n  return compiled.function;\n}\n\n// Run the file contents in the correct scope or sandbox. Expose\n// the correct helper variables (require, module, exports) to\n// the file.\n// Returns exception, if any.\nModule.prototype._compile = function(content, filename) {\n  let moduleURL;\n  let redirects;\n  if (policy?.manifest) {\n    moduleURL = pathToFileURL(filename);\n    redirects = policy.manifest.getDependencyMapper(moduleURL);\n    policy.manifest.assertIntegrity(moduleURL, content);\n  }\n\n  maybeCacheSourceMap(filename, content, this);\n  const compiledWrapper = wrapSafe(filename, content, this);\n\n  let inspectorWrapper = null;\n  if (getOptionValue('--inspect-brk') && process._eval == null) {\n    if (!resolvedArgv) {\n      // We enter the repl if we're not given a filename argument.\n      if (process.argv[1]) {\n        try {\n          resolvedArgv = Module._resolveFilename(process.argv[1], null, false);\n        } catch {\n          // We only expect this codepath to be reached in the case of a\n          // preloaded module (it will fail earlier with the main entry)\n          assert(ArrayIsArray(getOptionValue('--require')));\n        }\n      } else {\n        resolvedArgv = 'repl';\n      }\n    }\n\n    // Set breakpoint on module start\n    if (resolvedArgv && !hasPausedEntry && filename === resolvedArgv) {\n      hasPausedEntry = true;\n      inspectorWrapper = internalBinding('inspector').callAndPauseOnStart;\n    }\n  }\n  const dirname = path.dirname(filename);\n  const require = makeRequireFunction(this, redirects);\n  let result;\n  const exports = this.exports;\n  const thisValue = exports;\n  const module = this;\n  if (requireDepth === 0) statCache = new SafeMap();\n  if (inspectorWrapper) {\n    result = inspectorWrapper(compiledWrapper, thisValue, exports,\n                              require, module, filename, dirname);\n  } else {\n    result = ReflectApply(compiledWrapper, thisValue,\n                          [exports, require, module, filename, dirname]);\n  }\n  hasLoadedAnyUserCJSModule = true;\n  if (requireDepth === 0) statCache = null;\n  return result;\n};\n\n// Native extension for .js\nModule._extensions['.js'] = function(module, filename) {\n  if (StringPrototypeEndsWith(filename, '.js')) {\n    const pkg = readPackageScope(filename);\n    // Function require shouldn't be used in ES modules.\n    if (pkg && pkg.data && pkg.data.type === 'module') {\n      const parent = moduleParentCache.get(module);\n      const parentPath = parent && parent.filename;\n      const packageJsonPath = path.resolve(pkg.path, 'package.json');\n      throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);\n    }\n  }\n  // If already analyzed the source, then it will be cached.\n  const cached = cjsParseCache.get(module);\n  let content;\n  if (cached && cached.source) {\n    content = cached.source;\n    cached.source = undefined;\n  } else {\n    content = fs.readFileSync(filename, 'utf8');\n  }\n  module._compile(content, filename);\n};\n\n\n// Native extension for .json\nModule._extensions['.json'] = function(module, filename) {\n  const content = fs.readFileSync(filename, 'utf8');\n\n  if (policy?.manifest) {\n    const moduleURL = pathToFileURL(filename);\n    policy.manifest.assertIntegrity(moduleURL, content);\n  }\n\n  try {\n    module.exports = JSONParse(stripBOM(content));\n  } catch (err) {\n    err.message = filename + ': ' + err.message;\n    throw err;\n  }\n};\n\n\n// Native extension for .node\nModule._extensions['.node'] = function(module, filename) {\n  if (policy?.manifest) {\n    const content = fs.readFileSync(filename);\n    const moduleURL = pathToFileURL(filename);\n    policy.manifest.assertIntegrity(moduleURL, content);\n  }\n  // Be aware this doesn't use `content`\n  return process.dlopen(module, path.toNamespacedPath(filename));\n};\n\nfunction createRequireFromPath(filename) {\n  // Allow a directory to be passed as the filename\n  const trailingSlash =\n    StringPrototypeEndsWith(filename, '/') ||\n    (isWindows && StringPrototypeEndsWith(filename, '\\\\'));\n\n  const proxyPath = trailingSlash ?\n    path.join(filename, 'noop.js') :\n    filename;\n\n  const m = new Module(proxyPath);\n  m.filename = proxyPath;\n\n  m.paths = Module._nodeModulePaths(m.path);\n  return makeRequireFunction(m, null);\n}\n\nModule.createRequireFromPath = deprecate(\n  createRequireFromPath,\n  'Module.createRequireFromPath() is deprecated. ' +\n  'Use Module.createRequire() instead.',\n  'DEP0130'\n);\n\nconst createRequireError = 'must be a file URL object, file URL string, or ' +\n  'absolute path string';\n\nfunction createRequire(filename) {\n  let filepath;\n\n  if (isURLInstance(filename) ||\n      (typeof filename === 'string' && !path.isAbsolute(filename))) {\n    try {\n      filepath = fileURLToPath(filename);\n    } catch {\n      throw new ERR_INVALID_ARG_VALUE('filename', filename,\n                                      createRequireError);\n    }\n  } else if (typeof filename !== 'string') {\n    throw new ERR_INVALID_ARG_VALUE('filename', filename, createRequireError);\n  } else {\n    filepath = filename;\n  }\n  return createRequireFromPath(filepath);\n}\n\nModule.createRequire = createRequire;\n\nModule._initPaths = function() {\n  const homeDir = isWindows ? process.env.USERPROFILE : safeGetenv('HOME');\n  const nodePath = isWindows ? process.env.NODE_PATH : safeGetenv('NODE_PATH');\n\n  // process.execPath is $PREFIX/bin/node except on Windows where it is\n  // $PREFIX\\node.exe where $PREFIX is the root of the Node.js installation.\n  const prefixDir = isWindows ?\n    path.resolve(process.execPath, '..') :\n    path.resolve(process.execPath, '..', '..');\n\n  let paths = [path.resolve(prefixDir, 'lib', 'node')];\n\n  if (homeDir) {\n    paths.unshift(path.resolve(homeDir, '.node_libraries'));\n    paths.unshift(path.resolve(homeDir, '.node_modules'));\n  }\n\n  if (nodePath) {\n    paths = ArrayPrototypeConcat(ArrayPrototypeFilter(\n      StringPrototypeSplit(nodePath, path.delimiter),\n      Boolean\n    ), paths);\n  }\n\n  modulePaths = paths;\n\n  // Clone as a shallow copy, for introspection.\n  Module.globalPaths = ArrayPrototypeSlice(modulePaths);\n};\n\nModule._preloadModules = function(requests) {\n  if (!ArrayIsArray(requests))\n    return;\n\n  // Preloaded modules have a dummy parent module which is deemed to exist\n  // in the current working directory. This seeds the search path for\n  // preloaded modules.\n  const parent = new Module('internal/preload', null);\n  try {\n    parent.paths = Module._nodeModulePaths(process.cwd());\n  } catch (e) {\n    if (e.code !== 'ENOENT') {\n      throw e;\n    }\n  }\n  for (let n = 0; n < requests.length; n++)\n    parent.require(requests[n]);\n};\n\nModule.syncBuiltinESMExports = function syncBuiltinESMExports() {\n  for (const mod of NativeModule.map.values()) {\n    if (mod.canBeRequiredByUsers) {\n      mod.syncExports();\n    }\n  }\n};\n\n// Backwards compatibility\nModule.Module = Module;\n"
  },
  {
    "path": "raw/node-internal-modules-cjs-loader-v17.0.1-stripped.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/v17.0.1/lib/internal/modules/cjs/loader.js\n\n'use strict';\n\nconst {\n  ArrayIsArray,\n  ArrayPrototypeConcat,\n  ArrayPrototypeFilter,\n  ArrayPrototypeIncludes,\n  ArrayPrototypeIndexOf,\n  ArrayPrototypeJoin,\n  ArrayPrototypePush,\n  ArrayPrototypeSlice,\n  ArrayPrototypeSplice,\n  ArrayPrototypeUnshift,\n  ArrayPrototypeUnshiftApply,\n  Boolean,\n  Error,\n  JSONParse,\n  ObjectCreate,\n  ObjectDefineProperty,\n  ObjectFreeze,\n  ObjectGetOwnPropertyDescriptor,\n  ObjectGetPrototypeOf,\n  ObjectKeys,\n  ObjectPrototype,\n  ObjectPrototypeHasOwnProperty,\n  ObjectSetPrototypeOf,\n  Proxy,\n  ReflectApply,\n  ReflectSet,\n  RegExpPrototypeExec,\n  RegExpPrototypeTest,\n  SafeMap,\n  SafeWeakMap,\n  String,\n  StringPrototypeCharAt,\n  StringPrototypeCharCodeAt,\n  StringPrototypeEndsWith,\n  StringPrototypeLastIndexOf,\n  StringPrototypeIndexOf,\n  StringPrototypeMatch,\n  StringPrototypeRepeat,\n  StringPrototypeSlice,\n  StringPrototypeSplit,\n  StringPrototypeStartsWith,\n} = primordials;\n\nconst { NativeModule } = require('internal/bootstrap/loaders');\nconst { pathToFileURL, fileURLToPath, isURLInstance } = require('internal/url');\nconst fs = require('fs');\nconst internalFS = require('internal/fs/utils');\nconst path = require('path');\nconst { sep } = path;\nconst { internalModuleStat } = internalBinding('fs');\nconst packageJsonReader = require('internal/modules/package_json_reader');\nconst {\n  cjsConditions,\n  hasEsmSyntax,\n} = require('internal/modules/cjs/helpers');\nconst { getOptionValue } = require('internal/options');\nconst preserveSymlinks = getOptionValue('--preserve-symlinks');\nconst preserveSymlinksMain = getOptionValue('--preserve-symlinks-main');\n// Do not eagerly grab .manifest, it may be in TDZ\nconst policy = getOptionValue('--experimental-policy') ?\n  require('internal/process/policy') :\n  null;\n\nconst {\n  codes: {\n    ERR_INVALID_MODULE_SPECIFIER,\n    ERR_REQUIRE_ESM,\n  },\n} = require('internal/errors');\n\nconst {\n  CHAR_FORWARD_SLASH,\n} = require('internal/constants');\n\nconst {\n  encodedSepRegEx,\n  packageExportsResolve,\n  packageImportsResolve\n} = require('internal/modules/esm/resolve');\n\nconst isWindows = process.platform === 'win32';\n\nconst relativeResolveCache = ObjectCreate(null);\n\nlet requireDepth = 0;\nlet statCache = null;\nlet isPreloading = false;\n\nfunction stat(filename) {\n  filename = path.toNamespacedPath(filename);\n  if (statCache !== null) {\n    const result = statCache.get(filename);\n    if (result !== undefined) return result;\n  }\n  const result = internalModuleStat(filename);\n  if (statCache !== null && result >= 0) {\n    // Only set cache when `internalModuleStat(filename)` succeeds.\n    statCache.set(filename, result);\n  }\n  return result;\n}\n\nconst moduleParentCache = new SafeWeakMap();\n\n// Given a module name, and a list of paths to test, returns the first\n// matching file in the following precedence.\n//\n// require(\"a.<ext>\")\n//   -> a.<ext>\n//\n// require(\"a\")\n//   -> a\n//   -> a.<ext>\n//   -> a/index.<ext>\n\nconst packageJsonCache = new SafeMap();\n\nfunction readPackage(requestPath) {\n  const jsonPath = path.resolve(requestPath, 'package.json');\n\n  const existing = packageJsonCache.get(jsonPath);\n  if (existing !== undefined) return existing;\n\n  const result = packageJsonReader.read(jsonPath);\n  const json = result.containsKeys === false ? '{}' : result.string;\n  if (json === undefined) {\n    packageJsonCache.set(jsonPath, false);\n    return false;\n  }\n\n  try {\n    const parsed = JSONParse(json);\n    const filtered = {\n      name: parsed.name,\n      main: parsed.main,\n      exports: parsed.exports,\n      imports: parsed.imports,\n      type: parsed.type\n    };\n    packageJsonCache.set(jsonPath, filtered);\n    return filtered;\n  } catch (e) {\n    e.path = jsonPath;\n    e.message = 'Error parsing ' + jsonPath + ': ' + e.message;\n    throw e;\n  }\n}\n\nfunction readPackageScope(checkPath) {\n  const rootSeparatorIndex = StringPrototypeIndexOf(checkPath, sep);\n  let separatorIndex;\n  do {\n    separatorIndex = StringPrototypeLastIndexOf(checkPath, sep);\n    checkPath = StringPrototypeSlice(checkPath, 0, separatorIndex);\n    if (StringPrototypeEndsWith(checkPath, sep + 'node_modules'))\n      return false;\n    const pjson = readPackage(checkPath + sep);\n    if (pjson) return {\n      data: pjson,\n      path: checkPath,\n    };\n  } while (separatorIndex > rootSeparatorIndex);\n  return false;\n}\n\nfunction tryPackage(requestPath, exts, isMain, originalPath) {\n  const pkg = readPackage(requestPath)?.main;\n\n  if (!pkg) {\n    return tryExtensions(path.resolve(requestPath, 'index'), exts, isMain);\n  }\n\n  const filename = path.resolve(requestPath, pkg);\n  let actual = tryFile(filename, isMain) ||\n    tryExtensions(filename, exts, isMain) ||\n    tryExtensions(path.resolve(filename, 'index'), exts, isMain);\n  if (actual === false) {\n    actual = tryExtensions(path.resolve(requestPath, 'index'), exts, isMain);\n    if (!actual) {\n      // eslint-disable-next-line no-restricted-syntax\n      const err = new Error(\n        `Cannot find module '${filename}'. ` +\n        'Please verify that the package.json has a valid \"main\" entry'\n      );\n      err.code = 'MODULE_NOT_FOUND';\n      err.path = path.resolve(requestPath, 'package.json');\n      err.requestPath = originalPath;\n      // TODO(BridgeAR): Add the requireStack as well.\n      throw err;\n    } else {\n      const jsonPath = path.resolve(requestPath, 'package.json');\n      process.emitWarning(\n        `Invalid 'main' field in '${jsonPath}' of '${pkg}'. ` +\n          'Please either fix that or report it to the module author',\n        'DeprecationWarning',\n        'DEP0128'\n      );\n    }\n  }\n  return actual;\n}\n\n// In order to minimize unnecessary lstat() calls,\n// this cache is a list of known-real paths.\n// Set to an empty Map to reset.\nconst realpathCache = new SafeMap();\n\n// Check if the file exists and is not a directory\n// if using --preserve-symlinks and isMain is false,\n// keep symlinks intact, otherwise resolve to the\n// absolute realpath.\nfunction tryFile(requestPath, isMain) {\n  const rc = stat(requestPath);\n  if (rc !== 0) return;\n  if (preserveSymlinks && !isMain) {\n    return path.resolve(requestPath);\n  }\n  return toRealPath(requestPath);\n}\n\nfunction toRealPath(requestPath) {\n  return fs.realpathSync(requestPath, {\n    [internalFS.realpathCacheKey]: realpathCache\n  });\n}\n\n// Given a path, check if the file exists with any of the set extensions\nfunction tryExtensions(p, exts, isMain) {\n  for (let i = 0; i < exts.length; i++) {\n    const filename = tryFile(p + exts[i], isMain);\n\n    if (filename) {\n      return filename;\n    }\n  }\n  return false;\n}\n\nfunction trySelfParentPath(parent) {\n  if (!parent) return false;\n\n  if (parent.filename) {\n    return parent.filename;\n  } else if (parent.id === '<repl>' || parent.id === 'internal/preload') {\n    try {\n      return process.cwd() + path.sep;\n    } catch {\n      return false;\n    }\n  }\n}\n\nfunction trySelf(parentPath, request) {\n  if (!parentPath) return false;\n\n  const { data: pkg, path: pkgPath } = readPackageScope(parentPath) || {};\n  if (!pkg || pkg.exports === undefined) return false;\n  if (typeof pkg.name !== 'string') return false;\n\n  let expansion;\n  if (request === pkg.name) {\n    expansion = '.';\n  } else if (StringPrototypeStartsWith(request, `${pkg.name}/`)) {\n    expansion = '.' + StringPrototypeSlice(request, pkg.name.length);\n  } else {\n    return false;\n  }\n\n  try {\n    return finalizeEsmResolution(packageExportsResolve(\n      pathToFileURL(pkgPath + '/package.json'), expansion, pkg,\n      pathToFileURL(parentPath), cjsConditions), parentPath, pkgPath);\n  } catch (e) {\n    if (e.code === 'ERR_MODULE_NOT_FOUND')\n      throw createEsmNotFoundErr(request, pkgPath + '/package.json');\n    throw e;\n  }\n}\n\n// This only applies to requests of a specific form:\n// 1. name/.*\n// 2. @scope/name/.*\nconst EXPORTS_PATTERN = /^((?:@[^/\\\\%]+\\/)?[^./\\\\%][^/\\\\%]*)(\\/.*)?$/;\nfunction resolveExports(nmPath, request) {\n  // The implementation's behavior is meant to mirror resolution in ESM.\n  const { 1: name, 2: expansion = '' } =\n    StringPrototypeMatch(request, EXPORTS_PATTERN) || [];\n  if (!name)\n    return;\n  const pkgPath = path.resolve(nmPath, name);\n  const pkg = readPackage(pkgPath);\n  if (pkg?.exports != null) {\n    try {\n      return finalizeEsmResolution(packageExportsResolve(\n        pathToFileURL(pkgPath + '/package.json'), '.' + expansion, pkg, null,\n        cjsConditions), null, pkgPath);\n    } catch (e) {\n      if (e.code === 'ERR_MODULE_NOT_FOUND')\n        throw createEsmNotFoundErr(request, pkgPath + '/package.json');\n      throw e;\n    }\n  }\n}\n\nconst trailingSlashRegex = /(?:^|\\/)\\.?\\.$/;\nModule._findPath = function(request, paths, isMain) {\n  const absoluteRequest = path.isAbsolute(request);\n  if (absoluteRequest) {\n    paths = [''];\n  } else if (!paths || paths.length === 0) {\n    return false;\n  }\n\n  const cacheKey = request + '\\x00' + ArrayPrototypeJoin(paths, '\\x00');\n  const entry = Module._pathCache[cacheKey];\n  if (entry)\n    return entry;\n\n  let exts;\n  let trailingSlash = request.length > 0 &&\n    StringPrototypeCharCodeAt(request, request.length - 1) ===\n    CHAR_FORWARD_SLASH;\n  if (!trailingSlash) {\n    trailingSlash = RegExpPrototypeTest(trailingSlashRegex, request);\n  }\n\n  // For each path\n  for (let i = 0; i < paths.length; i++) {\n    // Don't search further if path doesn't exist\n    const curPath = paths[i];\n    if (curPath && stat(curPath) < 1) continue;\n\n    if (!absoluteRequest) {\n      const exportsResolved = resolveExports(curPath, request);\n      if (exportsResolved)\n        return exportsResolved;\n    }\n\n    const basePath = path.resolve(curPath, request);\n    let filename;\n\n    const rc = stat(basePath);\n    if (!trailingSlash) {\n      if (rc === 0) {  // File.\n        if (!isMain) {\n          if (preserveSymlinks) {\n            filename = path.resolve(basePath);\n          } else {\n            filename = toRealPath(basePath);\n          }\n        } else if (preserveSymlinksMain) {\n          // For the main module, we use the preserveSymlinksMain flag instead\n          // mainly for backward compatibility, as the preserveSymlinks flag\n          // historically has not applied to the main module.  Most likely this\n          // was intended to keep .bin/ binaries working, as following those\n          // symlinks is usually required for the imports in the corresponding\n          // files to resolve; that said, in some use cases following symlinks\n          // causes bigger problems which is why the preserveSymlinksMain option\n          // is needed.\n          filename = path.resolve(basePath);\n        } else {\n          filename = toRealPath(basePath);\n        }\n      }\n\n      if (!filename) {\n        // Try it with each of the extensions\n        if (exts === undefined)\n          exts = ObjectKeys(Module._extensions);\n        filename = tryExtensions(basePath, exts, isMain);\n      }\n    }\n\n    if (!filename && rc === 1) {  // Directory.\n      // try it with each of the extensions at \"index\"\n      if (exts === undefined)\n        exts = ObjectKeys(Module._extensions);\n      filename = tryPackage(basePath, exts, isMain, request);\n    }\n\n    if (filename) {\n      Module._pathCache[cacheKey] = filename;\n      return filename;\n    }\n  }\n\n  return false;\n};\n\nModule._resolveFilename = function(request, parent, isMain, options) {\n  if (StringPrototypeStartsWith(request, 'node:') ||\n      NativeModule.canBeRequiredByUsers(request)) {\n    return request;\n  }\n\n  let paths;\n\n  if (typeof options === 'object' && options !== null) {\n    if (ArrayIsArray(options.paths)) {\n      const isRelative = StringPrototypeStartsWith(request, './') ||\n          StringPrototypeStartsWith(request, '../') ||\n          ((isWindows && StringPrototypeStartsWith(request, '.\\\\')) ||\n          StringPrototypeStartsWith(request, '..\\\\'));\n\n      if (isRelative) {\n        paths = options.paths;\n      } else {\n        const fakeParent = new Module('', null);\n\n        paths = [];\n\n        for (let i = 0; i < options.paths.length; i++) {\n          const path = options.paths[i];\n          fakeParent.paths = Module._nodeModulePaths(path);\n          const lookupPaths = Module._resolveLookupPaths(request, fakeParent);\n\n          for (let j = 0; j < lookupPaths.length; j++) {\n            if (!ArrayPrototypeIncludes(paths, lookupPaths[j]))\n              ArrayPrototypePush(paths, lookupPaths[j]);\n          }\n        }\n      }\n    } else if (options.paths === undefined) {\n      paths = Module._resolveLookupPaths(request, parent);\n    } else {\n      throw new ERR_INVALID_ARG_VALUE('options.paths', options.paths);\n    }\n  } else {\n    paths = Module._resolveLookupPaths(request, parent);\n  }\n\n  if (parent?.filename) {\n    if (request[0] === '#') {\n      const pkg = readPackageScope(parent.filename) || {};\n      if (pkg.data?.imports != null) {\n        try {\n          return finalizeEsmResolution(\n            packageImportsResolve(request, pathToFileURL(parent.filename),\n                                  cjsConditions), parent.filename,\n            pkg.path);\n        } catch (e) {\n          if (e.code === 'ERR_MODULE_NOT_FOUND')\n            throw createEsmNotFoundErr(request);\n          throw e;\n        }\n      }\n    }\n  }\n\n  // Try module self resolution first\n  const parentPath = trySelfParentPath(parent);\n  const selfResolved = trySelf(parentPath, request);\n  if (selfResolved) {\n    const cacheKey = request + '\\x00' +\n         (paths.length === 1 ? paths[0] : ArrayPrototypeJoin(paths, '\\x00'));\n    Module._pathCache[cacheKey] = selfResolved;\n    return selfResolved;\n  }\n\n  // Look up the filename first, since that's the cache key.\n  const filename = Module._findPath(request, paths, isMain, false);\n  if (filename) return filename;\n  const requireStack = [];\n  for (let cursor = parent;\n    cursor;\n    cursor = moduleParentCache.get(cursor)) {\n    ArrayPrototypePush(requireStack, cursor.filename || cursor.id);\n  }\n  let message = `Cannot find module '${request}'`;\n  if (requireStack.length > 0) {\n    message = message + '\\nRequire stack:\\n- ' +\n              ArrayPrototypeJoin(requireStack, '\\n- ');\n  }\n  // eslint-disable-next-line no-restricted-syntax\n  const err = new Error(message);\n  err.code = 'MODULE_NOT_FOUND';\n  err.requireStack = requireStack;\n  throw err;\n};\n\nfunction finalizeEsmResolution(resolved, parentPath, pkgPath) {\n  if (RegExpPrototypeTest(encodedSepRegEx, resolved))\n    throw new ERR_INVALID_MODULE_SPECIFIER(\n      resolved, 'must not include encoded \"/\" or \"\\\\\" characters', parentPath);\n  const filename = fileURLToPath(resolved);\n  const actual = tryFile(filename);\n  if (actual)\n    return actual;\n  const err = createEsmNotFoundErr(filename,\n                                   path.resolve(pkgPath, 'package.json'));\n  throw err;\n}\n\nfunction createEsmNotFoundErr(request, path) {\n  // eslint-disable-next-line no-restricted-syntax\n  const err = new Error(`Cannot find module '${request}'`);\n  err.code = 'MODULE_NOT_FOUND';\n  if (path)\n    err.path = path;\n  // TODO(BridgeAR): Add the requireStack as well.\n  return err;\n}\n\n// Native extension for .js\nModule._extensions['.js'] = function(module, filename) {\n  // If already analyzed the source, then it will be cached.\n  const cached = cjsParseCache.get(module);\n  let content;\n  if (cached?.source) {\n    content = cached.source;\n    cached.source = undefined;\n  } else {\n    content = fs.readFileSync(filename, 'utf8');\n  }\n  if (StringPrototypeEndsWith(filename, '.js')) {\n    const pkg = readPackageScope(filename);\n    // Function require shouldn't be used in ES modules.\n    if (pkg?.data?.type === 'module') {\n      const parent = moduleParentCache.get(module);\n      const parentPath = parent?.filename;\n      const packageJsonPath = path.resolve(pkg.path, 'package.json');\n      const usesEsm = hasEsmSyntax(content);\n      const err = new ERR_REQUIRE_ESM(filename, usesEsm, parentPath,\n                                      packageJsonPath);\n      // Attempt to reconstruct the parent require frame.\n      if (Module._cache[parentPath]) {\n        let parentSource;\n        try {\n          parentSource = fs.readFileSync(parentPath, 'utf8');\n        } catch {}\n        if (parentSource) {\n          const errLine = StringPrototypeSplit(\n            StringPrototypeSlice(err.stack, StringPrototypeIndexOf(\n              err.stack, '    at ')), '\\n', 1)[0];\n          const { 1: line, 2: col } =\n              RegExpPrototypeExec(/(\\d+):(\\d+)\\)/, errLine) || [];\n          if (line && col) {\n            const srcLine = StringPrototypeSplit(parentSource, '\\n')[line - 1];\n            const frame = `${parentPath}:${line}\\n${srcLine}\\n${\n              StringPrototypeRepeat(' ', col - 1)}^\\n`;\n            setArrowMessage(err, frame);\n          }\n        }\n      }\n      throw err;\n    }\n  }\n  module._compile(content, filename);\n};\n"
  },
  {
    "path": "raw/node-internal-modules-cjs-loader-v17.0.1.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/v17.0.1/lib/internal/modules/cjs/loader.js\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nconst {\n  ArrayIsArray,\n  ArrayPrototypeConcat,\n  ArrayPrototypeFilter,\n  ArrayPrototypeIncludes,\n  ArrayPrototypeIndexOf,\n  ArrayPrototypeJoin,\n  ArrayPrototypePush,\n  ArrayPrototypeSlice,\n  ArrayPrototypeSplice,\n  ArrayPrototypeUnshift,\n  ArrayPrototypeUnshiftApply,\n  Boolean,\n  Error,\n  JSONParse,\n  ObjectCreate,\n  ObjectDefineProperty,\n  ObjectFreeze,\n  ObjectGetOwnPropertyDescriptor,\n  ObjectGetPrototypeOf,\n  ObjectKeys,\n  ObjectPrototype,\n  ObjectPrototypeHasOwnProperty,\n  ObjectSetPrototypeOf,\n  Proxy,\n  ReflectApply,\n  ReflectSet,\n  RegExpPrototypeExec,\n  RegExpPrototypeTest,\n  SafeMap,\n  SafeWeakMap,\n  String,\n  StringPrototypeCharAt,\n  StringPrototypeCharCodeAt,\n  StringPrototypeEndsWith,\n  StringPrototypeLastIndexOf,\n  StringPrototypeIndexOf,\n  StringPrototypeMatch,\n  StringPrototypeRepeat,\n  StringPrototypeSlice,\n  StringPrototypeSplit,\n  StringPrototypeStartsWith,\n} = primordials;\n\n// Map used to store CJS parsing data.\nconst cjsParseCache = new SafeWeakMap();\n\n// Set first due to cycle with ESM loader functions.\nmodule.exports = {\n  wrapSafe, Module, toRealPath, readPackageScope, cjsParseCache,\n  get hasLoadedAnyUserCJSModule() { return hasLoadedAnyUserCJSModule; }\n};\n\nconst { NativeModule } = require('internal/bootstrap/loaders');\nconst {\n  maybeCacheSourceMap,\n} = require('internal/source_map/source_map_cache');\nconst { pathToFileURL, fileURLToPath, isURLInstance } = require('internal/url');\nconst { deprecate } = require('internal/util');\nconst vm = require('vm');\nconst assert = require('internal/assert');\nconst fs = require('fs');\nconst internalFS = require('internal/fs/utils');\nconst path = require('path');\nconst { sep } = path;\nconst { internalModuleStat } = internalBinding('fs');\nconst packageJsonReader = require('internal/modules/package_json_reader');\nconst { safeGetenv } = internalBinding('credentials');\nconst {\n  cjsConditions,\n  hasEsmSyntax,\n  loadNativeModule,\n  makeRequireFunction,\n  normalizeReferrerURL,\n  stripBOM,\n} = require('internal/modules/cjs/helpers');\nconst { getOptionValue } = require('internal/options');\nconst preserveSymlinks = getOptionValue('--preserve-symlinks');\nconst preserveSymlinksMain = getOptionValue('--preserve-symlinks-main');\n// Do not eagerly grab .manifest, it may be in TDZ\nconst policy = getOptionValue('--experimental-policy') ?\n  require('internal/process/policy') :\n  null;\n\n// Whether any user-provided CJS modules had been loaded (executed).\n// Used for internal assertions.\nlet hasLoadedAnyUserCJSModule = false;\n\nconst {\n  codes: {\n    ERR_INVALID_ARG_VALUE,\n    ERR_INVALID_MODULE_SPECIFIER,\n    ERR_REQUIRE_ESM,\n    ERR_UNKNOWN_BUILTIN_MODULE,\n  },\n  setArrowMessage,\n} = require('internal/errors');\nconst { validateString } = require('internal/validators');\nconst pendingDeprecation = getOptionValue('--pending-deprecation');\n\nconst {\n  CHAR_FORWARD_SLASH,\n  CHAR_BACKWARD_SLASH,\n  CHAR_COLON\n} = require('internal/constants');\n\nconst {\n  isProxy\n} = require('internal/util/types');\n\nconst asyncESM = require('internal/process/esm_loader');\nconst { enrichCJSError } = require('internal/modules/esm/translators');\nconst { kEvaluated } = internalBinding('module_wrap');\nconst {\n  encodedSepRegEx,\n  packageExportsResolve,\n  packageImportsResolve\n} = require('internal/modules/esm/resolve');\n\nconst isWindows = process.platform === 'win32';\n\nconst relativeResolveCache = ObjectCreate(null);\n\nlet requireDepth = 0;\nlet statCache = null;\nlet isPreloading = false;\n\nfunction stat(filename) {\n  filename = path.toNamespacedPath(filename);\n  if (statCache !== null) {\n    const result = statCache.get(filename);\n    if (result !== undefined) return result;\n  }\n  const result = internalModuleStat(filename);\n  if (statCache !== null && result >= 0) {\n    // Only set cache when `internalModuleStat(filename)` succeeds.\n    statCache.set(filename, result);\n  }\n  return result;\n}\n\nfunction updateChildren(parent, child, scan) {\n  const children = parent?.children;\n  if (children && !(scan && ArrayPrototypeIncludes(children, child)))\n    ArrayPrototypePush(children, child);\n}\n\nconst moduleParentCache = new SafeWeakMap();\nfunction Module(id = '', parent) {\n  this.id = id;\n  this.path = path.dirname(id);\n  this.exports = {};\n  moduleParentCache.set(this, parent);\n  updateChildren(parent, this, false);\n  this.filename = null;\n  this.loaded = false;\n  this.children = [];\n}\n\nconst builtinModules = [];\nfor (const { 0: id, 1: mod } of NativeModule.map) {\n  if (mod.canBeRequiredByUsers) {\n    ArrayPrototypePush(builtinModules, id);\n  }\n}\n\nObjectFreeze(builtinModules);\nModule.builtinModules = builtinModules;\n\nModule._cache = ObjectCreate(null);\nModule._pathCache = ObjectCreate(null);\nModule._extensions = ObjectCreate(null);\nlet modulePaths = [];\nModule.globalPaths = [];\n\nlet patched = false;\n\n// eslint-disable-next-line func-style\nlet wrap = function(script) {\n  return Module.wrapper[0] + script + Module.wrapper[1];\n};\n\nconst wrapper = [\n  '(function (exports, require, module, __filename, __dirname) { ',\n  '\\n});',\n];\n\nlet wrapperProxy = new Proxy(wrapper, {\n  set(target, property, value, receiver) {\n    patched = true;\n    return ReflectSet(target, property, value, receiver);\n  },\n\n  defineProperty(target, property, descriptor) {\n    patched = true;\n    return ObjectDefineProperty(target, property, descriptor);\n  }\n});\n\nObjectDefineProperty(Module, 'wrap', {\n  get() {\n    return wrap;\n  },\n\n  set(value) {\n    patched = true;\n    wrap = value;\n  }\n});\n\nObjectDefineProperty(Module, 'wrapper', {\n  get() {\n    return wrapperProxy;\n  },\n\n  set(value) {\n    patched = true;\n    wrapperProxy = value;\n  }\n});\n\nconst isPreloadingDesc = { get() { return isPreloading; } };\nObjectDefineProperty(Module.prototype, 'isPreloading', isPreloadingDesc);\nObjectDefineProperty(NativeModule.prototype, 'isPreloading', isPreloadingDesc);\n\nfunction getModuleParent() {\n  return moduleParentCache.get(this);\n}\n\nfunction setModuleParent(value) {\n  moduleParentCache.set(this, value);\n}\n\nObjectDefineProperty(Module.prototype, 'parent', {\n  get: pendingDeprecation ? deprecate(\n    getModuleParent,\n    'module.parent is deprecated due to accuracy issues. Please use ' +\n      'require.main to find program entry point instead.',\n    'DEP0144'\n  ) : getModuleParent,\n  set: pendingDeprecation ? deprecate(\n    setModuleParent,\n    'module.parent is deprecated due to accuracy issues. Please use ' +\n      'require.main to find program entry point instead.',\n    'DEP0144'\n  ) : setModuleParent,\n});\n\nlet debug = require('internal/util/debuglog').debuglog('module', (fn) => {\n  debug = fn;\n});\nModule._debug = deprecate(debug, 'Module._debug is deprecated.', 'DEP0077');\n\n// Given a module name, and a list of paths to test, returns the first\n// matching file in the following precedence.\n//\n// require(\"a.<ext>\")\n//   -> a.<ext>\n//\n// require(\"a\")\n//   -> a\n//   -> a.<ext>\n//   -> a/index.<ext>\n\nconst packageJsonCache = new SafeMap();\n\nfunction readPackage(requestPath) {\n  const jsonPath = path.resolve(requestPath, 'package.json');\n\n  const existing = packageJsonCache.get(jsonPath);\n  if (existing !== undefined) return existing;\n\n  const result = packageJsonReader.read(jsonPath);\n  const json = result.containsKeys === false ? '{}' : result.string;\n  if (json === undefined) {\n    packageJsonCache.set(jsonPath, false);\n    return false;\n  }\n\n  try {\n    const parsed = JSONParse(json);\n    const filtered = {\n      name: parsed.name,\n      main: parsed.main,\n      exports: parsed.exports,\n      imports: parsed.imports,\n      type: parsed.type\n    };\n    packageJsonCache.set(jsonPath, filtered);\n    return filtered;\n  } catch (e) {\n    e.path = jsonPath;\n    e.message = 'Error parsing ' + jsonPath + ': ' + e.message;\n    throw e;\n  }\n}\n\nfunction readPackageScope(checkPath) {\n  const rootSeparatorIndex = StringPrototypeIndexOf(checkPath, sep);\n  let separatorIndex;\n  do {\n    separatorIndex = StringPrototypeLastIndexOf(checkPath, sep);\n    checkPath = StringPrototypeSlice(checkPath, 0, separatorIndex);\n    if (StringPrototypeEndsWith(checkPath, sep + 'node_modules'))\n      return false;\n    const pjson = readPackage(checkPath + sep);\n    if (pjson) return {\n      data: pjson,\n      path: checkPath,\n    };\n  } while (separatorIndex > rootSeparatorIndex);\n  return false;\n}\n\nfunction tryPackage(requestPath, exts, isMain, originalPath) {\n  const pkg = readPackage(requestPath)?.main;\n\n  if (!pkg) {\n    return tryExtensions(path.resolve(requestPath, 'index'), exts, isMain);\n  }\n\n  const filename = path.resolve(requestPath, pkg);\n  let actual = tryFile(filename, isMain) ||\n    tryExtensions(filename, exts, isMain) ||\n    tryExtensions(path.resolve(filename, 'index'), exts, isMain);\n  if (actual === false) {\n    actual = tryExtensions(path.resolve(requestPath, 'index'), exts, isMain);\n    if (!actual) {\n      // eslint-disable-next-line no-restricted-syntax\n      const err = new Error(\n        `Cannot find module '${filename}'. ` +\n        'Please verify that the package.json has a valid \"main\" entry'\n      );\n      err.code = 'MODULE_NOT_FOUND';\n      err.path = path.resolve(requestPath, 'package.json');\n      err.requestPath = originalPath;\n      // TODO(BridgeAR): Add the requireStack as well.\n      throw err;\n    } else {\n      const jsonPath = path.resolve(requestPath, 'package.json');\n      process.emitWarning(\n        `Invalid 'main' field in '${jsonPath}' of '${pkg}'. ` +\n          'Please either fix that or report it to the module author',\n        'DeprecationWarning',\n        'DEP0128'\n      );\n    }\n  }\n  return actual;\n}\n\n// In order to minimize unnecessary lstat() calls,\n// this cache is a list of known-real paths.\n// Set to an empty Map to reset.\nconst realpathCache = new SafeMap();\n\n// Check if the file exists and is not a directory\n// if using --preserve-symlinks and isMain is false,\n// keep symlinks intact, otherwise resolve to the\n// absolute realpath.\nfunction tryFile(requestPath, isMain) {\n  const rc = stat(requestPath);\n  if (rc !== 0) return;\n  if (preserveSymlinks && !isMain) {\n    return path.resolve(requestPath);\n  }\n  return toRealPath(requestPath);\n}\n\nfunction toRealPath(requestPath) {\n  return fs.realpathSync(requestPath, {\n    [internalFS.realpathCacheKey]: realpathCache\n  });\n}\n\n// Given a path, check if the file exists with any of the set extensions\nfunction tryExtensions(p, exts, isMain) {\n  for (let i = 0; i < exts.length; i++) {\n    const filename = tryFile(p + exts[i], isMain);\n\n    if (filename) {\n      return filename;\n    }\n  }\n  return false;\n}\n\n// Find the longest (possibly multi-dot) extension registered in\n// Module._extensions\nfunction findLongestRegisteredExtension(filename) {\n  const name = path.basename(filename);\n  let currentExtension;\n  let index;\n  let startIndex = 0;\n  while ((index = StringPrototypeIndexOf(name, '.', startIndex)) !== -1) {\n    startIndex = index + 1;\n    if (index === 0) continue; // Skip dotfiles like .gitignore\n    currentExtension = StringPrototypeSlice(name, index);\n    if (Module._extensions[currentExtension]) return currentExtension;\n  }\n  return '.js';\n}\n\nfunction trySelfParentPath(parent) {\n  if (!parent) return false;\n\n  if (parent.filename) {\n    return parent.filename;\n  } else if (parent.id === '<repl>' || parent.id === 'internal/preload') {\n    try {\n      return process.cwd() + path.sep;\n    } catch {\n      return false;\n    }\n  }\n}\n\nfunction trySelf(parentPath, request) {\n  if (!parentPath) return false;\n\n  const { data: pkg, path: pkgPath } = readPackageScope(parentPath) || {};\n  if (!pkg || pkg.exports === undefined) return false;\n  if (typeof pkg.name !== 'string') return false;\n\n  let expansion;\n  if (request === pkg.name) {\n    expansion = '.';\n  } else if (StringPrototypeStartsWith(request, `${pkg.name}/`)) {\n    expansion = '.' + StringPrototypeSlice(request, pkg.name.length);\n  } else {\n    return false;\n  }\n\n  try {\n    return finalizeEsmResolution(packageExportsResolve(\n      pathToFileURL(pkgPath + '/package.json'), expansion, pkg,\n      pathToFileURL(parentPath), cjsConditions), parentPath, pkgPath);\n  } catch (e) {\n    if (e.code === 'ERR_MODULE_NOT_FOUND')\n      throw createEsmNotFoundErr(request, pkgPath + '/package.json');\n    throw e;\n  }\n}\n\n// This only applies to requests of a specific form:\n// 1. name/.*\n// 2. @scope/name/.*\nconst EXPORTS_PATTERN = /^((?:@[^/\\\\%]+\\/)?[^./\\\\%][^/\\\\%]*)(\\/.*)?$/;\nfunction resolveExports(nmPath, request) {\n  // The implementation's behavior is meant to mirror resolution in ESM.\n  const { 1: name, 2: expansion = '' } =\n    StringPrototypeMatch(request, EXPORTS_PATTERN) || [];\n  if (!name)\n    return;\n  const pkgPath = path.resolve(nmPath, name);\n  const pkg = readPackage(pkgPath);\n  if (pkg?.exports != null) {\n    try {\n      return finalizeEsmResolution(packageExportsResolve(\n        pathToFileURL(pkgPath + '/package.json'), '.' + expansion, pkg, null,\n        cjsConditions), null, pkgPath);\n    } catch (e) {\n      if (e.code === 'ERR_MODULE_NOT_FOUND')\n        throw createEsmNotFoundErr(request, pkgPath + '/package.json');\n      throw e;\n    }\n  }\n}\n\nconst trailingSlashRegex = /(?:^|\\/)\\.?\\.$/;\nModule._findPath = function(request, paths, isMain) {\n  const absoluteRequest = path.isAbsolute(request);\n  if (absoluteRequest) {\n    paths = [''];\n  } else if (!paths || paths.length === 0) {\n    return false;\n  }\n\n  const cacheKey = request + '\\x00' + ArrayPrototypeJoin(paths, '\\x00');\n  const entry = Module._pathCache[cacheKey];\n  if (entry)\n    return entry;\n\n  let exts;\n  let trailingSlash = request.length > 0 &&\n    StringPrototypeCharCodeAt(request, request.length - 1) ===\n    CHAR_FORWARD_SLASH;\n  if (!trailingSlash) {\n    trailingSlash = RegExpPrototypeTest(trailingSlashRegex, request);\n  }\n\n  // For each path\n  for (let i = 0; i < paths.length; i++) {\n    // Don't search further if path doesn't exist\n    const curPath = paths[i];\n    if (curPath && stat(curPath) < 1) continue;\n\n    if (!absoluteRequest) {\n      const exportsResolved = resolveExports(curPath, request);\n      if (exportsResolved)\n        return exportsResolved;\n    }\n\n    const basePath = path.resolve(curPath, request);\n    let filename;\n\n    const rc = stat(basePath);\n    if (!trailingSlash) {\n      if (rc === 0) {  // File.\n        if (!isMain) {\n          if (preserveSymlinks) {\n            filename = path.resolve(basePath);\n          } else {\n            filename = toRealPath(basePath);\n          }\n        } else if (preserveSymlinksMain) {\n          // For the main module, we use the preserveSymlinksMain flag instead\n          // mainly for backward compatibility, as the preserveSymlinks flag\n          // historically has not applied to the main module.  Most likely this\n          // was intended to keep .bin/ binaries working, as following those\n          // symlinks is usually required for the imports in the corresponding\n          // files to resolve; that said, in some use cases following symlinks\n          // causes bigger problems which is why the preserveSymlinksMain option\n          // is needed.\n          filename = path.resolve(basePath);\n        } else {\n          filename = toRealPath(basePath);\n        }\n      }\n\n      if (!filename) {\n        // Try it with each of the extensions\n        if (exts === undefined)\n          exts = ObjectKeys(Module._extensions);\n        filename = tryExtensions(basePath, exts, isMain);\n      }\n    }\n\n    if (!filename && rc === 1) {  // Directory.\n      // try it with each of the extensions at \"index\"\n      if (exts === undefined)\n        exts = ObjectKeys(Module._extensions);\n      filename = tryPackage(basePath, exts, isMain, request);\n    }\n\n    if (filename) {\n      Module._pathCache[cacheKey] = filename;\n      return filename;\n    }\n  }\n\n  return false;\n};\n\n// 'node_modules' character codes reversed\nconst nmChars = [ 115, 101, 108, 117, 100, 111, 109, 95, 101, 100, 111, 110 ];\nconst nmLen = nmChars.length;\nif (isWindows) {\n  // 'from' is the __dirname of the module.\n  Module._nodeModulePaths = function(from) {\n    // Guarantee that 'from' is absolute.\n    from = path.resolve(from);\n\n    // note: this approach *only* works when the path is guaranteed\n    // to be absolute.  Doing a fully-edge-case-correct path.split\n    // that works on both Windows and Posix is non-trivial.\n\n    // return root node_modules when path is 'D:\\\\'.\n    // path.resolve will make sure from.length >=3 in Windows.\n    if (StringPrototypeCharCodeAt(from, from.length - 1) ===\n          CHAR_BACKWARD_SLASH &&\n        StringPrototypeCharCodeAt(from, from.length - 2) === CHAR_COLON)\n      return [from + 'node_modules'];\n\n    const paths = [];\n    for (let i = from.length - 1, p = 0, last = from.length; i >= 0; --i) {\n      const code = StringPrototypeCharCodeAt(from, i);\n      // The path segment separator check ('\\' and '/') was used to get\n      // node_modules path for every path segment.\n      // Use colon as an extra condition since we can get node_modules\n      // path for drive root like 'C:\\node_modules' and don't need to\n      // parse drive name.\n      if (code === CHAR_BACKWARD_SLASH ||\n          code === CHAR_FORWARD_SLASH ||\n          code === CHAR_COLON) {\n        if (p !== nmLen)\n          ArrayPrototypePush(\n            paths,\n            StringPrototypeSlice(from, 0, last) + '\\\\node_modules'\n          );\n        last = i;\n        p = 0;\n      } else if (p !== -1) {\n        if (nmChars[p] === code) {\n          ++p;\n        } else {\n          p = -1;\n        }\n      }\n    }\n\n    return paths;\n  };\n} else { // posix\n  // 'from' is the __dirname of the module.\n  Module._nodeModulePaths = function(from) {\n    // Guarantee that 'from' is absolute.\n    from = path.resolve(from);\n    // Return early not only to avoid unnecessary work, but to *avoid* returning\n    // an array of two items for a root: [ '//node_modules', '/node_modules' ]\n    if (from === '/')\n      return ['/node_modules'];\n\n    // note: this approach *only* works when the path is guaranteed\n    // to be absolute.  Doing a fully-edge-case-correct path.split\n    // that works on both Windows and Posix is non-trivial.\n    const paths = [];\n    for (let i = from.length - 1, p = 0, last = from.length; i >= 0; --i) {\n      const code = StringPrototypeCharCodeAt(from, i);\n      if (code === CHAR_FORWARD_SLASH) {\n        if (p !== nmLen)\n          ArrayPrototypePush(\n            paths,\n            StringPrototypeSlice(from, 0, last) + '/node_modules'\n          );\n        last = i;\n        p = 0;\n      } else if (p !== -1) {\n        if (nmChars[p] === code) {\n          ++p;\n        } else {\n          p = -1;\n        }\n      }\n    }\n\n    // Append /node_modules to handle root paths.\n    ArrayPrototypePush(paths, '/node_modules');\n\n    return paths;\n  };\n}\n\nModule._resolveLookupPaths = function(request, parent) {\n  if (NativeModule.canBeRequiredByUsers(request)) {\n    debug('looking for %j in []', request);\n    return null;\n  }\n\n  // Check for node modules paths.\n  if (StringPrototypeCharAt(request, 0) !== '.' ||\n      (request.length > 1 &&\n      StringPrototypeCharAt(request, 1) !== '.' &&\n      StringPrototypeCharAt(request, 1) !== '/' &&\n      (!isWindows || StringPrototypeCharAt(request, 1) !== '\\\\'))) {\n\n    let paths = modulePaths;\n    if (parent?.paths?.length) {\n      paths = ArrayPrototypeConcat(parent.paths, paths);\n    }\n\n    debug('looking for %j in %j', request, paths);\n    return paths.length > 0 ? paths : null;\n  }\n\n  // In REPL, parent.filename is null.\n  if (!parent || !parent.id || !parent.filename) {\n    // Make require('./path/to/foo') work - normally the path is taken\n    // from realpath(__filename) but in REPL there is no filename\n    const mainPaths = ['.'];\n\n    debug('looking for %j in %j', request, mainPaths);\n    return mainPaths;\n  }\n\n  debug('RELATIVE: requested: %s from parent.id %s', request, parent.id);\n\n  const parentDir = [path.dirname(parent.filename)];\n  debug('looking for %j', parentDir);\n  return parentDir;\n};\n\nfunction emitCircularRequireWarning(prop) {\n  process.emitWarning(\n    `Accessing non-existent property '${String(prop)}' of module exports ` +\n    'inside circular dependency'\n  );\n}\n\n// A Proxy that can be used as the prototype of a module.exports object and\n// warns when non-existent properties are accessed.\nconst CircularRequirePrototypeWarningProxy = new Proxy({}, {\n  get(target, prop) {\n    // Allow __esModule access in any case because it is used in the output\n    // of transpiled code to determine whether something comes from an\n    // ES module, and is not used as a regular key of `module.exports`.\n    if (prop in target || prop === '__esModule') return target[prop];\n    emitCircularRequireWarning(prop);\n    return undefined;\n  },\n\n  getOwnPropertyDescriptor(target, prop) {\n    if (ObjectPrototypeHasOwnProperty(target, prop) || prop === '__esModule')\n      return ObjectGetOwnPropertyDescriptor(target, prop);\n    emitCircularRequireWarning(prop);\n    return undefined;\n  }\n});\n\nfunction getExportsForCircularRequire(module) {\n  if (module.exports &&\n      !isProxy(module.exports) &&\n      ObjectGetPrototypeOf(module.exports) === ObjectPrototype &&\n      // Exclude transpiled ES6 modules / TypeScript code because those may\n      // employ unusual patterns for accessing 'module.exports'. That should\n      // be okay because ES6 modules have a different approach to circular\n      // dependencies anyway.\n      !module.exports.__esModule) {\n    // This is later unset once the module is done loading.\n    ObjectSetPrototypeOf(\n      module.exports, CircularRequirePrototypeWarningProxy);\n  }\n\n  return module.exports;\n}\n\n// Check the cache for the requested file.\n// 1. If a module already exists in the cache: return its exports object.\n// 2. If the module is native: call\n//    `NativeModule.prototype.compileForPublicLoader()` and return the exports.\n// 3. Otherwise, create a new module for the file and save it to the cache.\n//    Then have it load  the file contents before returning its exports\n//    object.\nModule._load = function(request, parent, isMain) {\n  let relResolveCacheIdentifier;\n  if (parent) {\n    debug('Module._load REQUEST %s parent: %s', request, parent.id);\n    // Fast path for (lazy loaded) modules in the same directory. The indirect\n    // caching is required to allow cache invalidation without changing the old\n    // cache key names.\n    relResolveCacheIdentifier = `${parent.path}\\x00${request}`;\n    const filename = relativeResolveCache[relResolveCacheIdentifier];\n    if (filename !== undefined) {\n      const cachedModule = Module._cache[filename];\n      if (cachedModule !== undefined) {\n        updateChildren(parent, cachedModule, true);\n        if (!cachedModule.loaded)\n          return getExportsForCircularRequire(cachedModule);\n        return cachedModule.exports;\n      }\n      delete relativeResolveCache[relResolveCacheIdentifier];\n    }\n  }\n\n  const filename = Module._resolveFilename(request, parent, isMain);\n  if (StringPrototypeStartsWith(filename, 'node:')) {\n    // Slice 'node:' prefix\n    const id = StringPrototypeSlice(filename, 5);\n\n    const module = loadNativeModule(id, request);\n    if (!module?.canBeRequiredByUsers) {\n      throw new ERR_UNKNOWN_BUILTIN_MODULE(filename);\n    }\n\n    return module.exports;\n  }\n\n  const cachedModule = Module._cache[filename];\n  if (cachedModule !== undefined) {\n    updateChildren(parent, cachedModule, true);\n    if (!cachedModule.loaded) {\n      const parseCachedModule = cjsParseCache.get(cachedModule);\n      if (!parseCachedModule || parseCachedModule.loaded)\n        return getExportsForCircularRequire(cachedModule);\n      parseCachedModule.loaded = true;\n    } else {\n      return cachedModule.exports;\n    }\n  }\n\n  const mod = loadNativeModule(filename, request);\n  if (mod?.canBeRequiredByUsers) return mod.exports;\n\n  // Don't call updateChildren(), Module constructor already does.\n  const module = cachedModule || new Module(filename, parent);\n\n  if (isMain) {\n    process.mainModule = module;\n    module.id = '.';\n  }\n\n  Module._cache[filename] = module;\n  if (parent !== undefined) {\n    relativeResolveCache[relResolveCacheIdentifier] = filename;\n  }\n\n  let threw = true;\n  try {\n    module.load(filename);\n    threw = false;\n  } finally {\n    if (threw) {\n      delete Module._cache[filename];\n      if (parent !== undefined) {\n        delete relativeResolveCache[relResolveCacheIdentifier];\n        const children = parent?.children;\n        if (ArrayIsArray(children)) {\n          const index = ArrayPrototypeIndexOf(children, module);\n          if (index !== -1) {\n            ArrayPrototypeSplice(children, index, 1);\n          }\n        }\n      }\n    } else if (module.exports &&\n               !isProxy(module.exports) &&\n               ObjectGetPrototypeOf(module.exports) ===\n                 CircularRequirePrototypeWarningProxy) {\n      ObjectSetPrototypeOf(module.exports, ObjectPrototype);\n    }\n  }\n\n  return module.exports;\n};\n\nModule._resolveFilename = function(request, parent, isMain, options) {\n  if (StringPrototypeStartsWith(request, 'node:') ||\n      NativeModule.canBeRequiredByUsers(request)) {\n    return request;\n  }\n\n  let paths;\n\n  if (typeof options === 'object' && options !== null) {\n    if (ArrayIsArray(options.paths)) {\n      const isRelative = StringPrototypeStartsWith(request, './') ||\n          StringPrototypeStartsWith(request, '../') ||\n          ((isWindows && StringPrototypeStartsWith(request, '.\\\\')) ||\n          StringPrototypeStartsWith(request, '..\\\\'));\n\n      if (isRelative) {\n        paths = options.paths;\n      } else {\n        const fakeParent = new Module('', null);\n\n        paths = [];\n\n        for (let i = 0; i < options.paths.length; i++) {\n          const path = options.paths[i];\n          fakeParent.paths = Module._nodeModulePaths(path);\n          const lookupPaths = Module._resolveLookupPaths(request, fakeParent);\n\n          for (let j = 0; j < lookupPaths.length; j++) {\n            if (!ArrayPrototypeIncludes(paths, lookupPaths[j]))\n              ArrayPrototypePush(paths, lookupPaths[j]);\n          }\n        }\n      }\n    } else if (options.paths === undefined) {\n      paths = Module._resolveLookupPaths(request, parent);\n    } else {\n      throw new ERR_INVALID_ARG_VALUE('options.paths', options.paths);\n    }\n  } else {\n    paths = Module._resolveLookupPaths(request, parent);\n  }\n\n  if (parent?.filename) {\n    if (request[0] === '#') {\n      const pkg = readPackageScope(parent.filename) || {};\n      if (pkg.data?.imports != null) {\n        try {\n          return finalizeEsmResolution(\n            packageImportsResolve(request, pathToFileURL(parent.filename),\n                                  cjsConditions), parent.filename,\n            pkg.path);\n        } catch (e) {\n          if (e.code === 'ERR_MODULE_NOT_FOUND')\n            throw createEsmNotFoundErr(request);\n          throw e;\n        }\n      }\n    }\n  }\n\n  // Try module self resolution first\n  const parentPath = trySelfParentPath(parent);\n  const selfResolved = trySelf(parentPath, request);\n  if (selfResolved) {\n    const cacheKey = request + '\\x00' +\n         (paths.length === 1 ? paths[0] : ArrayPrototypeJoin(paths, '\\x00'));\n    Module._pathCache[cacheKey] = selfResolved;\n    return selfResolved;\n  }\n\n  // Look up the filename first, since that's the cache key.\n  const filename = Module._findPath(request, paths, isMain, false);\n  if (filename) return filename;\n  const requireStack = [];\n  for (let cursor = parent;\n    cursor;\n    cursor = moduleParentCache.get(cursor)) {\n    ArrayPrototypePush(requireStack, cursor.filename || cursor.id);\n  }\n  let message = `Cannot find module '${request}'`;\n  if (requireStack.length > 0) {\n    message = message + '\\nRequire stack:\\n- ' +\n              ArrayPrototypeJoin(requireStack, '\\n- ');\n  }\n  // eslint-disable-next-line no-restricted-syntax\n  const err = new Error(message);\n  err.code = 'MODULE_NOT_FOUND';\n  err.requireStack = requireStack;\n  throw err;\n};\n\nfunction finalizeEsmResolution(resolved, parentPath, pkgPath) {\n  if (RegExpPrototypeTest(encodedSepRegEx, resolved))\n    throw new ERR_INVALID_MODULE_SPECIFIER(\n      resolved, 'must not include encoded \"/\" or \"\\\\\" characters', parentPath);\n  const filename = fileURLToPath(resolved);\n  const actual = tryFile(filename);\n  if (actual)\n    return actual;\n  const err = createEsmNotFoundErr(filename,\n                                   path.resolve(pkgPath, 'package.json'));\n  throw err;\n}\n\nfunction createEsmNotFoundErr(request, path) {\n  // eslint-disable-next-line no-restricted-syntax\n  const err = new Error(`Cannot find module '${request}'`);\n  err.code = 'MODULE_NOT_FOUND';\n  if (path)\n    err.path = path;\n  // TODO(BridgeAR): Add the requireStack as well.\n  return err;\n}\n\n// Given a file name, pass it to the proper extension handler.\nModule.prototype.load = function(filename) {\n  debug('load %j for module %j', filename, this.id);\n\n  assert(!this.loaded);\n  this.filename = filename;\n  this.paths = Module._nodeModulePaths(path.dirname(filename));\n\n  const extension = findLongestRegisteredExtension(filename);\n  // allow .mjs to be overridden\n  if (StringPrototypeEndsWith(filename, '.mjs') && !Module._extensions['.mjs'])\n    throw new ERR_REQUIRE_ESM(filename, true);\n\n  Module._extensions[extension](this, filename);\n  this.loaded = true;\n\n  const esmLoader = asyncESM.esmLoader;\n  // Create module entry at load time to snapshot exports correctly\n  const exports = this.exports;\n  // Preemptively cache\n  if ((module?.module === undefined ||\n       module.module.getStatus() < kEvaluated) &&\n      !esmLoader.cjsCache.has(this))\n    esmLoader.cjsCache.set(this, exports);\n};\n\n\n// Loads a module at the given file path. Returns that module's\n// `exports` property.\nModule.prototype.require = function(id) {\n  validateString(id, 'id');\n  if (id === '') {\n    throw new ERR_INVALID_ARG_VALUE('id', id,\n                                    'must be a non-empty string');\n  }\n  requireDepth++;\n  try {\n    return Module._load(id, this, /* isMain */ false);\n  } finally {\n    requireDepth--;\n  }\n};\n\n\n// Resolved path to process.argv[1] will be lazily placed here\n// (needed for setting breakpoint when called with --inspect-brk)\nlet resolvedArgv;\nlet hasPausedEntry = false;\n\nfunction wrapSafe(filename, content, cjsModuleInstance) {\n  if (patched) {\n    const wrapper = Module.wrap(content);\n    return vm.runInThisContext(wrapper, {\n      filename,\n      lineOffset: 0,\n      displayErrors: true,\n      importModuleDynamically: async (specifier) => {\n        const loader = asyncESM.esmLoader;\n        return loader.import(specifier, normalizeReferrerURL(filename));\n      },\n    });\n  }\n  try {\n    return vm.compileFunction(content, [\n      'exports',\n      'require',\n      'module',\n      '__filename',\n      '__dirname',\n    ], {\n      filename,\n      importModuleDynamically(specifier) {\n        const loader = asyncESM.esmLoader;\n        return loader.import(specifier, normalizeReferrerURL(filename));\n      },\n    });\n  } catch (err) {\n    if (process.mainModule === cjsModuleInstance)\n      enrichCJSError(err, content);\n    throw err;\n  }\n}\n\n// Run the file contents in the correct scope or sandbox. Expose\n// the correct helper variables (require, module, exports) to\n// the file.\n// Returns exception, if any.\nModule.prototype._compile = function(content, filename) {\n  let moduleURL;\n  let redirects;\n  if (policy?.manifest) {\n    moduleURL = pathToFileURL(filename);\n    redirects = policy.manifest.getDependencyMapper(moduleURL);\n    policy.manifest.assertIntegrity(moduleURL, content);\n  }\n\n  maybeCacheSourceMap(filename, content, this);\n  const compiledWrapper = wrapSafe(filename, content, this);\n\n  let inspectorWrapper = null;\n  if (getOptionValue('--inspect-brk') && process._eval == null) {\n    if (!resolvedArgv) {\n      // We enter the repl if we're not given a filename argument.\n      if (process.argv[1]) {\n        try {\n          resolvedArgv = Module._resolveFilename(process.argv[1], null, false);\n        } catch {\n          // We only expect this codepath to be reached in the case of a\n          // preloaded module (it will fail earlier with the main entry)\n          assert(ArrayIsArray(getOptionValue('--require')));\n        }\n      } else {\n        resolvedArgv = 'repl';\n      }\n    }\n\n    // Set breakpoint on module start\n    if (resolvedArgv && !hasPausedEntry && filename === resolvedArgv) {\n      hasPausedEntry = true;\n      inspectorWrapper = internalBinding('inspector').callAndPauseOnStart;\n    }\n  }\n  const dirname = path.dirname(filename);\n  const require = makeRequireFunction(this, redirects);\n  let result;\n  const exports = this.exports;\n  const thisValue = exports;\n  const module = this;\n  if (requireDepth === 0) statCache = new SafeMap();\n  if (inspectorWrapper) {\n    result = inspectorWrapper(compiledWrapper, thisValue, exports,\n                              require, module, filename, dirname);\n  } else {\n    result = ReflectApply(compiledWrapper, thisValue,\n                          [exports, require, module, filename, dirname]);\n  }\n  hasLoadedAnyUserCJSModule = true;\n  if (requireDepth === 0) statCache = null;\n  return result;\n};\n\n// Native extension for .js\nModule._extensions['.js'] = function(module, filename) {\n  // If already analyzed the source, then it will be cached.\n  const cached = cjsParseCache.get(module);\n  let content;\n  if (cached?.source) {\n    content = cached.source;\n    cached.source = undefined;\n  } else {\n    content = fs.readFileSync(filename, 'utf8');\n  }\n  if (StringPrototypeEndsWith(filename, '.js')) {\n    const pkg = readPackageScope(filename);\n    // Function require shouldn't be used in ES modules.\n    if (pkg?.data?.type === 'module') {\n      const parent = moduleParentCache.get(module);\n      const parentPath = parent?.filename;\n      const packageJsonPath = path.resolve(pkg.path, 'package.json');\n      const usesEsm = hasEsmSyntax(content);\n      const err = new ERR_REQUIRE_ESM(filename, usesEsm, parentPath,\n                                      packageJsonPath);\n      // Attempt to reconstruct the parent require frame.\n      if (Module._cache[parentPath]) {\n        let parentSource;\n        try {\n          parentSource = fs.readFileSync(parentPath, 'utf8');\n        } catch {}\n        if (parentSource) {\n          const errLine = StringPrototypeSplit(\n            StringPrototypeSlice(err.stack, StringPrototypeIndexOf(\n              err.stack, '    at ')), '\\n', 1)[0];\n          const { 1: line, 2: col } =\n              RegExpPrototypeExec(/(\\d+):(\\d+)\\)/, errLine) || [];\n          if (line && col) {\n            const srcLine = StringPrototypeSplit(parentSource, '\\n')[line - 1];\n            const frame = `${parentPath}:${line}\\n${srcLine}\\n${\n              StringPrototypeRepeat(' ', col - 1)}^\\n`;\n            setArrowMessage(err, frame);\n          }\n        }\n      }\n      throw err;\n    }\n  }\n  module._compile(content, filename);\n};\n\n\n// Native extension for .json\nModule._extensions['.json'] = function(module, filename) {\n  const content = fs.readFileSync(filename, 'utf8');\n\n  if (policy?.manifest) {\n    const moduleURL = pathToFileURL(filename);\n    policy.manifest.assertIntegrity(moduleURL, content);\n  }\n\n  try {\n    module.exports = JSONParse(stripBOM(content));\n  } catch (err) {\n    err.message = filename + ': ' + err.message;\n    throw err;\n  }\n};\n\n\n// Native extension for .node\nModule._extensions['.node'] = function(module, filename) {\n  if (policy?.manifest) {\n    const content = fs.readFileSync(filename);\n    const moduleURL = pathToFileURL(filename);\n    policy.manifest.assertIntegrity(moduleURL, content);\n  }\n  // Be aware this doesn't use `content`\n  return process.dlopen(module, path.toNamespacedPath(filename));\n};\n\nfunction createRequireFromPath(filename) {\n  // Allow a directory to be passed as the filename\n  const trailingSlash =\n    StringPrototypeEndsWith(filename, '/') ||\n    (isWindows && StringPrototypeEndsWith(filename, '\\\\'));\n\n  const proxyPath = trailingSlash ?\n    path.join(filename, 'noop.js') :\n    filename;\n\n  const m = new Module(proxyPath);\n  m.filename = proxyPath;\n\n  m.paths = Module._nodeModulePaths(m.path);\n  return makeRequireFunction(m, null);\n}\n\nconst createRequireError = 'must be a file URL object, file URL string, or ' +\n  'absolute path string';\n\nfunction createRequire(filename) {\n  let filepath;\n\n  if (isURLInstance(filename) ||\n      (typeof filename === 'string' && !path.isAbsolute(filename))) {\n    try {\n      filepath = fileURLToPath(filename);\n    } catch {\n      throw new ERR_INVALID_ARG_VALUE('filename', filename,\n                                      createRequireError);\n    }\n  } else if (typeof filename !== 'string') {\n    throw new ERR_INVALID_ARG_VALUE('filename', filename, createRequireError);\n  } else {\n    filepath = filename;\n  }\n  return createRequireFromPath(filepath);\n}\n\nModule.createRequire = createRequire;\n\nModule._initPaths = function() {\n  const homeDir = isWindows ? process.env.USERPROFILE : safeGetenv('HOME');\n  const nodePath = isWindows ? process.env.NODE_PATH : safeGetenv('NODE_PATH');\n\n  // process.execPath is $PREFIX/bin/node except on Windows where it is\n  // $PREFIX\\node.exe where $PREFIX is the root of the Node.js installation.\n  const prefixDir = isWindows ?\n    path.resolve(process.execPath, '..') :\n    path.resolve(process.execPath, '..', '..');\n\n  const paths = [path.resolve(prefixDir, 'lib', 'node')];\n\n  if (homeDir) {\n    ArrayPrototypeUnshift(paths, path.resolve(homeDir, '.node_libraries'));\n    ArrayPrototypeUnshift(paths, path.resolve(homeDir, '.node_modules'));\n  }\n\n  if (nodePath) {\n    ArrayPrototypeUnshiftApply(paths, ArrayPrototypeFilter(\n      StringPrototypeSplit(nodePath, path.delimiter),\n      Boolean\n    ));\n  }\n\n  modulePaths = paths;\n\n  // Clone as a shallow copy, for introspection.\n  Module.globalPaths = ArrayPrototypeSlice(modulePaths);\n};\n\nModule._preloadModules = function(requests) {\n  if (!ArrayIsArray(requests))\n    return;\n\n  isPreloading = true;\n\n  // Preloaded modules have a dummy parent module which is deemed to exist\n  // in the current working directory. This seeds the search path for\n  // preloaded modules.\n  const parent = new Module('internal/preload', null);\n  try {\n    parent.paths = Module._nodeModulePaths(process.cwd());\n  } catch (e) {\n    if (e.code !== 'ENOENT') {\n      isPreloading = false;\n      throw e;\n    }\n  }\n  for (let n = 0; n < requests.length; n++)\n    parent.require(requests[n]);\n  isPreloading = false;\n};\n\nModule.syncBuiltinESMExports = function syncBuiltinESMExports() {\n  for (const mod of NativeModule.map.values()) {\n    if (mod.canBeRequiredByUsers) {\n      mod.syncExports();\n    }\n  }\n};\n\n// Backwards compatibility\nModule.Module = Module;\n"
  },
  {
    "path": "raw/node-internal-modules-esm-get_format-v15.3.0.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/v15.3.0/lib/internal/modules/esm/get_format.js\n\n'use strict';\nconst {\n  RegExpPrototypeExec,\n  StringPrototypeStartsWith,\n} = primordials;\nconst { extname } = require('path');\nconst { getOptionValue } = require('internal/options');\n\nconst experimentalJsonModules = getOptionValue('--experimental-json-modules');\nconst experimentalSpeciferResolution =\n  getOptionValue('--experimental-specifier-resolution');\nconst experimentalWasmModules = getOptionValue('--experimental-wasm-modules');\nconst { getPackageType } = require('internal/modules/esm/resolve');\nconst { URL, fileURLToPath } = require('internal/url');\nconst { ERR_UNKNOWN_FILE_EXTENSION } = require('internal/errors').codes;\n\nconst extensionFormatMap = {\n  '__proto__': null,\n  '.cjs': 'commonjs',\n  '.js': 'module',\n  '.mjs': 'module'\n};\n\nconst legacyExtensionFormatMap = {\n  '__proto__': null,\n  '.cjs': 'commonjs',\n  '.js': 'commonjs',\n  '.json': 'commonjs',\n  '.mjs': 'module',\n  '.node': 'commonjs'\n};\n\nif (experimentalWasmModules)\n  extensionFormatMap['.wasm'] = legacyExtensionFormatMap['.wasm'] = 'wasm';\n\nif (experimentalJsonModules)\n  extensionFormatMap['.json'] = legacyExtensionFormatMap['.json'] = 'json';\n\nfunction defaultGetFormat(url, context, defaultGetFormatUnused) {\n  if (StringPrototypeStartsWith(url, 'node:')) {\n    return { format: 'builtin' };\n  }\n  const parsed = new URL(url);\n  if (parsed.protocol === 'data:') {\n    const [ , mime ] = RegExpPrototypeExec(\n      /^([^/]+\\/[^;,]+)(?:[^,]*?)(;base64)?,/,\n      parsed.pathname,\n    ) || [ null, null, null ];\n    const format = ({\n      '__proto__': null,\n      'text/javascript': 'module',\n      'application/json': experimentalJsonModules ? 'json' : null,\n      'application/wasm': experimentalWasmModules ? 'wasm' : null\n    })[mime] || null;\n    return { format };\n  } else if (parsed.protocol === 'file:') {\n    const ext = extname(parsed.pathname);\n    let format;\n    if (ext === '.js') {\n      format = getPackageType(parsed.href) === 'module' ? 'module' : 'commonjs';\n    } else {\n      format = extensionFormatMap[ext];\n    }\n    if (!format) {\n      if (experimentalSpeciferResolution === 'node') {\n        process.emitWarning(\n          'The Node.js specifier resolution in ESM is experimental.',\n          'ExperimentalWarning');\n        format = legacyExtensionFormatMap[ext];\n      } else {\n        throw new ERR_UNKNOWN_FILE_EXTENSION(ext, fileURLToPath(url));\n      }\n    }\n    return { format: format || null };\n  }\n  return { format: null };\n}\nexports.defaultGetFormat = defaultGetFormat;\n"
  },
  {
    "path": "raw/node-internal-modules-esm-resolve-v13.12.0.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/v13.12.0/lib/internal/modules/esm/resolve.js\n\n'use strict';\n\nconst {\n  ArrayIsArray,\n  JSONParse,\n  JSONStringify,\n  ObjectGetOwnPropertyNames,\n  ObjectPrototypeHasOwnProperty,\n  SafeMap,\n  StringPrototypeEndsWith,\n  StringPrototypeIncludes,\n  StringPrototypeIndexOf,\n  StringPrototypeSlice,\n  StringPrototypeStartsWith,\n  StringPrototypeSubstr,\n} = primordials;\n\nconst internalFS = require('internal/fs/utils');\nconst { NativeModule } = require('internal/bootstrap/loaders');\nconst {\n  closeSync,\n  fstatSync,\n  openSync,\n  readFileSync,\n  realpathSync,\n  statSync,\n  Stats,\n} = require('fs');\nconst { getOptionValue } = require('internal/options');\nconst { sep } = require('path');\n\nconst preserveSymlinks = getOptionValue('--preserve-symlinks');\nconst preserveSymlinksMain = getOptionValue('--preserve-symlinks-main');\nconst typeFlag = getOptionValue('--input-type');\nconst { URL, pathToFileURL, fileURLToPath } = require('internal/url');\nconst {\n  ERR_INPUT_TYPE_NOT_ALLOWED,\n  ERR_INVALID_MODULE_SPECIFIER,\n  ERR_INVALID_PACKAGE_CONFIG,\n  ERR_INVALID_PACKAGE_TARGET,\n  ERR_MODULE_NOT_FOUND,\n  ERR_PACKAGE_PATH_NOT_EXPORTED,\n  ERR_UNSUPPORTED_ESM_URL_SCHEME,\n} = require('internal/errors').codes;\n\nconst realpathCache = new SafeMap();\nconst packageJSONCache = new SafeMap();  /* string -> PackageConfig */\n\nfunction tryStatSync(path) {\n  try {\n    return statSync(path);\n  } catch {\n    return new Stats();\n  }\n}\n\nfunction readIfFile(path) {\n  let fd;\n  try {\n    fd = openSync(path, 'r');\n  } catch {\n    return undefined;\n  }\n  try {\n    if (!fstatSync(fd).isFile()) return undefined;\n    return readFileSync(fd, 'utf8');\n  } finally {\n    closeSync(fd);\n  }\n}\n\nfunction getPackageConfig(path, base) {\n  const existing = packageJSONCache.get(path);\n  if (existing !== undefined) {\n    if (!existing.isValid) {\n      throw new ERR_INVALID_PACKAGE_CONFIG(path, fileURLToPath(base), false);\n    }\n    return existing;\n  }\n\n  const source = readIfFile(path);\n  if (source === undefined) {\n    const packageConfig = {\n      exists: false,\n      main: undefined,\n      name: undefined,\n      isValid: true,\n      type: 'none',\n      exports: undefined\n    };\n    packageJSONCache.set(path, packageConfig);\n    return packageConfig;\n  }\n\n  let packageJSON;\n  try {\n    packageJSON = JSONParse(source);\n  } catch {\n    const packageConfig = {\n      exists: true,\n      main: undefined,\n      name: undefined,\n      isValid: false,\n      type: 'none',\n      exports: undefined\n    };\n    packageJSONCache.set(path, packageConfig);\n    return packageConfig;\n  }\n\n  let { main, name, type } = packageJSON;\n  const { exports } = packageJSON;\n  if (typeof main !== 'string') main = undefined;\n  if (typeof name !== 'string') name = undefined;\n  // Ignore unknown types for forwards compatibility\n  if (type !== 'module' && type !== 'commonjs') type = 'none';\n\n  const packageConfig = {\n    exists: true,\n    main,\n    name,\n    isValid: true,\n    type,\n    exports\n  };\n  packageJSONCache.set(path, packageConfig);\n  return packageConfig;\n}\n\nfunction getPackageScopeConfig(resolved, base) {\n  let packageJSONUrl = new URL('./package.json', resolved);\n  while (true) {\n    const packageJSONPath = packageJSONUrl.pathname;\n    if (StringPrototypeEndsWith(packageJSONPath, 'node_modules/package.json'))\n      break;\n    const packageConfig = getPackageConfig(fileURLToPath(packageJSONUrl), base);\n    if (packageConfig.exists) return packageConfig;\n\n    const lastPackageJSONUrl = packageJSONUrl;\n    packageJSONUrl = new URL('../package.json', packageJSONUrl);\n\n    // Terminates at root where ../package.json equals ../../package.json\n    // (can't just check \"/package.json\" for Windows support).\n    if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) break;\n  }\n  const packageConfig = {\n    exists: false,\n    main: undefined,\n    name: undefined,\n    isValid: true,\n    type: 'none',\n    exports: undefined\n  };\n  packageJSONCache.set(fileURLToPath(packageJSONUrl), packageConfig);\n  return packageConfig;\n}\n\n/*\n * Legacy CommonJS main resolution:\n * 1. let M = pkg_url + (json main field)\n * 2. TRY(M, M.js, M.json, M.node)\n * 3. TRY(M/index.js, M/index.json, M/index.node)\n * 4. TRY(pkg_url/index.js, pkg_url/index.json, pkg_url/index.node)\n * 5. NOT_FOUND\n */\nfunction fileExists(url) {\n  return tryStatSync(fileURLToPath(url)).isFile();\n}\n\nfunction legacyMainResolve(packageJSONUrl, packageConfig) {\n  let guess;\n  if (packageConfig.main !== undefined) {\n    // Note: fs check redundances will be handled by Descriptor cache here.\n    if (fileExists(guess = new URL(`./${packageConfig.main}`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}.js`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}.json`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}.node`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}/index.js`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}/index.json`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}/index.node`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    // Fallthrough.\n  }\n  if (fileExists(guess = new URL('./index.js', packageJSONUrl))) {\n    return guess;\n  }\n  // So fs.\n  if (fileExists(guess = new URL('./index.json', packageJSONUrl))) {\n    return guess;\n  }\n  if (fileExists(guess = new URL('./index.node', packageJSONUrl))) {\n    return guess;\n  }\n  // Not found.\n  return undefined;\n}\n\nfunction resolveExtensionsWithTryExactName(search) {\n  if (fileExists(search)) return search;\n  return resolveExtensions(search);\n}\n\nconst extensions = ['.js', '.json', '.node', '.mjs'];\nfunction resolveExtensions(search) {\n  for (let i = 0; i < extensions.length; i++) {\n    const extension = extensions[i];\n    const guess = new URL(`${search.pathname}${extension}`, search);\n    if (fileExists(guess)) return guess;\n  }\n  return undefined;\n}\n\nfunction resolveIndex(search) {\n  return resolveExtensions(new URL('index', search));\n}\n\nfunction finalizeResolution(resolved, base) {\n  if (getOptionValue('--experimental-specifier-resolution') === 'node') {\n    let file = resolveExtensionsWithTryExactName(resolved);\n    if (file !== undefined) return file;\n    if (!StringPrototypeEndsWith(resolved.pathname, '/')) {\n      file = resolveIndex(new URL(`${resolved.pathname}/`, base));\n    } else {\n      file = resolveIndex(resolved);\n    }\n    if (file !== undefined) return file;\n    throw new ERR_MODULE_NOT_FOUND(\n      resolved.pathname, fileURLToPath(base), 'module');\n  }\n\n  if (StringPrototypeEndsWith(resolved.pathname, '/')) return resolved;\n  const path = fileURLToPath(resolved);\n\n  if (!tryStatSync(path).isFile()) {\n    throw new ERR_MODULE_NOT_FOUND(\n      path || resolved.pathname, fileURLToPath(base), 'module');\n  }\n\n  return resolved;\n}\n\nfunction throwExportsNotFound(subpath, packageJSONUrl, base) {\n  throw new ERR_PACKAGE_PATH_NOT_EXPORTED(\n    fileURLToPath(packageJSONUrl), subpath, fileURLToPath(base));\n}\n\nfunction throwSubpathInvalid(subpath, packageJSONUrl, base) {\n  throw new ERR_INVALID_MODULE_SPECIFIER(\n    fileURLToPath(packageJSONUrl), subpath, fileURLToPath(base));\n}\n\nfunction throwExportsInvalid(\n  subpath, target, packageJSONUrl, base) {\n  if (typeof target === 'object' && target !== null) {\n    target = JSONStringify(target, null, '');\n  } else if (ArrayIsArray(target)) {\n    target = `[${target}]`;\n  } else {\n    target = `${target}`;\n  }\n  throw new ERR_INVALID_PACKAGE_TARGET(\n    fileURLToPath(packageJSONUrl), null, subpath, target, fileURLToPath(base));\n}\n\nfunction resolveExportsTargetString(\n  target, subpath, match, packageJSONUrl, base) {\n  if (target[0] !== '.' || target[1] !== '/' ||\n      (subpath !== '' && target[target.length - 1] !== '/')) {\n    throwExportsInvalid(match, target, packageJSONUrl, base);\n  }\n\n  const resolved = new URL(target, packageJSONUrl);\n  const resolvedPath = resolved.pathname;\n  const packagePath = new URL('.', packageJSONUrl).pathname;\n\n  if (!StringPrototypeStartsWith(resolvedPath, packagePath) ||\n      StringPrototypeIncludes(\n        resolvedPath, '/node_modules/', packagePath.length - 1)) {\n    throwExportsInvalid(match, target, packageJSONUrl, base);\n  }\n\n  if (subpath === '') return resolved;\n  const subpathResolved = new URL(subpath, resolved);\n  const subpathResolvedPath = subpathResolved.pathname;\n  if (!StringPrototypeStartsWith(subpathResolvedPath, resolvedPath) ||\n      StringPrototypeIncludes(subpathResolvedPath,\n                              '/node_modules/', packagePath.length - 1)) {\n    throwSubpathInvalid(match + subpath, packageJSONUrl, base);\n  }\n  return subpathResolved;\n}\n\nfunction isArrayIndex(key /* string */) { /* -> boolean */\n  const keyNum = +key;\n  if (`${keyNum}` !== key) return false;\n  return keyNum >= 0 && keyNum < 0xFFFF_FFFF;\n}\n\nfunction resolveExportsTarget(\n  packageJSONUrl, target, subpath, packageSubpath, base) {\n  if (typeof target === 'string') {\n    const resolved = resolveExportsTargetString(\n      target, subpath, packageSubpath, packageJSONUrl, base);\n    return finalizeResolution(resolved, base);\n  } else if (ArrayIsArray(target)) {\n    if (target.length === 0)\n      throwExportsInvalid(packageSubpath, target, packageJSONUrl, base);\n\n    let lastException;\n    for (let i = 0; i < target.length; i++) {\n      const targetItem = target[i];\n      let resolved;\n      try {\n        resolved = resolveExportsTarget(\n          packageJSONUrl, targetItem, subpath, packageSubpath, base);\n      } catch (e) {\n        lastException = e;\n        if (e.code === 'ERR_PACKAGE_PATH_NOT_EXPORTED' ||\n            e.code === 'ERR_INVALID_PACKAGE_TARGET') {\n          continue;\n        }\n        throw e;\n      }\n\n      return finalizeResolution(resolved, base);\n    }\n    throw lastException;\n  } else if (typeof target === 'object' && target !== null) {\n    const keys = ObjectGetOwnPropertyNames(target);\n    for (let i = 0; i < keys.length; i++) {\n      const key = keys[i];\n      if (isArrayIndex(key)) {\n        throw new ERR_INVALID_PACKAGE_CONFIG(\n          fileURLToPath(packageJSONUrl),\n          '\"exports\" cannot contain numeric property keys');\n      }\n    }\n    for (let i = 0; i < keys.length; i++) {\n      const key = keys[i];\n      if (key === 'node' || key === 'import' || key === 'default') {\n        const conditionalTarget = target[key];\n        try {\n          return resolveExportsTarget(\n            packageJSONUrl, conditionalTarget, subpath, packageSubpath, base);\n        } catch (e) {\n          if (e.code === 'ERR_PACKAGE_PATH_NOT_EXPORTED') continue;\n          throw e;\n        }\n      }\n    }\n    throwExportsNotFound(packageSubpath, packageJSONUrl, base);\n  }\n  throwExportsInvalid(packageSubpath, target, packageJSONUrl, base);\n}\n\nfunction isConditionalExportsMainSugar(exports, packageJSONUrl, base) {\n  if (typeof exports === 'string' || ArrayIsArray(exports)) return true;\n  if (typeof exports !== 'object' || exports === null) return false;\n\n  const keys = ObjectGetOwnPropertyNames(exports);\n  let isConditionalSugar = false;\n  let i = 0;\n  for (let j = 0; j < keys.length; j++) {\n    const key = keys[j];\n    const curIsConditionalSugar = key === '' || key[0] !== '.';\n    if (i++ === 0) {\n      isConditionalSugar = curIsConditionalSugar;\n    } else if (isConditionalSugar !== curIsConditionalSugar) {\n      throw new ERR_INVALID_PACKAGE_CONFIG(\n        fileURLToPath(packageJSONUrl),\n        '\"exports\" cannot contain some keys starting with \\'.\\' and some not.' +\n        ' The exports object must either be an object of package subpath keys' +\n        ' or an object of main entry condition name keys only.');\n    }\n  }\n  return isConditionalSugar;\n}\n\n\nfunction packageMainResolve(packageJSONUrl, packageConfig, base) {\n  if (packageConfig.exists) {\n    const exports = packageConfig.exports;\n    if (exports !== undefined) {\n      if (isConditionalExportsMainSugar(exports, packageJSONUrl, base)) {\n        return resolveExportsTarget(packageJSONUrl, exports, '', '', base);\n      } else if (typeof exports === 'object' && exports !== null) {\n        const target = exports['.'];\n        if (target !== undefined)\n          return resolveExportsTarget(packageJSONUrl, target, '', '', base);\n      }\n\n      throw new ERR_PACKAGE_PATH_NOT_EXPORTED(packageJSONUrl, '.');\n    }\n    if (packageConfig.main !== undefined) {\n      const resolved = new URL(packageConfig.main, packageJSONUrl);\n      const path = fileURLToPath(resolved);\n      if (tryStatSync(path).isFile()) return resolved;\n    }\n    if (getOptionValue('--experimental-specifier-resolution') === 'node') {\n      if (packageConfig.main !== undefined) {\n        return finalizeResolution(\n          new URL(packageConfig.main, packageJSONUrl), base);\n      } else {\n        return finalizeResolution(\n          new URL('index', packageJSONUrl), base);\n      }\n    }\n    if (packageConfig.type !== 'module') {\n      return legacyMainResolve(packageJSONUrl, packageConfig);\n    }\n  }\n\n  throw new ERR_MODULE_NOT_FOUND(\n    fileURLToPath(new URL('.', packageJSONUrl)), fileURLToPath(base));\n}\n\n\nfunction packageExportsResolve(\n  packageJSONUrl, packageSubpath, packageConfig, base) /* -> URL */ {\n  const exports = packageConfig.exports;\n  if (exports === undefined ||\n      isConditionalExportsMainSugar(exports, packageJSONUrl, base)) {\n    throwExportsNotFound(packageSubpath, packageJSONUrl, base);\n  }\n\n\n  if (ObjectPrototypeHasOwnProperty(exports, packageSubpath)) {\n    const target = exports[packageSubpath];\n    const resolved = resolveExportsTarget(\n      packageJSONUrl, target, '', packageSubpath, base);\n    return finalizeResolution(resolved, base);\n  }\n\n  let bestMatch = '';\n  const keys = ObjectGetOwnPropertyNames(exports);\n  for (let i = 0; i < keys.length; i++) {\n    const key = keys[i];\n    if (key[key.length - 1] !== '/') continue;\n    if (StringPrototypeStartsWith(packageSubpath, key) &&\n        key.length > bestMatch.length) {\n      bestMatch = key;\n    }\n  }\n\n  if (bestMatch) {\n    const target = exports[bestMatch];\n    const subpath = StringPrototypeSubstr(packageSubpath, bestMatch.length);\n    const resolved = resolveExportsTarget(\n      packageJSONUrl, target, subpath, packageSubpath, base);\n    return finalizeResolution(resolved, base);\n  }\n\n  throwExportsNotFound(packageSubpath, packageJSONUrl, base);\n}\n\nfunction getPackageType(url) {\n  const packageConfig = getPackageScopeConfig(url, url);\n  return packageConfig.type;\n}\n\nfunction packageResolve(specifier /* string */, base /* URL */) { /* -> URL */\n  let separatorIndex = StringPrototypeIndexOf(specifier, '/');\n  let validPackageName = true;\n  let isScoped = false;\n  if (specifier[0] === '@') {\n    isScoped = true;\n    if (separatorIndex === -1 || specifier.length === 0) {\n      validPackageName = false;\n    } else {\n      separatorIndex = StringPrototypeIndexOf(\n        specifier, '/', separatorIndex + 1);\n    }\n  }\n\n  const packageName = separatorIndex === -1 ?\n    specifier : StringPrototypeSlice(specifier, 0, separatorIndex);\n\n  // Package name cannot have leading . and cannot have percent-encoding or\n  // separators.\n  for (let i = 0; i < packageName.length; i++) {\n    if (packageName[i] === '%' || packageName[i] === '\\\\') {\n      validPackageName = false;\n      break;\n    }\n  }\n\n  if (!validPackageName) {\n    throw new ERR_INVALID_MODULE_SPECIFIER(\n      specifier, undefined, fileURLToPath(base));\n  }\n\n  const packageSubpath = separatorIndex === -1 ?\n    '' : '.' + StringPrototypeSlice(specifier, separatorIndex);\n\n  // ResolveSelf\n  const packageConfig = getPackageScopeConfig(base, base);\n  if (packageConfig.exists) {\n    // TODO(jkrems): Find a way to forward the pair/iterator already generated\n    // while executing GetPackageScopeConfig\n    let packageJSONUrl;\n    for (const [ filename, packageConfigCandidate ] of packageJSONCache) {\n      if (packageConfig === packageConfigCandidate) {\n        packageJSONUrl = pathToFileURL(filename);\n        break;\n      }\n    }\n    if (packageJSONUrl !== undefined &&\n        packageConfig.name === packageName &&\n        packageConfig.exports !== undefined) {\n      if (packageSubpath === './') {\n        return new URL('./', packageJSONUrl);\n      } else if (packageSubpath === '') {\n        return packageMainResolve(packageJSONUrl, packageConfig, base);\n      } else {\n        return packageExportsResolve(\n          packageJSONUrl, packageSubpath, packageConfig, base);\n      }\n    }\n  }\n\n  let packageJSONUrl =\n    new URL('./node_modules/' + packageName + '/package.json', base);\n  let packageJSONPath = fileURLToPath(packageJSONUrl);\n  let lastPath;\n  do {\n    const stat = tryStatSync(\n      StringPrototypeSlice(packageJSONPath, 0, packageJSONPath.length - 13));\n    if (!stat.isDirectory()) {\n      lastPath = packageJSONPath;\n      packageJSONUrl = new URL((isScoped ?\n        '../../../../node_modules/' : '../../../node_modules/') +\n        packageName + '/package.json', packageJSONUrl);\n      packageJSONPath = fileURLToPath(packageJSONUrl);\n      continue;\n    }\n\n    // Package match.\n    const packageConfig = getPackageConfig(packageJSONPath, base);\n    if (packageSubpath === './') {\n      return new URL('./', packageJSONUrl);\n    } else if (packageSubpath === '') {\n      return packageMainResolve(packageJSONUrl, packageConfig, base);\n    } else if (packageConfig.exports !== undefined) {\n      return packageExportsResolve(\n        packageJSONUrl, packageSubpath, packageConfig, base);\n    } else {\n      return finalizeResolution(\n        new URL(packageSubpath, packageJSONUrl), base);\n    }\n    // Cross-platform root check.\n  } while (packageJSONPath.length !== lastPath.length);\n\n  // eslint can't handle the above code.\n  // eslint-disable-next-line no-unreachable\n  throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath(base));\n}\n\nfunction shouldBeTreatedAsRelativeOrAbsolutePath(specifier) {\n  if (specifier === '') return false;\n  if (specifier[0] === '/') return true;\n  if (specifier[0] === '.') {\n    if (specifier.length === 1 || specifier[1] === '/') return true;\n    if (specifier[1] === '.') {\n      if (specifier.length === 2 || specifier[2] === '/') return true;\n    }\n  }\n  return false;\n}\n\nfunction moduleResolve(specifier /* string */, base /* URL */) { /* -> URL */\n  // Order swapped from spec for minor perf gain.\n  // Ok since relative URLs cannot parse as URLs.\n  let resolved;\n  if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) {\n    resolved = new URL(specifier, base);\n  } else {\n    try {\n      resolved = new URL(specifier);\n    } catch {\n      return packageResolve(specifier, base);\n    }\n  }\n  return finalizeResolution(resolved, base);\n}\n\nfunction defaultResolve(specifier, { parentURL } = {}, defaultResolveUnused) {\n  let parsed;\n  try {\n    parsed = new URL(specifier);\n    if (parsed.protocol === 'data:') {\n      return {\n        url: specifier\n      };\n    }\n  } catch {}\n  if (parsed && parsed.protocol === 'nodejs:')\n    return { url: specifier };\n  if (parsed && parsed.protocol !== 'file:' && parsed.protocol !== 'data:')\n    throw new ERR_UNSUPPORTED_ESM_URL_SCHEME();\n  if (NativeModule.canBeRequiredByUsers(specifier)) {\n    return {\n      url: 'nodejs:' + specifier\n    };\n  }\n  if (parentURL && StringPrototypeStartsWith(parentURL, 'data:')) {\n    // This is gonna blow up, we want the error\n    new URL(specifier, parentURL);\n  }\n\n  const isMain = parentURL === undefined;\n  if (isMain) {\n    parentURL = pathToFileURL(`${process.cwd()}/`).href;\n\n    // This is the initial entry point to the program, and --input-type has\n    // been passed as an option; but --input-type can only be used with\n    // --eval, --print or STDIN string input. It is not allowed with file\n    // input, to avoid user confusion over how expansive the effect of the\n    // flag should be (i.e. entry point only, package scope surrounding the\n    // entry point, etc.).\n    if (typeFlag)\n      throw new ERR_INPUT_TYPE_NOT_ALLOWED();\n  }\n\n  let url = moduleResolve(specifier, new URL(parentURL));\n\n  if (isMain ? !preserveSymlinksMain : !preserveSymlinks) {\n    const urlPath = fileURLToPath(url);\n    const real = realpathSync(urlPath, {\n      [internalFS.realpathCacheKey]: realpathCache\n    });\n    const old = url;\n    url = pathToFileURL(real + (urlPath.endsWith(sep) ? '/' : ''));\n    url.search = old.search;\n    url.hash = old.hash;\n  }\n\n  return { url: `${url}` };\n}\n\nmodule.exports = {\n  defaultResolve,\n  getPackageType\n};\n"
  },
  {
    "path": "raw/node-internal-modules-esm-resolve-v15.3.0-stripped.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/v15.3.0/lib/internal/modules/esm/resolve.js\n\n'use strict';\n\nconst {\n  ArrayIsArray,\n  ArrayPrototypeJoin,\n  ArrayPrototypeShift,\n  JSONParse,\n  JSONStringify,\n  ObjectFreeze,\n  ObjectGetOwnPropertyNames,\n  ObjectPrototypeHasOwnProperty,\n  RegExpPrototypeTest,\n  SafeMap,\n  SafeSet,\n  StringPrototypeEndsWith,\n  StringPrototypeIndexOf,\n  StringPrototypeLastIndexOf,\n  StringPrototypeReplace,\n  StringPrototypeSlice,\n  StringPrototypeSplit,\n  StringPrototypeStartsWith,\n  StringPrototypeSubstr,\n} = primordials;\nconst internalFS = require('internal/fs/utils');\nconst { NativeModule } = require('internal/bootstrap/loaders');\nconst {\n  realpathSync,\n  statSync,\n  Stats,\n} = require('fs');\nconst { getOptionValue } = require('internal/options');\n// Do not eagerly grab .manifest, it may be in TDZ\nconst policy = getOptionValue('--experimental-policy') ?\n  require('internal/process/policy') :\n  null;\nconst { sep, relative } = require('path');\nconst preserveSymlinks = getOptionValue('--preserve-symlinks');\nconst preserveSymlinksMain = getOptionValue('--preserve-symlinks-main');\nconst typeFlag = getOptionValue('--input-type');\nconst { URL, pathToFileURL, fileURLToPath } = require('internal/url');\nconst {\n  ERR_INPUT_TYPE_NOT_ALLOWED,\n  ERR_INVALID_ARG_VALUE,\n  ERR_INVALID_MODULE_SPECIFIER,\n  ERR_INVALID_PACKAGE_CONFIG,\n  ERR_INVALID_PACKAGE_TARGET,\n  ERR_MANIFEST_DEPENDENCY_MISSING,\n  ERR_MODULE_NOT_FOUND,\n  ERR_PACKAGE_IMPORT_NOT_DEFINED,\n  ERR_PACKAGE_PATH_NOT_EXPORTED,\n  ERR_UNSUPPORTED_DIR_IMPORT,\n  ERR_UNSUPPORTED_ESM_URL_SCHEME,\n} = require('internal/errors').codes;\nconst { Module: CJSModule } = require('internal/modules/cjs/loader');\n\nconst packageJsonReader = require('internal/modules/package_json_reader');\nconst userConditions = getOptionValue('--conditions');\nconst DEFAULT_CONDITIONS = ObjectFreeze(['node', 'import', ...userConditions]);\nconst DEFAULT_CONDITIONS_SET = new SafeSet(DEFAULT_CONDITIONS);\n\nconst pendingDeprecation = getOptionValue('--pending-deprecation');\nconst emittedPackageWarnings = new SafeSet();\nfunction emitFolderMapDeprecation(match, pjsonUrl, isExports, base) {\n  const pjsonPath = fileURLToPath(pjsonUrl);\n  if (!pendingDeprecation) {\n    const nodeModulesIndex = StringPrototypeLastIndexOf(pjsonPath,\n                                                        '/node_modules/');\n    if (nodeModulesIndex !== -1) {\n      const afterNodeModulesPath = StringPrototypeSlice(pjsonPath,\n                                                        nodeModulesIndex + 14,\n                                                        -13);\n      try {\n        const { packageSubpath } = parsePackageName(afterNodeModulesPath);\n        if (packageSubpath === '.')\n          return;\n      } catch {}\n    }\n  }\n  if (emittedPackageWarnings.has(pjsonPath + '|' + match))\n    return;\n  emittedPackageWarnings.add(pjsonPath + '|' + match);\n  process.emitWarning(\n    `Use of deprecated folder mapping \"${match}\" in the ${isExports ?\n      '\"exports\"' : '\"imports\"'} field module resolution of the package at ${\n      pjsonPath}${base ? ` imported from ${fileURLToPath(base)}` : ''}.\\n` +\n      `Update this package.json to use a subpath pattern like \"${match}*\".`,\n    'DeprecationWarning',\n    'DEP0148'\n  );\n}\n\nfunction getConditionsSet(conditions) {\n  if (conditions !== undefined && conditions !== DEFAULT_CONDITIONS) {\n    if (!ArrayIsArray(conditions)) {\n      throw new ERR_INVALID_ARG_VALUE('conditions', conditions,\n                                      'expected an array');\n    }\n    return new SafeSet(conditions);\n  }\n  return DEFAULT_CONDITIONS_SET;\n}\n\nconst realpathCache = new SafeMap();\nconst packageJSONCache = new SafeMap();  /* string -> PackageConfig */\n\nfunction tryStatSync(path) {\n  try {\n    return statSync(path);\n  } catch {\n    return new Stats();\n  }\n}\n\nfunction getPackageConfig(path, specifier, base) {\n  const existing = packageJSONCache.get(path);\n  if (existing !== undefined) {\n    return existing;\n  }\n  const source = packageJsonReader.read(path).string;\n  if (source === undefined) {\n    const packageConfig = {\n      pjsonPath: path,\n      exists: false,\n      main: undefined,\n      name: undefined,\n      type: 'none',\n      exports: undefined,\n      imports: undefined,\n    };\n    packageJSONCache.set(path, packageConfig);\n    return packageConfig;\n  }\n\n  let packageJSON;\n  try {\n    packageJSON = JSONParse(source);\n  } catch (error) {\n    throw new ERR_INVALID_PACKAGE_CONFIG(\n      path,\n      (base ? `\"${specifier}\" from ` : '') + fileURLToPath(base || specifier),\n      error.message\n    );\n  }\n\n  let { imports, main, name, type } = packageJSON;\n  const { exports } = packageJSON;\n  if (typeof imports !== 'object' || imports === null) imports = undefined;\n  if (typeof main !== 'string') main = undefined;\n  if (typeof name !== 'string') name = undefined;\n  // Ignore unknown types for forwards compatibility\n  if (type !== 'module' && type !== 'commonjs') type = 'none';\n\n  const packageConfig = {\n    pjsonPath: path,\n    exists: true,\n    main,\n    name,\n    type,\n    exports,\n    imports,\n  };\n  packageJSONCache.set(path, packageConfig);\n  return packageConfig;\n}\n\nfunction getPackageScopeConfig(resolved) {\n  let packageJSONUrl = new URL('./package.json', resolved);\n  while (true) {\n    const packageJSONPath = packageJSONUrl.pathname;\n    if (StringPrototypeEndsWith(packageJSONPath, 'node_modules/package.json'))\n      break;\n    const packageConfig = getPackageConfig(fileURLToPath(packageJSONUrl),\n                                           resolved);\n    if (packageConfig.exists) return packageConfig;\n\n    const lastPackageJSONUrl = packageJSONUrl;\n    packageJSONUrl = new URL('../package.json', packageJSONUrl);\n\n    // Terminates at root where ../package.json equals ../../package.json\n    // (can't just check \"/package.json\" for Windows support).\n    if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) break;\n  }\n  const packageJSONPath = fileURLToPath(packageJSONUrl);\n  const packageConfig = {\n    pjsonPath: packageJSONPath,\n    exists: false,\n    main: undefined,\n    name: undefined,\n    type: 'none',\n    exports: undefined,\n    imports: undefined,\n  };\n  packageJSONCache.set(packageJSONPath, packageConfig);\n  return packageConfig;\n}\n\n/*\n * Legacy CommonJS main resolution:\n * 1. let M = pkg_url + (json main field)\n * 2. TRY(M, M.js, M.json, M.node)\n * 3. TRY(M/index.js, M/index.json, M/index.node)\n * 4. TRY(pkg_url/index.js, pkg_url/index.json, pkg_url/index.node)\n * 5. NOT_FOUND\n */\nfunction fileExists(url) {\n  return tryStatSync(fileURLToPath(url)).isFile();\n}\n\nfunction legacyMainResolve(packageJSONUrl, packageConfig, base) {\n  let guess;\n  if (packageConfig.main !== undefined) {\n    // Note: fs check redundances will be handled by Descriptor cache here.\n    if (fileExists(guess = new URL(`./${packageConfig.main}`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}.js`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}.json`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}.node`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}/index.js`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}/index.json`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}/index.node`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    // Fallthrough.\n  }\n  if (fileExists(guess = new URL('./index.js', packageJSONUrl))) {\n    return guess;\n  }\n  // So fs.\n  if (fileExists(guess = new URL('./index.json', packageJSONUrl))) {\n    return guess;\n  }\n  if (fileExists(guess = new URL('./index.node', packageJSONUrl))) {\n    return guess;\n  }\n  // Not found.\n  throw new ERR_MODULE_NOT_FOUND(\n    fileURLToPath(new URL('.', packageJSONUrl)), fileURLToPath(base));\n}\n\nfunction resolveExtensionsWithTryExactName(search) {\n  if (fileExists(search)) return search;\n  return resolveExtensions(search);\n}\n\nconst extensions = ['.js', '.json', '.node', '.mjs'];\nfunction resolveExtensions(search) {\n  for (let i = 0; i < extensions.length; i++) {\n    const extension = extensions[i];\n    const guess = new URL(`${search.pathname}${extension}`, search);\n    if (fileExists(guess)) return guess;\n  }\n  return undefined;\n}\n\nfunction resolveIndex(search) {\n  return resolveExtensions(new URL('index', search));\n}\n\nconst encodedSepRegEx = /%2F|%2C/i;\nfunction finalizeResolution(resolved, base) {\n  if (RegExpPrototypeTest(encodedSepRegEx, resolved.pathname))\n    throw new ERR_INVALID_MODULE_SPECIFIER(\n      resolved.pathname, 'must not include encoded \"/\" or \"\\\\\" characters',\n      fileURLToPath(base));\n\n  const path = fileURLToPath(resolved);\n  if (getOptionValue('--experimental-specifier-resolution') === 'node') {\n    let file = resolveExtensionsWithTryExactName(resolved);\n    if (file !== undefined) return file;\n    if (!StringPrototypeEndsWith(path, '/')) {\n      file = resolveIndex(new URL(`${resolved}/`));\n      if (file !== undefined) return file;\n    } else {\n      return resolveIndex(resolved) || resolved;\n    }\n    throw new ERR_MODULE_NOT_FOUND(\n      resolved.pathname, fileURLToPath(base), 'module');\n  }\n\n  const stats = tryStatSync(StringPrototypeEndsWith(path, '/') ?\n    StringPrototypeSlice(path, -1) : path);\n  if (stats.isDirectory()) {\n    const err = new ERR_UNSUPPORTED_DIR_IMPORT(path, fileURLToPath(base));\n    err.url = String(resolved);\n    throw err;\n  } else if (!stats.isFile()) {\n    throw new ERR_MODULE_NOT_FOUND(\n      path || resolved.pathname, base && fileURLToPath(base), 'module');\n  }\n\n  return resolved;\n}\n\nfunction throwImportNotDefined(specifier, packageJSONUrl, base) {\n  throw new ERR_PACKAGE_IMPORT_NOT_DEFINED(\n    specifier, packageJSONUrl && fileURLToPath(new URL('.', packageJSONUrl)),\n    fileURLToPath(base));\n}\n\nfunction throwExportsNotFound(subpath, packageJSONUrl, base) {\n  throw new ERR_PACKAGE_PATH_NOT_EXPORTED(\n    fileURLToPath(new URL('.', packageJSONUrl)), subpath,\n    base && fileURLToPath(base));\n}\n\nfunction throwInvalidSubpath(subpath, packageJSONUrl, internal, base) {\n  const reason = `request is not a valid subpath for the \"${internal ?\n    'imports' : 'exports'}\" resolution of ${fileURLToPath(packageJSONUrl)}`;\n  throw new ERR_INVALID_MODULE_SPECIFIER(subpath, reason,\n                                         base && fileURLToPath(base));\n}\n\nfunction throwInvalidPackageTarget(\n  subpath, target, packageJSONUrl, internal, base) {\n  if (typeof target === 'object' && target !== null) {\n    target = JSONStringify(target, null, '');\n  } else {\n    target = `${target}`;\n  }\n  throw new ERR_INVALID_PACKAGE_TARGET(\n    fileURLToPath(new URL('.', packageJSONUrl)), subpath, target,\n    internal, base && fileURLToPath(base));\n}\n\nconst invalidSegmentRegEx = /(^|\\\\|\\/)(\\.\\.?|node_modules)(\\\\|\\/|$)/;\nconst patternRegEx = /\\*/g;\n\nfunction resolvePackageTargetString(\n  target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) {\n  if (subpath !== '' && !pattern && target[target.length - 1] !== '/')\n    throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);\n\n  if (!StringPrototypeStartsWith(target, './')) {\n    if (internal && !StringPrototypeStartsWith(target, '../') &&\n        !StringPrototypeStartsWith(target, '/')) {\n      let isURL = false;\n      try {\n        new URL(target);\n        isURL = true;\n      } catch {}\n      if (!isURL) {\n        const exportTarget = pattern ?\n          StringPrototypeReplace(target, patternRegEx, subpath) :\n          target + subpath;\n        return packageResolve(exportTarget, packageJSONUrl, conditions);\n      }\n    }\n    throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);\n  }\n\n  if (RegExpPrototypeTest(invalidSegmentRegEx, StringPrototypeSlice(target, 2)))\n    throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);\n\n  const resolved = new URL(target, packageJSONUrl);\n  const resolvedPath = resolved.pathname;\n  const packagePath = new URL('.', packageJSONUrl).pathname;\n\n  if (!StringPrototypeStartsWith(resolvedPath, packagePath))\n    throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);\n\n  if (subpath === '') return resolved;\n\n  if (RegExpPrototypeTest(invalidSegmentRegEx, subpath))\n    throwInvalidSubpath(match + subpath, packageJSONUrl, internal, base);\n\n  if (pattern)\n    return new URL(StringPrototypeReplace(resolved.href, patternRegEx,\n                                          subpath));\n  return new URL(subpath, resolved);\n}\n\n/**\n * @param {string} key\n * @returns {boolean}\n */\nfunction isArrayIndex(key) {\n  const keyNum = +key;\n  if (`${keyNum}` !== key) return false;\n  return keyNum >= 0 && keyNum < 0xFFFF_FFFF;\n}\n\nfunction resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath,\n                              base, pattern, internal, conditions) {\n  if (typeof target === 'string') {\n    return resolvePackageTargetString(\n      target, subpath, packageSubpath, packageJSONUrl, base, pattern, internal,\n      conditions);\n  } else if (ArrayIsArray(target)) {\n    if (target.length === 0)\n      return null;\n\n    let lastException;\n    for (let i = 0; i < target.length; i++) {\n      const targetItem = target[i];\n      let resolved;\n      try {\n        resolved = resolvePackageTarget(\n          packageJSONUrl, targetItem, subpath, packageSubpath, base, pattern,\n          internal, conditions);\n      } catch (e) {\n        lastException = e;\n        if (e.code === 'ERR_INVALID_PACKAGE_TARGET')\n          continue;\n        throw e;\n      }\n      if (resolved === undefined)\n        continue;\n      if (resolved === null) {\n        lastException = null;\n        continue;\n      }\n      return resolved;\n    }\n    if (lastException === undefined || lastException === null)\n      return lastException;\n    throw lastException;\n  } else if (typeof target === 'object' && target !== null) {\n    const keys = ObjectGetOwnPropertyNames(target);\n    for (let i = 0; i < keys.length; i++) {\n      const key = keys[i];\n      if (isArrayIndex(key)) {\n        throw new ERR_INVALID_PACKAGE_CONFIG(\n          fileURLToPath(packageJSONUrl), base,\n          '\"exports\" cannot contain numeric property keys.');\n      }\n    }\n    for (let i = 0; i < keys.length; i++) {\n      const key = keys[i];\n      if (key === 'default' || conditions.has(key)) {\n        const conditionalTarget = target[key];\n        const resolved = resolvePackageTarget(\n          packageJSONUrl, conditionalTarget, subpath, packageSubpath, base,\n          pattern, internal, conditions);\n        if (resolved === undefined)\n          continue;\n        return resolved;\n      }\n    }\n    return undefined;\n  } else if (target === null) {\n    return null;\n  }\n  throwInvalidPackageTarget(packageSubpath, target, packageJSONUrl, internal,\n                            base);\n}\n\nfunction isConditionalExportsMainSugar(exports, packageJSONUrl, base) {\n  if (typeof exports === 'string' || ArrayIsArray(exports)) return true;\n  if (typeof exports !== 'object' || exports === null) return false;\n\n  const keys = ObjectGetOwnPropertyNames(exports);\n  let isConditionalSugar = false;\n  let i = 0;\n  for (let j = 0; j < keys.length; j++) {\n    const key = keys[j];\n    const curIsConditionalSugar = key === '' || key[0] !== '.';\n    if (i++ === 0) {\n      isConditionalSugar = curIsConditionalSugar;\n    } else if (isConditionalSugar !== curIsConditionalSugar) {\n      throw new ERR_INVALID_PACKAGE_CONFIG(\n        fileURLToPath(packageJSONUrl), base,\n        '\"exports\" cannot contain some keys starting with \\'.\\' and some not.' +\n        ' The exports object must either be an object of package subpath keys' +\n        ' or an object of main entry condition name keys only.');\n    }\n  }\n  return isConditionalSugar;\n}\n\n/**\n * @param {URL} packageJSONUrl\n * @param {string} packageSubpath\n * @param {object} packageConfig\n * @param {string} base\n * @param {Set<string>} conditions\n * @returns {URL}\n */\nfunction packageExportsResolve(\n  packageJSONUrl, packageSubpath, packageConfig, base, conditions) {\n  let exports = packageConfig.exports;\n  if (isConditionalExportsMainSugar(exports, packageJSONUrl, base))\n    exports = { '.': exports };\n\n  if (ObjectPrototypeHasOwnProperty(exports, packageSubpath)) {\n    const target = exports[packageSubpath];\n    const resolved = resolvePackageTarget(\n      packageJSONUrl, target, '', packageSubpath, base, false, false, conditions\n    );\n    if (resolved === null || resolved === undefined)\n      throwExportsNotFound(packageSubpath, packageJSONUrl, base);\n    return { resolved, exact: true };\n  }\n\n  let bestMatch = '';\n  const keys = ObjectGetOwnPropertyNames(exports);\n  for (let i = 0; i < keys.length; i++) {\n    const key = keys[i];\n    if (key[key.length - 1] === '*' &&\n        StringPrototypeStartsWith(packageSubpath,\n                                  StringPrototypeSlice(key, 0, -1)) &&\n        packageSubpath.length >= key.length &&\n        key.length > bestMatch.length) {\n      bestMatch = key;\n    } else if (key[key.length - 1] === '/' &&\n      StringPrototypeStartsWith(packageSubpath, key) &&\n      key.length > bestMatch.length) {\n      bestMatch = key;\n    }\n  }\n\n  if (bestMatch) {\n    const target = exports[bestMatch];\n    const pattern = bestMatch[bestMatch.length - 1] === '*';\n    const subpath = StringPrototypeSubstr(packageSubpath, bestMatch.length -\n      (pattern ? 1 : 0));\n    const resolved = resolvePackageTarget(packageJSONUrl, target, subpath,\n                                          bestMatch, base, pattern, false,\n                                          conditions);\n    if (resolved === null || resolved === undefined)\n      throwExportsNotFound(packageSubpath, packageJSONUrl, base);\n    if (!pattern)\n      emitFolderMapDeprecation(bestMatch, packageJSONUrl, true, base);\n    return { resolved, exact: pattern };\n  }\n\n  throwExportsNotFound(packageSubpath, packageJSONUrl, base);\n}\n\nfunction packageImportsResolve(name, base, conditions) {\n  if (name === '#' || StringPrototypeStartsWith(name, '#/')) {\n    const reason = 'is not a valid internal imports specifier name';\n    throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath(base));\n  }\n  let packageJSONUrl;\n  const packageConfig = getPackageScopeConfig(base);\n  if (packageConfig.exists) {\n    packageJSONUrl = pathToFileURL(packageConfig.pjsonPath);\n    const imports = packageConfig.imports;\n    if (imports) {\n      if (ObjectPrototypeHasOwnProperty(imports, name)) {\n        const resolved = resolvePackageTarget(\n          packageJSONUrl, imports[name], '', name, base, false, true, conditions\n        );\n        if (resolved !== null)\n          return { resolved, exact: true };\n      } else {\n        let bestMatch = '';\n        const keys = ObjectGetOwnPropertyNames(imports);\n        for (let i = 0; i < keys.length; i++) {\n          const key = keys[i];\n          if (key[key.length - 1] === '*' &&\n              StringPrototypeStartsWith(name,\n                                        StringPrototypeSlice(key, 0, -1)) &&\n              name.length >= key.length &&\n              key.length > bestMatch.length) {\n            bestMatch = key;\n          } else if (key[key.length - 1] === '/' &&\n            StringPrototypeStartsWith(name, key) &&\n            key.length > bestMatch.length) {\n            bestMatch = key;\n          }\n        }\n\n        if (bestMatch) {\n          const target = imports[bestMatch];\n          const pattern = bestMatch[bestMatch.length - 1] === '*';\n          const subpath = StringPrototypeSubstr(name, bestMatch.length -\n            (pattern ? 1 : 0));\n          const resolved = resolvePackageTarget(\n            packageJSONUrl, target, subpath, bestMatch, base, pattern, true,\n            conditions);\n          if (resolved !== null) {\n            if (!pattern)\n              emitFolderMapDeprecation(bestMatch, packageJSONUrl, false, base);\n            return { resolved, exact: pattern };\n          }\n        }\n      }\n    }\n  }\n  throwImportNotDefined(name, packageJSONUrl, base);\n}\n\nfunction getPackageType(url) {\n  const packageConfig = getPackageScopeConfig(url);\n  return packageConfig.type;\n}\n\nfunction parsePackageName(specifier, base) {\n  let separatorIndex = StringPrototypeIndexOf(specifier, '/');\n  let validPackageName = true;\n  let isScoped = false;\n  if (specifier[0] === '@') {\n    isScoped = true;\n    if (separatorIndex === -1 || specifier.length === 0) {\n      validPackageName = false;\n    } else {\n      separatorIndex = StringPrototypeIndexOf(\n        specifier, '/', separatorIndex + 1);\n    }\n  }\n\n  const packageName = separatorIndex === -1 ?\n    specifier : StringPrototypeSlice(specifier, 0, separatorIndex);\n\n  // Package name cannot have leading . and cannot have percent-encoding or\n  // separators.\n  for (let i = 0; i < packageName.length; i++) {\n    if (packageName[i] === '%' || packageName[i] === '\\\\') {\n      validPackageName = false;\n      break;\n    }\n  }\n\n  if (!validPackageName) {\n    throw new ERR_INVALID_MODULE_SPECIFIER(\n      specifier, 'is not a valid package name', fileURLToPath(base));\n  }\n\n  const packageSubpath = '.' + (separatorIndex === -1 ? '' :\n    StringPrototypeSlice(specifier, separatorIndex));\n\n  return { packageName, packageSubpath, isScoped };\n}\n\n/**\n * @param {string} specifier\n * @param {URL} base\n * @param {Set<string>} conditions\n * @returns {URL}\n */\nfunction packageResolve(specifier, base, conditions) {\n  const { packageName, packageSubpath, isScoped } =\n    parsePackageName(specifier, base);\n\n  // ResolveSelf\n  const packageConfig = getPackageScopeConfig(base);\n  if (packageConfig.exists) {\n    const packageJSONUrl = pathToFileURL(packageConfig.pjsonPath);\n    if (packageConfig.name === packageName &&\n        packageConfig.exports !== undefined && packageConfig.exports !== null) {\n      return packageExportsResolve(\n        packageJSONUrl, packageSubpath, packageConfig, base, conditions\n      ).resolved;\n    }\n  }\n\n  let packageJSONUrl =\n    new URL('./node_modules/' + packageName + '/package.json', base);\n  let packageJSONPath = fileURLToPath(packageJSONUrl);\n  let lastPath;\n  do {\n    const stat = tryStatSync(StringPrototypeSlice(packageJSONPath, 0,\n                                                  packageJSONPath.length - 13));\n    if (!stat.isDirectory()) {\n      lastPath = packageJSONPath;\n      packageJSONUrl = new URL((isScoped ?\n        '../../../../node_modules/' : '../../../node_modules/') +\n        packageName + '/package.json', packageJSONUrl);\n      packageJSONPath = fileURLToPath(packageJSONUrl);\n      continue;\n    }\n\n    // Package match.\n    const packageConfig = getPackageConfig(packageJSONPath, specifier, base);\n    if (packageConfig.exports !== undefined && packageConfig.exports !== null)\n      return packageExportsResolve(\n        packageJSONUrl, packageSubpath, packageConfig, base, conditions\n      ).resolved;\n    if (packageSubpath === '.')\n      return legacyMainResolve(packageJSONUrl, packageConfig, base);\n    return new URL(packageSubpath, packageJSONUrl);\n    // Cross-platform root check.\n  } while (packageJSONPath.length !== lastPath.length);\n\n  // eslint can't handle the above code.\n  // eslint-disable-next-line no-unreachable\n  throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath(base));\n}\n\nfunction isBareSpecifier(specifier) {\n  return specifier[0] && specifier[0] !== '/' && specifier[0] !== '.';\n}\n\nfunction isRelativeSpecifier(specifier) {\n  if (specifier[0] === '.') {\n    if (specifier.length === 1 || specifier[1] === '/') return true;\n    if (specifier[1] === '.') {\n      if (specifier.length === 2 || specifier[2] === '/') return true;\n    }\n  }\n  return false;\n}\n\nfunction shouldBeTreatedAsRelativeOrAbsolutePath(specifier) {\n  if (specifier === '') return false;\n  if (specifier[0] === '/') return true;\n  return isRelativeSpecifier(specifier);\n}\n\n/**\n * @param {string} specifier\n * @param {URL} base\n * @param {Set<string>} conditions\n * @returns {URL}\n */\nfunction moduleResolve(specifier, base, conditions) {\n  // Order swapped from spec for minor perf gain.\n  // Ok since relative URLs cannot parse as URLs.\n  let resolved;\n  if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) {\n    resolved = new URL(specifier, base);\n  } else if (specifier[0] === '#') {\n    ({ resolved } = packageImportsResolve(specifier, base, conditions));\n  } else {\n    try {\n      resolved = new URL(specifier);\n    } catch {\n      resolved = packageResolve(specifier, base, conditions);\n    }\n  }\n  return finalizeResolution(resolved, base);\n}\n\n/**\n * Try to resolve an import as a CommonJS module\n * @param {string} specifier\n * @param {string} parentURL\n * @returns {boolean|string}\n */\nfunction resolveAsCommonJS(specifier, parentURL) {\n  try {\n    const parent = fileURLToPath(parentURL);\n    const tmpModule = new CJSModule(parent, null);\n    tmpModule.paths = CJSModule._nodeModulePaths(parent);\n\n    let found = CJSModule._resolveFilename(specifier, tmpModule, false);\n\n    // If it is a relative specifier return the relative path\n    // to the parent\n    if (isRelativeSpecifier(specifier)) {\n      found = relative(parent, found);\n      // Add '.separator if the path does not start with '..separator'\n      // This should be a safe assumption because when loading\n      // esm modules there should be always a file specified so\n      // there should not be a specifier like '..' or '.'\n      if (!StringPrototypeStartsWith(found, `..${sep}`)) {\n        found = `.${sep}${found}`;\n      }\n    } else if (isBareSpecifier(specifier)) {\n      // If it is a bare specifier return the relative path within the\n      // module\n      const pkg = StringPrototypeSplit(specifier, '/')[0];\n      const index = StringPrototypeIndexOf(found, pkg);\n      if (index !== -1) {\n        found = StringPrototypeSlice(found, index);\n      }\n    }\n    // Normalize the path separator to give a valid suggestion\n    // on Windows\n    if (process.platform === 'win32') {\n      found = StringPrototypeReplace(found, new RegExp(`\\\\${sep}`, 'g'), '/');\n    }\n    return found;\n  } catch {\n    return false;\n  }\n}\n\nfunction defaultResolve(specifier, context = {}, defaultResolveUnused) {\n  let { parentURL, conditions } = context;\n  if (parentURL && policy?.manifest) {\n    const redirects = policy.manifest.getDependencyMapper(parentURL);\n    if (redirects) {\n      const { resolve, reaction } = redirects;\n      const destination = resolve(specifier, new SafeSet(conditions));\n      let missing = true;\n      if (destination === true) {\n        missing = false;\n      } else if (destination) {\n        const href = destination.href;\n        return { url: href };\n      }\n      if (missing) {\n        reaction(new ERR_MANIFEST_DEPENDENCY_MISSING(\n          parentURL,\n          specifier,\n          ArrayPrototypeJoin([...conditions], ', '))\n        );\n      }\n    }\n  }\n  let parsed;\n  try {\n    parsed = new URL(specifier);\n    if (parsed.protocol === 'data:') {\n      return {\n        url: specifier\n      };\n    }\n  } catch {}\n  if (parsed && parsed.protocol === 'node:')\n    return { url: specifier };\n  if (parsed && parsed.protocol !== 'file:' && parsed.protocol !== 'data:')\n    throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(parsed);\n  if (NativeModule.canBeRequiredByUsers(specifier)) {\n    return {\n      url: 'node:' + specifier\n    };\n  }\n  if (parentURL && StringPrototypeStartsWith(parentURL, 'data:')) {\n    // This is gonna blow up, we want the error\n    new URL(specifier, parentURL);\n  }\n\n  const isMain = parentURL === undefined;\n  if (isMain) {\n    parentURL = pathToFileURL(`${process.cwd()}/`).href;\n\n    // This is the initial entry point to the program, and --input-type has\n    // been passed as an option; but --input-type can only be used with\n    // --eval, --print or STDIN string input. It is not allowed with file\n    // input, to avoid user confusion over how expansive the effect of the\n    // flag should be (i.e. entry point only, package scope surrounding the\n    // entry point, etc.).\n    if (typeFlag)\n      throw new ERR_INPUT_TYPE_NOT_ALLOWED();\n  }\n\n  conditions = getConditionsSet(conditions);\n  let url;\n  try {\n    url = moduleResolve(specifier, parentURL, conditions);\n  } catch (error) {\n    // Try to give the user a hint of what would have been the\n    // resolved CommonJS module\n    if (error.code === 'ERR_MODULE_NOT_FOUND' ||\n        error.code === 'ERR_UNSUPPORTED_DIR_IMPORT') {\n      if (StringPrototypeStartsWith(specifier, 'file://')) {\n        specifier = fileURLToPath(specifier);\n      }\n      const found = resolveAsCommonJS(specifier, parentURL);\n      if (found) {\n        // Modify the stack and message string to include the hint\n        const lines = StringPrototypeSplit(error.stack, '\\n');\n        const hint = `Did you mean to import ${found}?`;\n        error.stack =\n          ArrayPrototypeShift(lines) + '\\n' +\n          hint + '\\n' +\n          ArrayPrototypeJoin(lines, '\\n');\n        error.message += `\\n${hint}`;\n      }\n    }\n    throw error;\n  }\n\n  if (isMain ? !preserveSymlinksMain : !preserveSymlinks) {\n    const urlPath = fileURLToPath(url);\n    const real = realpathSync(urlPath, {\n      [internalFS.realpathCacheKey]: realpathCache\n    });\n    const old = url;\n    url = pathToFileURL(\n      real + (StringPrototypeEndsWith(urlPath, sep) ? '/' : ''));\n    url.search = old.search;\n    url.hash = old.hash;\n  }\n\n  return { url: `${url}` };\n}\n\nmodule.exports = {\n  DEFAULT_CONDITIONS,\n  defaultResolve,\n  encodedSepRegEx,\n  getPackageType,\n  packageExportsResolve,\n  packageImportsResolve\n};\n"
  },
  {
    "path": "raw/node-internal-modules-esm-resolve-v15.3.0.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/v15.3.0/lib/internal/modules/esm/resolve.js\n\n'use strict';\n\nconst {\n  ArrayIsArray,\n  ArrayPrototypeJoin,\n  ArrayPrototypeShift,\n  JSONParse,\n  JSONStringify,\n  ObjectFreeze,\n  ObjectGetOwnPropertyNames,\n  ObjectPrototypeHasOwnProperty,\n  RegExp,\n  RegExpPrototypeTest,\n  SafeMap,\n  SafeSet,\n  String,\n  StringPrototypeEndsWith,\n  StringPrototypeIndexOf,\n  StringPrototypeLastIndexOf,\n  StringPrototypeReplace,\n  StringPrototypeSlice,\n  StringPrototypeSplit,\n  StringPrototypeStartsWith,\n  StringPrototypeSubstr,\n} = primordials;\nconst internalFS = require('internal/fs/utils');\nconst { NativeModule } = require('internal/bootstrap/loaders');\nconst {\n  realpathSync,\n  statSync,\n  Stats,\n} = require('fs');\nconst { getOptionValue } = require('internal/options');\n// Do not eagerly grab .manifest, it may be in TDZ\nconst policy = getOptionValue('--experimental-policy') ?\n  require('internal/process/policy') :\n  null;\nconst { sep, relative } = require('path');\nconst preserveSymlinks = getOptionValue('--preserve-symlinks');\nconst preserveSymlinksMain = getOptionValue('--preserve-symlinks-main');\nconst typeFlag = getOptionValue('--input-type');\nconst { URL, pathToFileURL, fileURLToPath } = require('internal/url');\nconst {\n  ERR_INPUT_TYPE_NOT_ALLOWED,\n  ERR_INVALID_ARG_VALUE,\n  ERR_INVALID_MODULE_SPECIFIER,\n  ERR_INVALID_PACKAGE_CONFIG,\n  ERR_INVALID_PACKAGE_TARGET,\n  ERR_MANIFEST_DEPENDENCY_MISSING,\n  ERR_MODULE_NOT_FOUND,\n  ERR_PACKAGE_IMPORT_NOT_DEFINED,\n  ERR_PACKAGE_PATH_NOT_EXPORTED,\n  ERR_UNSUPPORTED_DIR_IMPORT,\n  ERR_UNSUPPORTED_ESM_URL_SCHEME,\n} = require('internal/errors').codes;\nconst { Module: CJSModule } = require('internal/modules/cjs/loader');\n\nconst packageJsonReader = require('internal/modules/package_json_reader');\nconst userConditions = getOptionValue('--conditions');\nconst DEFAULT_CONDITIONS = ObjectFreeze(['node', 'import', ...userConditions]);\nconst DEFAULT_CONDITIONS_SET = new SafeSet(DEFAULT_CONDITIONS);\n\nconst pendingDeprecation = getOptionValue('--pending-deprecation');\nconst emittedPackageWarnings = new SafeSet();\nfunction emitFolderMapDeprecation(match, pjsonUrl, isExports, base) {\n  const pjsonPath = fileURLToPath(pjsonUrl);\n  if (!pendingDeprecation) {\n    const nodeModulesIndex = StringPrototypeLastIndexOf(pjsonPath,\n                                                        '/node_modules/');\n    if (nodeModulesIndex !== -1) {\n      const afterNodeModulesPath = StringPrototypeSlice(pjsonPath,\n                                                        nodeModulesIndex + 14,\n                                                        -13);\n      try {\n        const { packageSubpath } = parsePackageName(afterNodeModulesPath);\n        if (packageSubpath === '.')\n          return;\n      } catch {}\n    }\n  }\n  if (emittedPackageWarnings.has(pjsonPath + '|' + match))\n    return;\n  emittedPackageWarnings.add(pjsonPath + '|' + match);\n  process.emitWarning(\n    `Use of deprecated folder mapping \"${match}\" in the ${isExports ?\n      '\"exports\"' : '\"imports\"'} field module resolution of the package at ${\n      pjsonPath}${base ? ` imported from ${fileURLToPath(base)}` : ''}.\\n` +\n      `Update this package.json to use a subpath pattern like \"${match}*\".`,\n    'DeprecationWarning',\n    'DEP0148'\n  );\n}\n\nfunction getConditionsSet(conditions) {\n  if (conditions !== undefined && conditions !== DEFAULT_CONDITIONS) {\n    if (!ArrayIsArray(conditions)) {\n      throw new ERR_INVALID_ARG_VALUE('conditions', conditions,\n                                      'expected an array');\n    }\n    return new SafeSet(conditions);\n  }\n  return DEFAULT_CONDITIONS_SET;\n}\n\nconst realpathCache = new SafeMap();\nconst packageJSONCache = new SafeMap();  /* string -> PackageConfig */\n\nfunction tryStatSync(path) {\n  try {\n    return statSync(path);\n  } catch {\n    return new Stats();\n  }\n}\n\nfunction getPackageConfig(path, specifier, base) {\n  const existing = packageJSONCache.get(path);\n  if (existing !== undefined) {\n    return existing;\n  }\n  const source = packageJsonReader.read(path).string;\n  if (source === undefined) {\n    const packageConfig = {\n      pjsonPath: path,\n      exists: false,\n      main: undefined,\n      name: undefined,\n      type: 'none',\n      exports: undefined,\n      imports: undefined,\n    };\n    packageJSONCache.set(path, packageConfig);\n    return packageConfig;\n  }\n\n  let packageJSON;\n  try {\n    packageJSON = JSONParse(source);\n  } catch (error) {\n    throw new ERR_INVALID_PACKAGE_CONFIG(\n      path,\n      (base ? `\"${specifier}\" from ` : '') + fileURLToPath(base || specifier),\n      error.message\n    );\n  }\n\n  let { imports, main, name, type } = packageJSON;\n  const { exports } = packageJSON;\n  if (typeof imports !== 'object' || imports === null) imports = undefined;\n  if (typeof main !== 'string') main = undefined;\n  if (typeof name !== 'string') name = undefined;\n  // Ignore unknown types for forwards compatibility\n  if (type !== 'module' && type !== 'commonjs') type = 'none';\n\n  const packageConfig = {\n    pjsonPath: path,\n    exists: true,\n    main,\n    name,\n    type,\n    exports,\n    imports,\n  };\n  packageJSONCache.set(path, packageConfig);\n  return packageConfig;\n}\n\nfunction getPackageScopeConfig(resolved) {\n  let packageJSONUrl = new URL('./package.json', resolved);\n  while (true) {\n    const packageJSONPath = packageJSONUrl.pathname;\n    if (StringPrototypeEndsWith(packageJSONPath, 'node_modules/package.json'))\n      break;\n    const packageConfig = getPackageConfig(fileURLToPath(packageJSONUrl),\n                                           resolved);\n    if (packageConfig.exists) return packageConfig;\n\n    const lastPackageJSONUrl = packageJSONUrl;\n    packageJSONUrl = new URL('../package.json', packageJSONUrl);\n\n    // Terminates at root where ../package.json equals ../../package.json\n    // (can't just check \"/package.json\" for Windows support).\n    if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) break;\n  }\n  const packageJSONPath = fileURLToPath(packageJSONUrl);\n  const packageConfig = {\n    pjsonPath: packageJSONPath,\n    exists: false,\n    main: undefined,\n    name: undefined,\n    type: 'none',\n    exports: undefined,\n    imports: undefined,\n  };\n  packageJSONCache.set(packageJSONPath, packageConfig);\n  return packageConfig;\n}\n\n/*\n * Legacy CommonJS main resolution:\n * 1. let M = pkg_url + (json main field)\n * 2. TRY(M, M.js, M.json, M.node)\n * 3. TRY(M/index.js, M/index.json, M/index.node)\n * 4. TRY(pkg_url/index.js, pkg_url/index.json, pkg_url/index.node)\n * 5. NOT_FOUND\n */\nfunction fileExists(url) {\n  return tryStatSync(fileURLToPath(url)).isFile();\n}\n\nfunction legacyMainResolve(packageJSONUrl, packageConfig, base) {\n  let guess;\n  if (packageConfig.main !== undefined) {\n    // Note: fs check redundances will be handled by Descriptor cache here.\n    if (fileExists(guess = new URL(`./${packageConfig.main}`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}.js`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}.json`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}.node`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}/index.js`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}/index.json`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    if (fileExists(guess = new URL(`./${packageConfig.main}/index.node`,\n                                   packageJSONUrl))) {\n      return guess;\n    }\n    // Fallthrough.\n  }\n  if (fileExists(guess = new URL('./index.js', packageJSONUrl))) {\n    return guess;\n  }\n  // So fs.\n  if (fileExists(guess = new URL('./index.json', packageJSONUrl))) {\n    return guess;\n  }\n  if (fileExists(guess = new URL('./index.node', packageJSONUrl))) {\n    return guess;\n  }\n  // Not found.\n  throw new ERR_MODULE_NOT_FOUND(\n    fileURLToPath(new URL('.', packageJSONUrl)), fileURLToPath(base));\n}\n\nfunction resolveExtensionsWithTryExactName(search) {\n  if (fileExists(search)) return search;\n  return resolveExtensions(search);\n}\n\nconst extensions = ['.js', '.json', '.node', '.mjs'];\nfunction resolveExtensions(search) {\n  for (let i = 0; i < extensions.length; i++) {\n    const extension = extensions[i];\n    const guess = new URL(`${search.pathname}${extension}`, search);\n    if (fileExists(guess)) return guess;\n  }\n  return undefined;\n}\n\nfunction resolveIndex(search) {\n  return resolveExtensions(new URL('index', search));\n}\n\nconst encodedSepRegEx = /%2F|%2C/i;\nfunction finalizeResolution(resolved, base) {\n  if (RegExpPrototypeTest(encodedSepRegEx, resolved.pathname))\n    throw new ERR_INVALID_MODULE_SPECIFIER(\n      resolved.pathname, 'must not include encoded \"/\" or \"\\\\\" characters',\n      fileURLToPath(base));\n\n  const path = fileURLToPath(resolved);\n  if (getOptionValue('--experimental-specifier-resolution') === 'node') {\n    let file = resolveExtensionsWithTryExactName(resolved);\n    if (file !== undefined) return file;\n    if (!StringPrototypeEndsWith(path, '/')) {\n      file = resolveIndex(new URL(`${resolved}/`));\n      if (file !== undefined) return file;\n    } else {\n      return resolveIndex(resolved) || resolved;\n    }\n    throw new ERR_MODULE_NOT_FOUND(\n      resolved.pathname, fileURLToPath(base), 'module');\n  }\n\n  const stats = tryStatSync(StringPrototypeEndsWith(path, '/') ?\n    StringPrototypeSlice(path, -1) : path);\n  if (stats.isDirectory()) {\n    const err = new ERR_UNSUPPORTED_DIR_IMPORT(path, fileURLToPath(base));\n    err.url = String(resolved);\n    throw err;\n  } else if (!stats.isFile()) {\n    throw new ERR_MODULE_NOT_FOUND(\n      path || resolved.pathname, base && fileURLToPath(base), 'module');\n  }\n\n  return resolved;\n}\n\nfunction throwImportNotDefined(specifier, packageJSONUrl, base) {\n  throw new ERR_PACKAGE_IMPORT_NOT_DEFINED(\n    specifier, packageJSONUrl && fileURLToPath(new URL('.', packageJSONUrl)),\n    fileURLToPath(base));\n}\n\nfunction throwExportsNotFound(subpath, packageJSONUrl, base) {\n  throw new ERR_PACKAGE_PATH_NOT_EXPORTED(\n    fileURLToPath(new URL('.', packageJSONUrl)), subpath,\n    base && fileURLToPath(base));\n}\n\nfunction throwInvalidSubpath(subpath, packageJSONUrl, internal, base) {\n  const reason = `request is not a valid subpath for the \"${internal ?\n    'imports' : 'exports'}\" resolution of ${fileURLToPath(packageJSONUrl)}`;\n  throw new ERR_INVALID_MODULE_SPECIFIER(subpath, reason,\n                                         base && fileURLToPath(base));\n}\n\nfunction throwInvalidPackageTarget(\n  subpath, target, packageJSONUrl, internal, base) {\n  if (typeof target === 'object' && target !== null) {\n    target = JSONStringify(target, null, '');\n  } else {\n    target = `${target}`;\n  }\n  throw new ERR_INVALID_PACKAGE_TARGET(\n    fileURLToPath(new URL('.', packageJSONUrl)), subpath, target,\n    internal, base && fileURLToPath(base));\n}\n\nconst invalidSegmentRegEx = /(^|\\\\|\\/)(\\.\\.?|node_modules)(\\\\|\\/|$)/;\nconst patternRegEx = /\\*/g;\n\nfunction resolvePackageTargetString(\n  target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) {\n  if (subpath !== '' && !pattern && target[target.length - 1] !== '/')\n    throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);\n\n  if (!StringPrototypeStartsWith(target, './')) {\n    if (internal && !StringPrototypeStartsWith(target, '../') &&\n        !StringPrototypeStartsWith(target, '/')) {\n      let isURL = false;\n      try {\n        new URL(target);\n        isURL = true;\n      } catch {}\n      if (!isURL) {\n        const exportTarget = pattern ?\n          StringPrototypeReplace(target, patternRegEx, subpath) :\n          target + subpath;\n        return packageResolve(exportTarget, packageJSONUrl, conditions);\n      }\n    }\n    throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);\n  }\n\n  if (RegExpPrototypeTest(invalidSegmentRegEx, StringPrototypeSlice(target, 2)))\n    throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);\n\n  const resolved = new URL(target, packageJSONUrl);\n  const resolvedPath = resolved.pathname;\n  const packagePath = new URL('.', packageJSONUrl).pathname;\n\n  if (!StringPrototypeStartsWith(resolvedPath, packagePath))\n    throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);\n\n  if (subpath === '') return resolved;\n\n  if (RegExpPrototypeTest(invalidSegmentRegEx, subpath))\n    throwInvalidSubpath(match + subpath, packageJSONUrl, internal, base);\n\n  if (pattern)\n    return new URL(StringPrototypeReplace(resolved.href, patternRegEx,\n                                          subpath));\n  return new URL(subpath, resolved);\n}\n\n/**\n * @param {string} key\n * @returns {boolean}\n */\nfunction isArrayIndex(key) {\n  const keyNum = +key;\n  if (`${keyNum}` !== key) return false;\n  return keyNum >= 0 && keyNum < 0xFFFF_FFFF;\n}\n\nfunction resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath,\n                              base, pattern, internal, conditions) {\n  if (typeof target === 'string') {\n    return resolvePackageTargetString(\n      target, subpath, packageSubpath, packageJSONUrl, base, pattern, internal,\n      conditions);\n  } else if (ArrayIsArray(target)) {\n    if (target.length === 0)\n      return null;\n\n    let lastException;\n    for (let i = 0; i < target.length; i++) {\n      const targetItem = target[i];\n      let resolved;\n      try {\n        resolved = resolvePackageTarget(\n          packageJSONUrl, targetItem, subpath, packageSubpath, base, pattern,\n          internal, conditions);\n      } catch (e) {\n        lastException = e;\n        if (e.code === 'ERR_INVALID_PACKAGE_TARGET')\n          continue;\n        throw e;\n      }\n      if (resolved === undefined)\n        continue;\n      if (resolved === null) {\n        lastException = null;\n        continue;\n      }\n      return resolved;\n    }\n    if (lastException === undefined || lastException === null)\n      return lastException;\n    throw lastException;\n  } else if (typeof target === 'object' && target !== null) {\n    const keys = ObjectGetOwnPropertyNames(target);\n    for (let i = 0; i < keys.length; i++) {\n      const key = keys[i];\n      if (isArrayIndex(key)) {\n        throw new ERR_INVALID_PACKAGE_CONFIG(\n          fileURLToPath(packageJSONUrl), base,\n          '\"exports\" cannot contain numeric property keys.');\n      }\n    }\n    for (let i = 0; i < keys.length; i++) {\n      const key = keys[i];\n      if (key === 'default' || conditions.has(key)) {\n        const conditionalTarget = target[key];\n        const resolved = resolvePackageTarget(\n          packageJSONUrl, conditionalTarget, subpath, packageSubpath, base,\n          pattern, internal, conditions);\n        if (resolved === undefined)\n          continue;\n        return resolved;\n      }\n    }\n    return undefined;\n  } else if (target === null) {\n    return null;\n  }\n  throwInvalidPackageTarget(packageSubpath, target, packageJSONUrl, internal,\n                            base);\n}\n\nfunction isConditionalExportsMainSugar(exports, packageJSONUrl, base) {\n  if (typeof exports === 'string' || ArrayIsArray(exports)) return true;\n  if (typeof exports !== 'object' || exports === null) return false;\n\n  const keys = ObjectGetOwnPropertyNames(exports);\n  let isConditionalSugar = false;\n  let i = 0;\n  for (let j = 0; j < keys.length; j++) {\n    const key = keys[j];\n    const curIsConditionalSugar = key === '' || key[0] !== '.';\n    if (i++ === 0) {\n      isConditionalSugar = curIsConditionalSugar;\n    } else if (isConditionalSugar !== curIsConditionalSugar) {\n      throw new ERR_INVALID_PACKAGE_CONFIG(\n        fileURLToPath(packageJSONUrl), base,\n        '\"exports\" cannot contain some keys starting with \\'.\\' and some not.' +\n        ' The exports object must either be an object of package subpath keys' +\n        ' or an object of main entry condition name keys only.');\n    }\n  }\n  return isConditionalSugar;\n}\n\n/**\n * @param {URL} packageJSONUrl\n * @param {string} packageSubpath\n * @param {object} packageConfig\n * @param {string} base\n * @param {Set<string>} conditions\n * @returns {URL}\n */\nfunction packageExportsResolve(\n  packageJSONUrl, packageSubpath, packageConfig, base, conditions) {\n  let exports = packageConfig.exports;\n  if (isConditionalExportsMainSugar(exports, packageJSONUrl, base))\n    exports = { '.': exports };\n\n  if (ObjectPrototypeHasOwnProperty(exports, packageSubpath)) {\n    const target = exports[packageSubpath];\n    const resolved = resolvePackageTarget(\n      packageJSONUrl, target, '', packageSubpath, base, false, false, conditions\n    );\n    if (resolved === null || resolved === undefined)\n      throwExportsNotFound(packageSubpath, packageJSONUrl, base);\n    return { resolved, exact: true };\n  }\n\n  let bestMatch = '';\n  const keys = ObjectGetOwnPropertyNames(exports);\n  for (let i = 0; i < keys.length; i++) {\n    const key = keys[i];\n    if (key[key.length - 1] === '*' &&\n        StringPrototypeStartsWith(packageSubpath,\n                                  StringPrototypeSlice(key, 0, -1)) &&\n        packageSubpath.length >= key.length &&\n        key.length > bestMatch.length) {\n      bestMatch = key;\n    } else if (key[key.length - 1] === '/' &&\n      StringPrototypeStartsWith(packageSubpath, key) &&\n      key.length > bestMatch.length) {\n      bestMatch = key;\n    }\n  }\n\n  if (bestMatch) {\n    const target = exports[bestMatch];\n    const pattern = bestMatch[bestMatch.length - 1] === '*';\n    const subpath = StringPrototypeSubstr(packageSubpath, bestMatch.length -\n      (pattern ? 1 : 0));\n    const resolved = resolvePackageTarget(packageJSONUrl, target, subpath,\n                                          bestMatch, base, pattern, false,\n                                          conditions);\n    if (resolved === null || resolved === undefined)\n      throwExportsNotFound(packageSubpath, packageJSONUrl, base);\n    if (!pattern)\n      emitFolderMapDeprecation(bestMatch, packageJSONUrl, true, base);\n    return { resolved, exact: pattern };\n  }\n\n  throwExportsNotFound(packageSubpath, packageJSONUrl, base);\n}\n\nfunction packageImportsResolve(name, base, conditions) {\n  if (name === '#' || StringPrototypeStartsWith(name, '#/')) {\n    const reason = 'is not a valid internal imports specifier name';\n    throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath(base));\n  }\n  let packageJSONUrl;\n  const packageConfig = getPackageScopeConfig(base);\n  if (packageConfig.exists) {\n    packageJSONUrl = pathToFileURL(packageConfig.pjsonPath);\n    const imports = packageConfig.imports;\n    if (imports) {\n      if (ObjectPrototypeHasOwnProperty(imports, name)) {\n        const resolved = resolvePackageTarget(\n          packageJSONUrl, imports[name], '', name, base, false, true, conditions\n        );\n        if (resolved !== null)\n          return { resolved, exact: true };\n      } else {\n        let bestMatch = '';\n        const keys = ObjectGetOwnPropertyNames(imports);\n        for (let i = 0; i < keys.length; i++) {\n          const key = keys[i];\n          if (key[key.length - 1] === '*' &&\n              StringPrototypeStartsWith(name,\n                                        StringPrototypeSlice(key, 0, -1)) &&\n              name.length >= key.length &&\n              key.length > bestMatch.length) {\n            bestMatch = key;\n          } else if (key[key.length - 1] === '/' &&\n            StringPrototypeStartsWith(name, key) &&\n            key.length > bestMatch.length) {\n            bestMatch = key;\n          }\n        }\n\n        if (bestMatch) {\n          const target = imports[bestMatch];\n          const pattern = bestMatch[bestMatch.length - 1] === '*';\n          const subpath = StringPrototypeSubstr(name, bestMatch.length -\n            (pattern ? 1 : 0));\n          const resolved = resolvePackageTarget(\n            packageJSONUrl, target, subpath, bestMatch, base, pattern, true,\n            conditions);\n          if (resolved !== null) {\n            if (!pattern)\n              emitFolderMapDeprecation(bestMatch, packageJSONUrl, false, base);\n            return { resolved, exact: pattern };\n          }\n        }\n      }\n    }\n  }\n  throwImportNotDefined(name, packageJSONUrl, base);\n}\n\nfunction getPackageType(url) {\n  const packageConfig = getPackageScopeConfig(url);\n  return packageConfig.type;\n}\n\nfunction parsePackageName(specifier, base) {\n  let separatorIndex = StringPrototypeIndexOf(specifier, '/');\n  let validPackageName = true;\n  let isScoped = false;\n  if (specifier[0] === '@') {\n    isScoped = true;\n    if (separatorIndex === -1 || specifier.length === 0) {\n      validPackageName = false;\n    } else {\n      separatorIndex = StringPrototypeIndexOf(\n        specifier, '/', separatorIndex + 1);\n    }\n  }\n\n  const packageName = separatorIndex === -1 ?\n    specifier : StringPrototypeSlice(specifier, 0, separatorIndex);\n\n  // Package name cannot have leading . and cannot have percent-encoding or\n  // separators.\n  for (let i = 0; i < packageName.length; i++) {\n    if (packageName[i] === '%' || packageName[i] === '\\\\') {\n      validPackageName = false;\n      break;\n    }\n  }\n\n  if (!validPackageName) {\n    throw new ERR_INVALID_MODULE_SPECIFIER(\n      specifier, 'is not a valid package name', fileURLToPath(base));\n  }\n\n  const packageSubpath = '.' + (separatorIndex === -1 ? '' :\n    StringPrototypeSlice(specifier, separatorIndex));\n\n  return { packageName, packageSubpath, isScoped };\n}\n\n/**\n * @param {string} specifier\n * @param {URL} base\n * @param {Set<string>} conditions\n * @returns {URL}\n */\nfunction packageResolve(specifier, base, conditions) {\n  const { packageName, packageSubpath, isScoped } =\n    parsePackageName(specifier, base);\n\n  // ResolveSelf\n  const packageConfig = getPackageScopeConfig(base);\n  if (packageConfig.exists) {\n    const packageJSONUrl = pathToFileURL(packageConfig.pjsonPath);\n    if (packageConfig.name === packageName &&\n        packageConfig.exports !== undefined && packageConfig.exports !== null) {\n      return packageExportsResolve(\n        packageJSONUrl, packageSubpath, packageConfig, base, conditions\n      ).resolved;\n    }\n  }\n\n  let packageJSONUrl =\n    new URL('./node_modules/' + packageName + '/package.json', base);\n  let packageJSONPath = fileURLToPath(packageJSONUrl);\n  let lastPath;\n  do {\n    const stat = tryStatSync(StringPrototypeSlice(packageJSONPath, 0,\n                                                  packageJSONPath.length - 13));\n    if (!stat.isDirectory()) {\n      lastPath = packageJSONPath;\n      packageJSONUrl = new URL((isScoped ?\n        '../../../../node_modules/' : '../../../node_modules/') +\n        packageName + '/package.json', packageJSONUrl);\n      packageJSONPath = fileURLToPath(packageJSONUrl);\n      continue;\n    }\n\n    // Package match.\n    const packageConfig = getPackageConfig(packageJSONPath, specifier, base);\n    if (packageConfig.exports !== undefined && packageConfig.exports !== null)\n      return packageExportsResolve(\n        packageJSONUrl, packageSubpath, packageConfig, base, conditions\n      ).resolved;\n    if (packageSubpath === '.')\n      return legacyMainResolve(packageJSONUrl, packageConfig, base);\n    return new URL(packageSubpath, packageJSONUrl);\n    // Cross-platform root check.\n  } while (packageJSONPath.length !== lastPath.length);\n\n  // eslint can't handle the above code.\n  // eslint-disable-next-line no-unreachable\n  throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath(base));\n}\n\nfunction isBareSpecifier(specifier) {\n  return specifier[0] && specifier[0] !== '/' && specifier[0] !== '.';\n}\n\nfunction isRelativeSpecifier(specifier) {\n  if (specifier[0] === '.') {\n    if (specifier.length === 1 || specifier[1] === '/') return true;\n    if (specifier[1] === '.') {\n      if (specifier.length === 2 || specifier[2] === '/') return true;\n    }\n  }\n  return false;\n}\n\nfunction shouldBeTreatedAsRelativeOrAbsolutePath(specifier) {\n  if (specifier === '') return false;\n  if (specifier[0] === '/') return true;\n  return isRelativeSpecifier(specifier);\n}\n\n/**\n * @param {string} specifier\n * @param {URL} base\n * @param {Set<string>} conditions\n * @returns {URL}\n */\nfunction moduleResolve(specifier, base, conditions) {\n  // Order swapped from spec for minor perf gain.\n  // Ok since relative URLs cannot parse as URLs.\n  let resolved;\n  if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) {\n    resolved = new URL(specifier, base);\n  } else if (specifier[0] === '#') {\n    ({ resolved } = packageImportsResolve(specifier, base, conditions));\n  } else {\n    try {\n      resolved = new URL(specifier);\n    } catch {\n      resolved = packageResolve(specifier, base, conditions);\n    }\n  }\n  return finalizeResolution(resolved, base);\n}\n\n/**\n * Try to resolve an import as a CommonJS module\n * @param {string} specifier\n * @param {string} parentURL\n * @returns {boolean|string}\n */\nfunction resolveAsCommonJS(specifier, parentURL) {\n  try {\n    const parent = fileURLToPath(parentURL);\n    const tmpModule = new CJSModule(parent, null);\n    tmpModule.paths = CJSModule._nodeModulePaths(parent);\n\n    let found = CJSModule._resolveFilename(specifier, tmpModule, false);\n\n    // If it is a relative specifier return the relative path\n    // to the parent\n    if (isRelativeSpecifier(specifier)) {\n      found = relative(parent, found);\n      // Add '.separator if the path does not start with '..separator'\n      // This should be a safe assumption because when loading\n      // esm modules there should be always a file specified so\n      // there should not be a specifier like '..' or '.'\n      if (!StringPrototypeStartsWith(found, `..${sep}`)) {\n        found = `.${sep}${found}`;\n      }\n    } else if (isBareSpecifier(specifier)) {\n      // If it is a bare specifier return the relative path within the\n      // module\n      const pkg = StringPrototypeSplit(specifier, '/')[0];\n      const index = StringPrototypeIndexOf(found, pkg);\n      if (index !== -1) {\n        found = StringPrototypeSlice(found, index);\n      }\n    }\n    // Normalize the path separator to give a valid suggestion\n    // on Windows\n    if (process.platform === 'win32') {\n      found = StringPrototypeReplace(found, new RegExp(`\\\\${sep}`, 'g'), '/');\n    }\n    return found;\n  } catch {\n    return false;\n  }\n}\n\nfunction defaultResolve(specifier, context = {}, defaultResolveUnused) {\n  let { parentURL, conditions } = context;\n  if (parentURL && policy?.manifest) {\n    const redirects = policy.manifest.getDependencyMapper(parentURL);\n    if (redirects) {\n      const { resolve, reaction } = redirects;\n      const destination = resolve(specifier, new SafeSet(conditions));\n      let missing = true;\n      if (destination === true) {\n        missing = false;\n      } else if (destination) {\n        const href = destination.href;\n        return { url: href };\n      }\n      if (missing) {\n        reaction(new ERR_MANIFEST_DEPENDENCY_MISSING(\n          parentURL,\n          specifier,\n          ArrayPrototypeJoin([...conditions], ', '))\n        );\n      }\n    }\n  }\n  let parsed;\n  try {\n    parsed = new URL(specifier);\n    if (parsed.protocol === 'data:') {\n      return {\n        url: specifier\n      };\n    }\n  } catch {}\n  if (parsed && parsed.protocol === 'node:')\n    return { url: specifier };\n  if (parsed && parsed.protocol !== 'file:' && parsed.protocol !== 'data:')\n    throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(parsed);\n  if (NativeModule.canBeRequiredByUsers(specifier)) {\n    return {\n      url: 'node:' + specifier\n    };\n  }\n  if (parentURL && StringPrototypeStartsWith(parentURL, 'data:')) {\n    // This is gonna blow up, we want the error\n    new URL(specifier, parentURL);\n  }\n\n  const isMain = parentURL === undefined;\n  if (isMain) {\n    parentURL = pathToFileURL(`${process.cwd()}/`).href;\n\n    // This is the initial entry point to the program, and --input-type has\n    // been passed as an option; but --input-type can only be used with\n    // --eval, --print or STDIN string input. It is not allowed with file\n    // input, to avoid user confusion over how expansive the effect of the\n    // flag should be (i.e. entry point only, package scope surrounding the\n    // entry point, etc.).\n    if (typeFlag)\n      throw new ERR_INPUT_TYPE_NOT_ALLOWED();\n  }\n\n  conditions = getConditionsSet(conditions);\n  let url;\n  try {\n    url = moduleResolve(specifier, parentURL, conditions);\n  } catch (error) {\n    // Try to give the user a hint of what would have been the\n    // resolved CommonJS module\n    if (error.code === 'ERR_MODULE_NOT_FOUND' ||\n        error.code === 'ERR_UNSUPPORTED_DIR_IMPORT') {\n      if (StringPrototypeStartsWith(specifier, 'file://')) {\n        specifier = fileURLToPath(specifier);\n      }\n      const found = resolveAsCommonJS(specifier, parentURL);\n      if (found) {\n        // Modify the stack and message string to include the hint\n        const lines = StringPrototypeSplit(error.stack, '\\n');\n        const hint = `Did you mean to import ${found}?`;\n        error.stack =\n          ArrayPrototypeShift(lines) + '\\n' +\n          hint + '\\n' +\n          ArrayPrototypeJoin(lines, '\\n');\n        error.message += `\\n${hint}`;\n      }\n    }\n    throw error;\n  }\n\n  if (isMain ? !preserveSymlinksMain : !preserveSymlinks) {\n    const urlPath = fileURLToPath(url);\n    const real = realpathSync(urlPath, {\n      [internalFS.realpathCacheKey]: realpathCache\n    });\n    const old = url;\n    url = pathToFileURL(\n      real + (StringPrototypeEndsWith(urlPath, sep) ? '/' : ''));\n    url.search = old.search;\n    url.hash = old.hash;\n  }\n\n  return { url: `${url}` };\n}\n\nmodule.exports = {\n  DEFAULT_CONDITIONS,\n  defaultResolve,\n  encodedSepRegEx,\n  getPackageType,\n  packageExportsResolve,\n  packageImportsResolve\n};\n"
  },
  {
    "path": "raw/node-internal-modules-package_json_reader-v15.3.0.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/v15.3.0/lib/internal/modules/package_json_reader.js\n\n'use strict';\n\nconst { SafeMap } = primordials;\nconst { internalModuleReadJSON } = internalBinding('fs');\nconst { pathToFileURL } = require('url');\nconst { toNamespacedPath } = require('path');\n\nconst cache = new SafeMap();\n\nlet manifest;\n\n/**\n *\n * @param {string} jsonPath\n */\nfunction read(jsonPath) {\n  if (cache.has(jsonPath)) {\n    return cache.get(jsonPath);\n  }\n\n  const [string, containsKeys] = internalModuleReadJSON(\n    toNamespacedPath(jsonPath)\n  );\n  const result = { string, containsKeys };\n  const { getOptionValue } = require('internal/options');\n  if (string !== undefined) {\n    if (manifest === undefined) {\n      manifest = getOptionValue('--experimental-policy') ?\n        require('internal/process/policy').manifest :\n        null;\n    }\n    if (manifest !== null) {\n      const jsonURL = pathToFileURL(jsonPath);\n      manifest.assertIntegrity(jsonURL, string);\n    }\n  }\n  cache.set(jsonPath, result);\n  return result;\n}\n\nmodule.exports = { read };\n"
  },
  {
    "path": "raw/node-internal-repl-await-88799930794045795e8abac874730f9eba7e2300.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/88799930794045795e8abac874730f9eba7e2300/lib/internal/repl/await.js\n\n'use strict';\n\nconst {\n  ArrayFrom,\n  ArrayPrototypeForEach,\n  ArrayPrototypeIncludes,\n  ArrayPrototypeJoin,\n  ArrayPrototypePop,\n  ArrayPrototypePush,\n  FunctionPrototype,\n  ObjectKeys,\n  RegExpPrototypeSymbolReplace,\n  StringPrototypeEndsWith,\n  StringPrototypeIncludes,\n  StringPrototypeIndexOf,\n  StringPrototypeRepeat,\n  StringPrototypeSplit,\n  StringPrototypeStartsWith,\n  SyntaxError,\n} = primordials;\n\nconst parser = require('internal/deps/acorn/acorn/dist/acorn').Parser;\nconst walk = require('internal/deps/acorn/acorn-walk/dist/walk');\nconst { Recoverable } = require('internal/repl');\n\nfunction isTopLevelDeclaration(state) {\n  return state.ancestors[state.ancestors.length - 2] === state.body;\n}\n\nconst noop = FunctionPrototype;\nconst visitorsWithoutAncestors = {\n  ClassDeclaration(node, state, c) {\n    if (isTopLevelDeclaration(state)) {\n      state.prepend(node, `${node.id.name}=`);\n      ArrayPrototypePush(\n        state.hoistedDeclarationStatements,\n        `let ${node.id.name}; `\n      );\n    }\n\n    walk.base.ClassDeclaration(node, state, c);\n  },\n  ForOfStatement(node, state, c) {\n    if (node.await === true) {\n      state.containsAwait = true;\n    }\n    walk.base.ForOfStatement(node, state, c);\n  },\n  FunctionDeclaration(node, state, c) {\n    state.prepend(node, `${node.id.name}=`);\n    ArrayPrototypePush(\n      state.hoistedDeclarationStatements,\n      `var ${node.id.name}; `\n    );\n  },\n  FunctionExpression: noop,\n  ArrowFunctionExpression: noop,\n  MethodDefinition: noop,\n  AwaitExpression(node, state, c) {\n    state.containsAwait = true;\n    walk.base.AwaitExpression(node, state, c);\n  },\n  ReturnStatement(node, state, c) {\n    state.containsReturn = true;\n    walk.base.ReturnStatement(node, state, c);\n  },\n  VariableDeclaration(node, state, c) {\n    const variableKind = node.kind;\n    const isIterableForDeclaration = ArrayPrototypeIncludes(\n      ['ForOfStatement', 'ForInStatement'],\n      state.ancestors[state.ancestors.length - 2].type\n    );\n\n    if (variableKind === 'var' || isTopLevelDeclaration(state)) {\n      state.replace(\n        node.start,\n        node.start + variableKind.length + (isIterableForDeclaration ? 1 : 0),\n        variableKind === 'var' && isIterableForDeclaration ?\n          '' :\n          'void' + (node.declarations.length === 1 ? '' : ' (')\n      );\n\n      if (!isIterableForDeclaration) {\n        ArrayPrototypeForEach(node.declarations, (decl) => {\n          state.prepend(decl, '(');\n          state.append(decl, decl.init ? ')' : '=undefined)');\n        });\n\n        if (node.declarations.length !== 1) {\n          state.append(node.declarations[node.declarations.length - 1], ')');\n        }\n      }\n\n      const variableIdentifiersToHoist = [\n        ['var', []],\n        ['let', []],\n      ];\n      function registerVariableDeclarationIdentifiers(node) {\n        switch (node.type) {\n          case 'Identifier':\n            ArrayPrototypePush(\n              variableIdentifiersToHoist[variableKind === 'var' ? 0 : 1][1],\n              node.name\n            );\n            break;\n          case 'ObjectPattern':\n            ArrayPrototypeForEach(node.properties, (property) => {\n              registerVariableDeclarationIdentifiers(property.value);\n            });\n            break;\n          case 'ArrayPattern':\n            ArrayPrototypeForEach(node.elements, (element) => {\n              registerVariableDeclarationIdentifiers(element);\n            });\n            break;\n        }\n      }\n\n      ArrayPrototypeForEach(node.declarations, (decl) => {\n        registerVariableDeclarationIdentifiers(decl.id);\n      });\n\n      ArrayPrototypeForEach(\n        variableIdentifiersToHoist,\n        ({ 0: kind, 1: identifiers }) => {\n          if (identifiers.length > 0) {\n            ArrayPrototypePush(\n              state.hoistedDeclarationStatements,\n              `${kind} ${ArrayPrototypeJoin(identifiers, ', ')}; `\n            );\n          }\n        }\n      );\n    }\n\n    walk.base.VariableDeclaration(node, state, c);\n  }\n};\n\nconst visitors = {};\nfor (const nodeType of ObjectKeys(walk.base)) {\n  const callback = visitorsWithoutAncestors[nodeType] || walk.base[nodeType];\n  visitors[nodeType] = (node, state, c) => {\n    const isNew = node !== state.ancestors[state.ancestors.length - 1];\n    if (isNew) {\n      ArrayPrototypePush(state.ancestors, node);\n    }\n    callback(node, state, c);\n    if (isNew) {\n      ArrayPrototypePop(state.ancestors);\n    }\n  };\n}\n\nfunction processTopLevelAwait(src) {\n  const wrapPrefix = '(async () => { ';\n  const wrapped = `${wrapPrefix}${src} })()`;\n  const wrappedArray = ArrayFrom(wrapped);\n  let root;\n  try {\n    root = parser.parse(wrapped, { ecmaVersion: 'latest' });\n  } catch (e) {\n    if (StringPrototypeStartsWith(e.message, 'Unterminated '))\n      throw new Recoverable(e);\n    // If the parse error is before the first \"await\", then use the execution\n    // error. Otherwise we must emit this parse error, making it look like a\n    // proper syntax error.\n    const awaitPos = StringPrototypeIndexOf(src, 'await');\n    const errPos = e.pos - wrapPrefix.length;\n    if (awaitPos > errPos)\n      return null;\n    // Convert keyword parse errors on await into their original errors when\n    // possible.\n    if (errPos === awaitPos + 6 &&\n        StringPrototypeIncludes(e.message, 'Expecting Unicode escape sequence'))\n      return null;\n    if (errPos === awaitPos + 7 &&\n        StringPrototypeIncludes(e.message, 'Unexpected token'))\n      return null;\n    const line = e.loc.line;\n    const column = line === 1 ? e.loc.column - wrapPrefix.length : e.loc.column;\n    let message = '\\n' + StringPrototypeSplit(src, '\\n')[line - 1] + '\\n' +\n        StringPrototypeRepeat(' ', column) +\n        '^\\n\\n' + RegExpPrototypeSymbolReplace(/ \\([^)]+\\)/, e.message, '');\n    // V8 unexpected token errors include the token string.\n    if (StringPrototypeEndsWith(message, 'Unexpected token'))\n      message += \" '\" +\n        // Wrapper end may cause acorn to report error position after the source\n        (src[e.pos - wrapPrefix.length] ?? src[src.length - 1]) +\n        \"'\";\n    // eslint-disable-next-line no-restricted-syntax\n    throw new SyntaxError(message);\n  }\n  const body = root.body[0].expression.callee.body;\n  const state = {\n    body,\n    ancestors: [],\n    hoistedDeclarationStatements: [],\n    replace(from, to, str) {\n      for (let i = from; i < to; i++) {\n        wrappedArray[i] = '';\n      }\n      if (from === to) str += wrappedArray[from];\n      wrappedArray[from] = str;\n    },\n    prepend(node, str) {\n      wrappedArray[node.start] = str + wrappedArray[node.start];\n    },\n    append(node, str) {\n      wrappedArray[node.end - 1] += str;\n    },\n    containsAwait: false,\n    containsReturn: false\n  };\n\n  walk.recursive(body, state, visitors);\n\n  // Do not transform if\n  // 1. False alarm: there isn't actually an await expression.\n  // 2. There is a top-level return, which is not allowed.\n  if (!state.containsAwait || state.containsReturn) {\n    return null;\n  }\n\n  const last = body.body[body.body.length - 1];\n  if (last.type === 'ExpressionStatement') {\n    // For an expression statement of the form\n    // ( expr ) ;\n    // ^^^^^^^^^^   // last\n    //   ^^^^       // last.expression\n    //\n    // We do not want the left parenthesis before the `return` keyword;\n    // therefore we prepend the `return (` to `last`.\n    //\n    // On the other hand, we do not want the right parenthesis after the\n    // semicolon. Since there can only be more right parentheses between\n    // last.expression.end and the semicolon, appending one more to\n    // last.expression should be fine.\n    state.prepend(last, 'return (');\n    state.append(last.expression, ')');\n  }\n\n  return (\n    ArrayPrototypeJoin(state.hoistedDeclarationStatements, '') +\n    ArrayPrototypeJoin(wrappedArray, '')\n  );\n}\n\nmodule.exports = {\n  processTopLevelAwait\n};\n"
  },
  {
    "path": "raw/node-internal-repl-await-v17.0.0.js",
    "content": "// Copied from https://github.com/nodejs/node/blob/v17.0.0/lib/internal/repl/await.js\n\n'use strict';\n\nconst {\n  ArrayPrototypeForEach,\n  ArrayPrototypeIncludes,\n  ArrayPrototypeJoin,\n  ArrayPrototypePop,\n  ArrayPrototypePush,\n  FunctionPrototype,\n  ObjectKeys,\n  RegExpPrototypeSymbolReplace,\n  StringPrototypeEndsWith,\n  StringPrototypeIncludes,\n  StringPrototypeIndexOf,\n  StringPrototypeRepeat,\n  StringPrototypeSplit,\n  StringPrototypeStartsWith,\n  SyntaxError,\n} = primordials;\n\nconst parser = require('internal/deps/acorn/acorn/dist/acorn').Parser;\nconst walk = require('internal/deps/acorn/acorn-walk/dist/walk');\nconst { Recoverable } = require('internal/repl');\n\nfunction isTopLevelDeclaration(state) {\n  return state.ancestors[state.ancestors.length - 2] === state.body;\n}\n\nconst noop = FunctionPrototype;\nconst visitorsWithoutAncestors = {\n  ClassDeclaration(node, state, c) {\n    if (isTopLevelDeclaration(state)) {\n      state.prepend(node, `${node.id.name}=`);\n      ArrayPrototypePush(\n        state.hoistedDeclarationStatements,\n        `let ${node.id.name}; `\n      );\n    }\n\n    walk.base.ClassDeclaration(node, state, c);\n  },\n  ForOfStatement(node, state, c) {\n    if (node.await === true) {\n      state.containsAwait = true;\n    }\n    walk.base.ForOfStatement(node, state, c);\n  },\n  FunctionDeclaration(node, state, c) {\n    state.prepend(node, `this.${node.id.name} = ${node.id.name}; `);\n    ArrayPrototypePush(\n      state.hoistedDeclarationStatements,\n      `var ${node.id.name}; `\n    );\n  },\n  FunctionExpression: noop,\n  ArrowFunctionExpression: noop,\n  MethodDefinition: noop,\n  AwaitExpression(node, state, c) {\n    state.containsAwait = true;\n    walk.base.AwaitExpression(node, state, c);\n  },\n  ReturnStatement(node, state, c) {\n    state.containsReturn = true;\n    walk.base.ReturnStatement(node, state, c);\n  },\n  VariableDeclaration(node, state, c) {\n    const variableKind = node.kind;\n    const isIterableForDeclaration = ArrayPrototypeIncludes(\n      ['ForOfStatement', 'ForInStatement'],\n      state.ancestors[state.ancestors.length - 2].type\n    );\n\n    if (variableKind === 'var' || isTopLevelDeclaration(state)) {\n      state.replace(\n        node.start,\n        node.start + variableKind.length + (isIterableForDeclaration ? 1 : 0),\n        variableKind === 'var' && isIterableForDeclaration ?\n          '' :\n          'void' + (node.declarations.length === 1 ? '' : ' (')\n      );\n\n      if (!isIterableForDeclaration) {\n        ArrayPrototypeForEach(node.declarations, (decl) => {\n          state.prepend(decl, '(');\n          state.append(decl, decl.init ? ')' : '=undefined)');\n        });\n\n        if (node.declarations.length !== 1) {\n          state.append(node.declarations[node.declarations.length - 1], ')');\n        }\n      }\n\n      const variableIdentifiersToHoist = [\n        ['var', []],\n        ['let', []],\n      ];\n      function registerVariableDeclarationIdentifiers(node) {\n        switch (node.type) {\n          case 'Identifier':\n            ArrayPrototypePush(\n              variableIdentifiersToHoist[variableKind === 'var' ? 0 : 1][1],\n              node.name\n            );\n            break;\n          case 'ObjectPattern':\n            ArrayPrototypeForEach(node.properties, (property) => {\n              registerVariableDeclarationIdentifiers(property.value);\n            });\n            break;\n          case 'ArrayPattern':\n            ArrayPrototypeForEach(node.elements, (element) => {\n              registerVariableDeclarationIdentifiers(element);\n            });\n            break;\n        }\n      }\n\n      ArrayPrototypeForEach(node.declarations, (decl) => {\n        registerVariableDeclarationIdentifiers(decl.id);\n      });\n\n      ArrayPrototypeForEach(\n        variableIdentifiersToHoist,\n        ({ 0: kind, 1: identifiers }) => {\n          if (identifiers.length > 0) {\n            ArrayPrototypePush(\n              state.hoistedDeclarationStatements,\n              `${kind} ${ArrayPrototypeJoin(identifiers, ', ')}; `\n            );\n          }\n        }\n      );\n    }\n\n    walk.base.VariableDeclaration(node, state, c);\n  }\n};\n\nconst visitors = {};\nfor (const nodeType of ObjectKeys(walk.base)) {\n  const callback = visitorsWithoutAncestors[nodeType] || walk.base[nodeType];\n  visitors[nodeType] = (node, state, c) => {\n    const isNew = node !== state.ancestors[state.ancestors.length - 1];\n    if (isNew) {\n      ArrayPrototypePush(state.ancestors, node);\n    }\n    callback(node, state, c);\n    if (isNew) {\n      ArrayPrototypePop(state.ancestors);\n    }\n  };\n}\n\nfunction processTopLevelAwait(src) {\n  const wrapPrefix = '(async () => { ';\n  const wrapped = `${wrapPrefix}${src} })()`;\n  const wrappedArray = StringPrototypeSplit(wrapped, '');\n  let root;\n  try {\n    root = parser.parse(wrapped, { ecmaVersion: 'latest' });\n  } catch (e) {\n    if (StringPrototypeStartsWith(e.message, 'Unterminated '))\n      throw new Recoverable(e);\n    // If the parse error is before the first \"await\", then use the execution\n    // error. Otherwise we must emit this parse error, making it look like a\n    // proper syntax error.\n    const awaitPos = StringPrototypeIndexOf(src, 'await');\n    const errPos = e.pos - wrapPrefix.length;\n    if (awaitPos > errPos)\n      return null;\n    // Convert keyword parse errors on await into their original errors when\n    // possible.\n    if (errPos === awaitPos + 6 &&\n        StringPrototypeIncludes(e.message, 'Expecting Unicode escape sequence'))\n      return null;\n    if (errPos === awaitPos + 7 &&\n        StringPrototypeIncludes(e.message, 'Unexpected token'))\n      return null;\n    const line = e.loc.line;\n    const column = line === 1 ? e.loc.column - wrapPrefix.length : e.loc.column;\n    let message = '\\n' + StringPrototypeSplit(src, '\\n')[line - 1] + '\\n' +\n        StringPrototypeRepeat(' ', column) +\n        '^\\n\\n' + RegExpPrototypeSymbolReplace(/ \\([^)]+\\)/, e.message, '');\n    // V8 unexpected token errors include the token string.\n    if (StringPrototypeEndsWith(message, 'Unexpected token'))\n      message += \" '\" +\n        // Wrapper end may cause acorn to report error position after the source\n        (src[e.pos - wrapPrefix.length] ?? src[src.length - 1]) +\n        \"'\";\n    // eslint-disable-next-line no-restricted-syntax\n    throw new SyntaxError(message);\n  }\n  const body = root.body[0].expression.callee.body;\n  const state = {\n    body,\n    ancestors: [],\n    hoistedDeclarationStatements: [],\n    replace(from, to, str) {\n      for (let i = from; i < to; i++) {\n        wrappedArray[i] = '';\n      }\n      if (from === to) str += wrappedArray[from];\n      wrappedArray[from] = str;\n    },\n    prepend(node, str) {\n      wrappedArray[node.start] = str + wrappedArray[node.start];\n    },\n    append(node, str) {\n      wrappedArray[node.end - 1] += str;\n    },\n    containsAwait: false,\n    containsReturn: false\n  };\n\n  walk.recursive(body, state, visitors);\n\n  // Do not transform if\n  // 1. False alarm: there isn't actually an await expression.\n  // 2. There is a top-level return, which is not allowed.\n  if (!state.containsAwait || state.containsReturn) {\n    return null;\n  }\n\n  for (let i = body.body.length - 1; i >= 0; i--) {\n    const node = body.body[i];\n    if (node.type === 'EmptyStatement') continue;\n    if (node.type === 'ExpressionStatement') {\n      // For an expression statement of the form\n      // ( expr ) ;\n      // ^^^^^^^^^^   // node\n      //   ^^^^       // node.expression\n      //\n      // We do not want the left parenthesis before the `return` keyword;\n      // therefore we prepend the `return (` to `node`.\n      //\n      // On the other hand, we do not want the right parenthesis after the\n      // semicolon. Since there can only be more right parentheses between\n      // node.expression.end and the semicolon, appending one more to\n      // node.expression should be fine.\n      state.prepend(node, 'return (');\n      state.append(node.expression, ')');\n    }\n    break;\n  }\n\n  return (\n    ArrayPrototypeJoin(state.hoistedDeclarationStatements, '') +\n    ArrayPrototypeJoin(wrappedArray, '')\n  );\n}\n\nmodule.exports = {\n  processTopLevelAwait\n};\n"
  },
  {
    "path": "register/files.js",
    "content": "require('../dist').register({\n  files: true,\n});\n"
  },
  {
    "path": "register/index.js",
    "content": "require('../').register();\n"
  },
  {
    "path": "register/transpile-only.js",
    "content": "require('../').register({\n  transpileOnly: true,\n});\n"
  },
  {
    "path": "register/type-check.js",
    "content": "require('../').register({\n  typeCheck: true,\n});\n"
  },
  {
    "path": "scripts/build-manifest.mjs",
    "content": "import { readFileSync, writeFileSync } from 'fs';\nimport { fileURLToPath } from 'url';\nimport { resolve } from 'path';\n\n// NOTE: could be replaced with using https://npm.im/yarpm\n\nconst manifestPath = resolve(fileURLToPath(import.meta.url), '../../package.json');\nconst pkg = JSON.parse(readFileSync(manifestPath, 'utf8'));\n\n// Fully splat the \"prepack\" script so that it does not contain references to a package manager, neither `yarn` nor `npm`\nlet before;\nlet prepack = pkg.scripts.__prepack_template__;\nwhile (before !== prepack) {\n  before = prepack;\n  prepack = prepack.replace(/yarn (\\S+)/g, ($0, $1) => pkg.scripts[$1]);\n}\npkg.scripts['prepack-worker'] = prepack;\n\nwriteFileSync(manifestPath, JSON.stringify(pkg, null, 2) + '\\n');\n"
  },
  {
    "path": "scripts/build-pack.js",
    "content": "// Written in JS to support Windows\n// Would otherwise be written as inline bash in package.json script\n\nconst { exec } = require('child_process');\nconst { join } = require('path');\n\nconst rootDir = join(__dirname, '..');\nconst testDir = join(__dirname, '../tests');\nconst tarballPath = join(testDir, 'ts-node-packed.tgz');\n\nconst env = {\n  ...process.env,\n  TS_NODE_SKIP_PREPACK: 'true',\n};\n\nexec(`yarn pack --out \"${tarballPath}\"`, { cwd: rootDir, env }, (err, stdout) => {\n  if (err) {\n    console.error(err);\n    process.exit(1);\n  }\n});\n"
  },
  {
    "path": "scripts/create-merged-schema.ts",
    "content": "#!/usr/bin/env ts-node\n/*\n * Create a complete JSON schema for tsconfig.json\n * by merging the schemastore schema with our ts-node additions.\n * This merged schema can be submitted in a pull request to\n * SchemaStore.\n */\n\nimport axios from 'axios';\nimport { resolve } from 'path';\nimport { writeFileSync } from 'fs';\n\nasync function main() {\n  /** schemastore definition */\n  const schemastoreSchema = await getSchemastoreSchema();\n\n  /** ts-node schema auto-generated from ts-node source code */\n  const originalTsNodeSchema = require('../tsconfig.schema.json');\n  // Apply this prefix to the names of all ts-node-generated definitions\n  const tsnodeDefinitionPrefix = 'tsNode';\n  let tsNodeSchema: any = JSON.parse(\n    JSON.stringify(originalTsNodeSchema).replace(/#\\/definitions\\//g, `#/definitions/${tsnodeDefinitionPrefix}`)\n  );\n  tsNodeSchema.definitions = Object.fromEntries(\n    Object.entries(tsNodeSchema.definitions).map(([key, value]) => [`${tsnodeDefinitionPrefix}${key}`, value])\n  );\n  // console.dir(tsNodeSchema, {\n  //   depth: Infinity\n  // });\n\n  /** Patch ts-node stuff into the schemastore definition. */\n  const mergedSchema = {\n    ...schemastoreSchema,\n    definitions: {\n      ...Object.fromEntries(\n        Object.entries(schemastoreSchema.definitions).filter(([key]) => !key.startsWith(tsnodeDefinitionPrefix))\n      ),\n      ...tsNodeSchema.definitions,\n      tsNodeTsConfigOptions: undefined,\n      tsNodeTsConfigSchema: undefined,\n      tsNodeDefinition: {\n        properties: {\n          'ts-node': {\n            ...tsNodeSchema.definitions.tsNodeTsConfigOptions,\n            description: tsNodeSchema.definitions.tsNodeTsConfigSchema.properties['ts-node'].description,\n            properties: {\n              ...tsNodeSchema.definitions.tsNodeTsConfigOptions.properties,\n              compilerOptions: {\n                ...tsNodeSchema.definitions.tsNodeTsConfigOptions.properties.compilerOptions,\n                allOf: [\n                  {\n                    $ref: '#/definitions/compilerOptionsDefinition/properties/compilerOptions',\n                  },\n                ],\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n  // Splice into the allOf array at a spot that looks good.  Does not affect\n  // behavior of the schema, but looks nicer if we want to submit as a PR to schemastore.\n  mergedSchema.allOf = mergedSchema.allOf.filter((item: any) => !item.$ref?.includes('tsNode'));\n  mergedSchema.allOf.splice(mergedSchema.allOf.length - 1, 0, {\n    $ref: '#/definitions/tsNodeDefinition',\n  });\n\n  writeFileSync(resolve(__dirname, '../tsconfig.schemastore-schema.json'), JSON.stringify(mergedSchema, null, 2));\n}\n\nexport async function getSchemastoreSchema() {\n  const { data: schemastoreSchema } = await axios.get(\n    'https://schemastore.azurewebsites.net/schemas/json/tsconfig.json',\n    { responseType: 'json' }\n  );\n  return schemastoreSchema;\n}\n\nmain();\n"
  },
  {
    "path": "scripts/node-nightly.sh",
    "content": "#!/usr/bin/env bash\n\n# Hacky script to grab node nightly and plonk it into node_modules/.bin, for\n# locally testing against nightly builds.\n\nset -euo pipefail\nshopt -s inherit_errexit\n__dirname=\"$(CDPATH= cd \"$(dirname \"${BASH_SOURCE[0]}\")\" && pwd)\"\ncd \"$__dirname/..\"\n\nset -x\n\nmkdir -p tmp\n\nversion=$(curl https://nodejs.org/download/nightly/index.json | jq -r '.[0].version')\n[ -e \"tmp/$version.tar.xz\" ] || \\\n  curl -o \"tmp/$version.tar.xz\" \"https://nodejs.org/download/nightly/$version/node-$version-linux-x64.tar.xz\"\n\n[ -e \"tmp/$version.tar\" ] || \\\n  unxz \"tmp/$version.tar.xz\"\n\n{\n  cd tmp\n  tar -xvf \"$version.tar\"\n}\n\nln -s \"../../tmp/node-$version-linux-x64/bin/node\" ./node_modules/.bin/node\n"
  },
  {
    "path": "scripts/prepack.mjs",
    "content": "const { npm_execpath } = process.env;\n\n// prepack is executed by user's package manager when they install from git\n// So cannot assume yarn\n\nif (process.env.TS_NODE_SKIP_PREPACK == null) {\n  const crossSpawn = await import('cross-spawn');\n  const result = crossSpawn.sync(npm_execpath, ['run', 'prepack-worker'], {\n    stdio: 'inherit',\n  });\n  process.exit(result.status);\n}\n"
  },
  {
    "path": "scripts/update-schemastore-schema-with-compiler-options.ts",
    "content": "/*\n * NOTE this script is meant to be run very rarely,\n * to help patch missing compilerOptions into the tsconfig schema.\n * The TS team updates it manually and sometimes forget to\n * add new options to the schema.\n * For example, here is the first PR I sent after running this script:\n * https://github.com/SchemaStore/schemastore/pull/1168\n *\n * This script adds some options that should *not* be in the schema,\n * so the output requires manual review.\n * There is no good, programmatic way to query the TypeScript API\n * for a list of all tsconfig options.\n *\n * TypeScript-Website has a database of rules; maybe we can use them in the future:\n * https://github.com/microsoft/TypeScript-Website/blob/v2/packages/tsconfig-reference/scripts/tsconfigRules.ts\n *\n * Dependencies of this script have deliberately not\n * been added to package.json.  You can install them locally\n * only when needed to run this script.\n *\n * This script is not strictly related to ts-node, so\n * theoretically it should be extracted to somewhere else\n * in the TypeStrong org.\n */\n\nimport {} from 'ts-expose-internals';\nimport * as ts from 'typescript';\nimport { getSchemastoreSchema } from './create-merged-schema';\n\n// Sometimes schemastore becomes out of date with the latest tsconfig options.\n// This script\n\nasync function main() {\n  const schemastoreSchema = await getSchemastoreSchema();\n  const compilerOptions = schemastoreSchema.definitions.compilerOptionsDefinition.properties.compilerOptions.properties;\n\n  // These options are only available via CLI flags, not in a tsconfig file.\n  const excludedOptions = [\n    'help',\n    'all',\n    'version',\n    'init',\n    'project',\n    'build',\n    'showConfig',\n    'generateCpuProfile', // <- technically gets parsed, but doesn't seem to do anything?\n    'locale',\n    'out', // <-- deprecated\n  ];\n\n  ts.optionDeclarations.forEach((v) => {\n    if (excludedOptions.includes(v.name)) return;\n\n    if (!compilerOptions[v.name]) {\n      compilerOptions[v.name] = {\n        description: v.description?.message,\n        type: v.type,\n      };\n    }\n  });\n\n  // Don't write to a file; this is not part of our build process\n  console.log(JSON.stringify(schemastoreSchema, null, 2));\n}\n\nmain();\n"
  },
  {
    "path": "src/bin-cwd.ts",
    "content": "#!/usr/bin/env node\n\nimport { main } from './bin';\n\nmain(undefined, { '--cwdMode': true });\n"
  },
  {
    "path": "src/bin-esm.ts",
    "content": "#!/usr/bin/env node\n\nimport { main } from './bin';\n\nmain(undefined, { '--esm': true });\n"
  },
  {
    "path": "src/bin-script.ts",
    "content": "#!/usr/bin/env node\n\nimport { main } from './bin';\n\nmain(undefined, { '--scriptMode': true });\n"
  },
  {
    "path": "src/bin-transpile.ts",
    "content": "#!/usr/bin/env node\n\nimport { main } from './bin';\n\nmain(undefined, { '--transpileOnly': true });\n"
  },
  {
    "path": "src/bin.ts",
    "content": "#!/usr/bin/env node\n\nimport { join, resolve, dirname, parse as parsePath, relative } from 'path';\nimport { inspect } from 'util';\nimport Module = require('module');\nlet arg: typeof import('arg');\nimport { parse, hasOwnProperty, versionGteLt } from './util';\nimport {\n  EVAL_FILENAME,\n  EvalState,\n  createRepl,\n  ReplService,\n  setupContext,\n  STDIN_FILENAME,\n  EvalAwarePartialHost,\n  EVAL_NAME,\n  STDIN_NAME,\n  REPL_FILENAME,\n} from './repl';\nimport {\n  VERSION,\n  TSError,\n  register,\n  createEsmHooks,\n  createFromPreloadedConfig,\n  DEFAULTS,\n  ExperimentalSpecifierResolution,\n} from './index';\nimport type { TSInternal } from './ts-compiler-types';\nimport { addBuiltinLibsToObject } from '../dist-raw/node-internal-modules-cjs-helpers';\nimport { callInChild } from './child/spawn-child';\nimport { findAndReadConfig } from './configuration';\n\n/**\n * Main `bin` functionality.\n *\n * This file is split into a chain of functions (phases), each one adding to a shared state object.\n * This is done so that the next function can either be invoked in-process or, if necessary, invoked in a child process.\n *\n * The functions are intentionally given uncreative names and left in the same order as the original code, to make a\n * smaller git diff.\n *\n * @internal\n */\nexport function main(argv: string[] = process.argv.slice(2), entrypointArgs: Record<string, any> = {}) {\n  const args = parseArgv(argv, entrypointArgs);\n  const state: BootstrapState = {\n    shouldUseChildProcess: false,\n    isInChildProcess: false,\n    isCli: true,\n    tsNodeScript: __filename,\n    parseArgvResult: args,\n  };\n  return bootstrap(state);\n}\n\n/**\n * @internal\n * Describes state of CLI bootstrapping.\n * Can be marshalled when necessary to resume bootstrapping in a child process.\n */\nexport interface BootstrapState {\n  isInChildProcess: boolean;\n  shouldUseChildProcess: boolean;\n  /**\n   * True if bootstrapping the ts-node CLI process or the direct child necessitated by `--esm`.\n   * false if bootstrapping a subsequently `fork()`ed child.\n   */\n  isCli: boolean;\n  tsNodeScript: string;\n  parseArgvResult: ReturnType<typeof parseArgv>;\n  phase2Result?: ReturnType<typeof phase2>;\n  phase3Result?: ReturnType<typeof phase3>;\n}\n\n/** @internal */\nexport function bootstrap(state: BootstrapState) {\n  if (!state.phase2Result) {\n    state.phase2Result = phase2(state);\n    if (state.shouldUseChildProcess && !state.isInChildProcess) {\n      // Note: When transitioning into the child-process after `phase2`,\n      // the updated working directory needs to be preserved.\n      return callInChild(state);\n    }\n  }\n  if (!state.phase3Result) {\n    state.phase3Result = phase3(state);\n    if (state.shouldUseChildProcess && !state.isInChildProcess) {\n      // Note: When transitioning into the child-process after `phase2`,\n      // the updated working directory needs to be preserved.\n      return callInChild(state);\n    }\n  }\n  return phase4(state);\n}\n\nfunction parseArgv(argv: string[], entrypointArgs: Record<string, any>) {\n  arg ??= require('arg');\n\n  const args = {\n    ...entrypointArgs,\n    ...arg(\n      {\n        // Node.js-like options.\n        '--eval': String,\n        '--interactive': Boolean,\n        '--print': Boolean,\n        '--require': [String],\n\n        // CLI options.\n        '--help': Boolean,\n        '--cwdMode': Boolean,\n        '--scriptMode': Boolean,\n        '--version': arg.COUNT,\n        '--showConfig': Boolean,\n        '--esm': Boolean,\n\n        // Project options.\n        '--cwd': String,\n        '--files': Boolean,\n        '--compiler': String,\n        '--compilerOptions': parse,\n        '--project': String,\n        '--ignoreDiagnostics': [String],\n        '--ignore': [String],\n        '--transpileOnly': Boolean,\n        '--transpiler': String,\n        '--swc': Boolean,\n        '--typeCheck': Boolean,\n        '--compilerHost': Boolean,\n        '--pretty': Boolean,\n        '--skipProject': Boolean,\n        '--skipIgnore': Boolean,\n        '--preferTsExts': Boolean,\n        '--logError': Boolean,\n        '--emit': Boolean,\n        '--scope': Boolean,\n        '--scopeDir': String,\n        '--noExperimentalReplAwait': Boolean,\n        '--experimentalSpecifierResolution': String,\n\n        // Aliases.\n        '-e': '--eval',\n        '-i': '--interactive',\n        '-p': '--print',\n        '-r': '--require',\n        '-h': '--help',\n        '-s': '--script-mode',\n        '-v': '--version',\n        '-T': '--transpileOnly',\n        '-H': '--compilerHost',\n        '-I': '--ignore',\n        '-P': '--project',\n        '-C': '--compiler',\n        '-D': '--ignoreDiagnostics',\n        '-O': '--compilerOptions',\n        '--dir': '--cwd',\n\n        // Support both tsc-style camelCase and node-style hypen-case for *all* flags\n        '--cwd-mode': '--cwdMode',\n        '--script-mode': '--scriptMode',\n        '--show-config': '--showConfig',\n        '--compiler-options': '--compilerOptions',\n        '--ignore-diagnostics': '--ignoreDiagnostics',\n        '--transpile-only': '--transpileOnly',\n        '--type-check': '--typeCheck',\n        '--compiler-host': '--compilerHost',\n        '--skip-project': '--skipProject',\n        '--skip-ignore': '--skipIgnore',\n        '--prefer-ts-exts': '--preferTsExts',\n        '--log-error': '--logError',\n        '--scope-dir': '--scopeDir',\n        '--no-experimental-repl-await': '--noExperimentalReplAwait',\n        '--experimental-specifier-resolution': '--experimentalSpecifierResolution',\n      },\n      {\n        argv,\n        stopAtPositional: true,\n      }\n    ),\n  };\n\n  // Only setting defaults for CLI-specific flags\n  // Anything passed to `register()` can be `undefined`; `create()` will apply\n  // defaults.\n  const {\n    '--cwd': cwdArg,\n    '--help': help = false,\n    '--scriptMode': scriptMode,\n    '--cwdMode': cwdMode,\n    '--version': version = 0,\n    '--showConfig': showConfig,\n    '--require': argsRequire = [],\n    '--eval': code = undefined,\n    '--print': print = false,\n    '--interactive': interactive = false,\n    '--files': files,\n    '--compiler': compiler,\n    '--compilerOptions': compilerOptions,\n    '--project': project,\n    '--ignoreDiagnostics': ignoreDiagnostics,\n    '--ignore': ignore,\n    '--transpileOnly': transpileOnly,\n    '--typeCheck': typeCheck,\n    '--transpiler': transpiler,\n    '--swc': swc,\n    '--compilerHost': compilerHost,\n    '--pretty': pretty,\n    '--skipProject': skipProject,\n    '--skipIgnore': skipIgnore,\n    '--preferTsExts': preferTsExts,\n    '--logError': logError,\n    '--emit': emit,\n    '--scope': scope = undefined,\n    '--scopeDir': scopeDir = undefined,\n    '--noExperimentalReplAwait': noExperimentalReplAwait,\n    '--experimentalSpecifierResolution': experimentalSpecifierResolution,\n    '--esm': esm,\n    _: restArgs,\n  } = args;\n  return {\n    // Note: argv and restArgs may be overwritten by child process\n    argv: process.argv,\n    restArgs,\n\n    cwdArg,\n    help,\n    scriptMode,\n    cwdMode,\n    version,\n    showConfig,\n    argsRequire,\n    code,\n    print,\n    interactive,\n    files,\n    compiler,\n    compilerOptions,\n    project,\n    ignoreDiagnostics,\n    ignore,\n    transpileOnly,\n    typeCheck,\n    transpiler,\n    swc,\n    compilerHost,\n    pretty,\n    skipProject,\n    skipIgnore,\n    preferTsExts,\n    logError,\n    emit,\n    scope,\n    scopeDir,\n    noExperimentalReplAwait,\n    experimentalSpecifierResolution,\n    esm,\n  };\n}\n\nfunction phase2(payload: BootstrapState) {\n  const { help, version, cwdArg, esm } = payload.parseArgvResult;\n\n  if (help) {\n    console.log(`\nUsage: ts-node [options] [ -e script | script.ts ] [arguments]\n\nOptions:\n\n  -e, --eval [code]               Evaluate code\n  -p, --print                     Print result of \\`--eval\\`\n  -r, --require [path]            Require a node module before execution\n  -i, --interactive               Opens the REPL even if stdin does not appear to be a terminal\n\n  --esm                           Bootstrap with the ESM loader, enabling full ESM support\n  --swc                           Use the faster swc transpiler\n\n  -h, --help                      Print CLI usage\n  -v, --version                   Print module version information.  -vvv to print additional information\n  --showConfig                    Print resolved configuration and exit\n\n  -T, --transpileOnly             Use TypeScript's faster \\`transpileModule\\` or a third-party transpiler\n  -H, --compilerHost              Use TypeScript's compiler host API\n  -I, --ignore [pattern]          Override the path patterns to skip compilation\n  -P, --project [path]            Path to TypeScript JSON project file\n  -C, --compiler [name]           Specify a custom TypeScript compiler\n  --transpiler [name]             Specify a third-party, non-typechecking transpiler\n  -D, --ignoreDiagnostics [code]  Ignore TypeScript warnings by diagnostic code\n  -O, --compilerOptions [opts]    JSON object to merge with compiler options\n\n  --cwd                           Behave as if invoked within this working directory.\n  --files                         Load \\`files\\`, \\`include\\` and \\`exclude\\` from \\`tsconfig.json\\` on startup\n  --pretty                        Use pretty diagnostic formatter (usually enabled by default)\n  --cwdMode                       Use current directory instead of <script.ts> for config resolution\n  --skipProject                   Skip reading \\`tsconfig.json\\`\n  --skipIgnore                    Skip \\`--ignore\\` checks\n  --emit                          Emit output files into \\`.ts-node\\` directory\n  --scope                         Scope compiler to files within \\`scopeDir\\`.  Anything outside this directory is ignored.\n  --scopeDir                      Directory for \\`--scope\\`\n  --preferTsExts                  Prefer importing TypeScript files over JavaScript files\n  --logError                      Logs TypeScript errors to stderr instead of throwing exceptions\n  --noExperimentalReplAwait       Disable top-level await in REPL.  Equivalent to node's --no-experimental-repl-await\n  --experimentalSpecifierResolution [node|explicit]\n                                  Equivalent to node's --experimental-specifier-resolution\n`);\n\n    process.exit(0);\n  }\n\n  // Output project information.\n  if (version === 1) {\n    console.log(`v${VERSION}`);\n    process.exit(0);\n  }\n\n  const cwd = cwdArg ? resolve(cwdArg) : process.cwd();\n\n  // If ESM is explicitly enabled through the flag, stage3 should be run in a child process\n  // with the ESM loaders configured.\n  if (esm) payload.shouldUseChildProcess = true;\n\n  return {\n    cwd,\n  };\n}\n\nfunction phase3(payload: BootstrapState) {\n  const {\n    emit,\n    files,\n    pretty,\n    transpileOnly,\n    transpiler,\n    noExperimentalReplAwait,\n    typeCheck,\n    swc,\n    compilerHost,\n    ignore,\n    preferTsExts,\n    logError,\n    scriptMode,\n    cwdMode,\n    project,\n    skipProject,\n    skipIgnore,\n    compiler,\n    ignoreDiagnostics,\n    compilerOptions,\n    argsRequire,\n    scope,\n    scopeDir,\n    esm,\n    experimentalSpecifierResolution,\n  } = payload.parseArgvResult;\n  const { cwd } = payload.phase2Result!;\n\n  // NOTE: When we transition to a child process for ESM, the entry-point script determined\n  // here might not be the one used later in `phase4`. This can happen when we execute the\n  // original entry-point but then the process forks itself using e.g. `child_process.fork`.\n  // We will always use the original TS project in forked processes anyway, so it is\n  // expected and acceptable to retrieve the entry-point information here in `phase2`.\n  // See: https://github.com/TypeStrong/ts-node/issues/1812.\n  const { entryPointPath } = getEntryPointInfo(payload);\n\n  const preloadedConfig = findAndReadConfig({\n    cwd,\n    emit,\n    files,\n    pretty,\n    transpileOnly: transpileOnly ?? transpiler != null ? true : undefined,\n    experimentalReplAwait: noExperimentalReplAwait ? false : undefined,\n    typeCheck,\n    transpiler,\n    swc,\n    compilerHost,\n    ignore,\n    logError,\n    projectSearchDir: getProjectSearchDir(cwd, scriptMode, cwdMode, entryPointPath),\n    project,\n    skipProject,\n    skipIgnore,\n    compiler,\n    ignoreDiagnostics,\n    compilerOptions,\n    require: argsRequire,\n    scope,\n    scopeDir,\n    preferTsExts,\n    esm,\n    experimentalSpecifierResolution: experimentalSpecifierResolution as ExperimentalSpecifierResolution,\n  });\n\n  // If ESM is enabled through the parsed tsconfig, stage4 should be run in a child\n  // process with the ESM loaders configured.\n  if (preloadedConfig.options.esm) payload.shouldUseChildProcess = true;\n\n  return { preloadedConfig };\n}\n\n/**\n * Determines the entry-point information from the argv and phase2 result. This\n * method will be invoked in two places:\n *\n *   1. In phase 3 to be able to find a project from the potential entry-point script.\n *   2. In phase 4 to determine the actual entry-point script.\n *\n * Note that we need to explicitly re-resolve the entry-point information in the final\n * stage because the previous stage information could be modified when the bootstrap\n * invocation transitioned into a child process for ESM.\n *\n * Stages before (phase 4) can and will be cached by the child process through the Brotli\n * configuration and entry-point information is only reliable in the final phase. More\n * details can be found in here: https://github.com/TypeStrong/ts-node/issues/1812.\n */\nfunction getEntryPointInfo(state: BootstrapState) {\n  const { code, interactive, restArgs } = state.parseArgvResult!;\n  const { cwd } = state.phase2Result!;\n  const { isCli } = state;\n\n  // Figure out which we are executing: piped stdin, --eval, REPL, and/or entrypoint\n  // This is complicated because node's behavior is complicated\n  // `node -e code -i ./script.js` ignores -e\n  const executeEval = code != null && !(interactive && restArgs.length);\n  const executeEntrypoint = !executeEval && restArgs.length > 0;\n  const executeRepl = !executeEntrypoint && (interactive || (process.stdin.isTTY && !executeEval));\n  const executeStdin = !executeEval && !executeRepl && !executeEntrypoint;\n\n  /**\n   * Unresolved. May point to a symlink, not realpath. May be missing file extension\n   * NOTE: resolution relative to cwd option (not `process.cwd()`) is legacy backwards-compat; should be changed in next major: https://github.com/TypeStrong/ts-node/issues/1834\n   */\n  const entryPointPath = executeEntrypoint ? (isCli ? resolve(cwd, restArgs[0]) : resolve(restArgs[0])) : undefined;\n\n  return {\n    executeEval,\n    executeEntrypoint,\n    executeRepl,\n    executeStdin,\n    entryPointPath,\n  };\n}\n\nfunction phase4(payload: BootstrapState) {\n  const { isInChildProcess, tsNodeScript } = payload;\n  const { version, showConfig, restArgs, code, print, argv } = payload.parseArgvResult;\n  const { cwd } = payload.phase2Result!;\n  const { preloadedConfig } = payload.phase3Result!;\n\n  const { entryPointPath, executeEntrypoint, executeEval, executeRepl, executeStdin } = getEntryPointInfo(payload);\n\n  /**\n   * <repl>, [stdin], and [eval] are all essentially virtual files that do not exist on disc and are backed by a REPL\n   * service to handle eval-ing of code.\n   */\n  interface VirtualFileState {\n    state: EvalState;\n    repl: ReplService;\n    module?: Module;\n  }\n  let evalStuff: VirtualFileState | undefined;\n  let replStuff: VirtualFileState | undefined;\n  let stdinStuff: VirtualFileState | undefined;\n  let evalAwarePartialHost: EvalAwarePartialHost | undefined = undefined;\n  if (executeEval) {\n    const state = new EvalState(join(cwd, EVAL_FILENAME));\n    evalStuff = {\n      state,\n      repl: createRepl({\n        state,\n        composeWithEvalAwarePartialHost: evalAwarePartialHost,\n        ignoreDiagnosticsThatAreAnnoyingInInteractiveRepl: false,\n      }),\n    };\n    ({ evalAwarePartialHost } = evalStuff.repl);\n    // Create a local module instance based on `cwd`.\n    const module = (evalStuff.module = new Module(EVAL_NAME));\n    module.filename = evalStuff.state.path;\n    module.paths = (Module as any)._nodeModulePaths(cwd);\n  }\n  if (executeStdin) {\n    const state = new EvalState(join(cwd, STDIN_FILENAME));\n    stdinStuff = {\n      state,\n      repl: createRepl({\n        state,\n        composeWithEvalAwarePartialHost: evalAwarePartialHost,\n        ignoreDiagnosticsThatAreAnnoyingInInteractiveRepl: false,\n      }),\n    };\n    ({ evalAwarePartialHost } = stdinStuff.repl);\n    // Create a local module instance based on `cwd`.\n    const module = (stdinStuff.module = new Module(STDIN_NAME));\n    module.filename = stdinStuff.state.path;\n    module.paths = (Module as any)._nodeModulePaths(cwd);\n  }\n  if (executeRepl) {\n    // correct path is set later\n    const state = new EvalState('');\n    replStuff = {\n      state,\n      repl: createRepl({\n        state,\n        composeWithEvalAwarePartialHost: evalAwarePartialHost,\n      }),\n    };\n    ({ evalAwarePartialHost } = replStuff.repl);\n  }\n\n  // Register the TypeScript compiler instance.\n  const service = createFromPreloadedConfig({\n    // Since this struct may have been marshalled across thread or process boundaries, we must restore\n    // un-marshall-able values.\n    ...preloadedConfig,\n    options: {\n      ...preloadedConfig.options,\n      readFile: evalAwarePartialHost?.readFile ?? undefined,\n      fileExists: evalAwarePartialHost?.fileExists ?? undefined,\n      tsTrace: DEFAULTS.tsTrace,\n    },\n  });\n  register(service);\n\n  if (replStuff) replStuff.state.path = join(cwd, REPL_FILENAME(service.ts.version));\n\n  if (isInChildProcess)\n    (require('./child/child-loader') as typeof import('./child/child-loader')).lateBindHooks(createEsmHooks(service));\n\n  // Bind REPL service to ts-node compiler service (chicken-and-egg problem)\n  replStuff?.repl.setService(service);\n  evalStuff?.repl.setService(service);\n  stdinStuff?.repl.setService(service);\n\n  // Output project information.\n  if (version === 2) {\n    console.log(`ts-node v${VERSION}`);\n    console.log(`node ${process.version}`);\n    console.log(`compiler v${service.ts.version}`);\n    process.exit(0);\n  }\n  if (version >= 3) {\n    console.log(`ts-node v${VERSION} ${dirname(__dirname)}`);\n    console.log(`node ${process.version}`);\n    console.log(`compiler v${service.ts.version} ${service.compilerPath ?? ''}`);\n    process.exit(0);\n  }\n\n  if (showConfig) {\n    const ts = service.ts as any as TSInternal;\n    if (typeof ts.convertToTSConfig !== 'function') {\n      console.error('Error: --showConfig requires a typescript versions >=3.2 that support --showConfig');\n      process.exit(1);\n    }\n    let moduleTypes = undefined;\n    if (service.options.moduleTypes) {\n      // Assumption: this codepath requires CLI invocation, so moduleTypes must have come from a tsconfig, not API.\n      const showRelativeTo = dirname(service.configFilePath!);\n      moduleTypes = {} as Record<string, string>;\n      for (const [key, value] of Object.entries(service.options.moduleTypes)) {\n        moduleTypes[relative(showRelativeTo, resolve(service.options.optionBasePaths?.moduleTypes!, key))] = value;\n      }\n    }\n    const json = {\n      ['ts-node']: {\n        ...service.options,\n        require: service.options.require?.length ? service.options.require : undefined,\n        moduleTypes,\n        optionBasePaths: undefined,\n        compilerOptions: undefined,\n        project: service.configFilePath ?? service.options.project,\n      },\n      ...ts.convertToTSConfig(\n        service.config,\n        service.configFilePath ?? join(cwd, 'ts-node-implicit-tsconfig.json'),\n        service.ts.sys\n      ),\n    };\n    console.log(\n      // Assumes that all configuration options which can possibly be specified via the CLI are JSON-compatible.\n      // If, in the future, we must log functions, for example readFile and fileExists, then we can implement a JSON\n      // replacer function.\n      JSON.stringify(json, null, 2)\n    );\n    process.exit(0);\n  }\n\n  // Prepend `ts-node` arguments to CLI for child processes.\n  process.execArgv.push(tsNodeScript, ...argv.slice(2, argv.length - restArgs.length));\n\n  // TODO this comes from BootstrapState\n  process.argv = [process.argv[1]]\n    .concat(executeEntrypoint ? ([entryPointPath] as string[]) : [])\n    .concat(restArgs.slice(executeEntrypoint ? 1 : 0));\n\n  // Execute the main contents (either eval, script or piped).\n  if (executeEntrypoint) {\n    if (payload.isInChildProcess && versionGteLt(process.versions.node, '18.6.0', '18.7.0')) {\n      // HACK workaround node regression\n      require('../dist-raw/runmain-hack.js').run(entryPointPath);\n    } else {\n      Module.runMain();\n    }\n  } else {\n    // Note: eval and repl may both run, but never with stdin.\n    // If stdin runs, eval and repl will not.\n    if (executeEval) {\n      addBuiltinLibsToObject(global);\n      evalAndExitOnTsError(evalStuff!.repl, evalStuff!.module!, code!, print, 'eval');\n    }\n\n    if (executeRepl) {\n      replStuff!.repl.start();\n    }\n\n    if (executeStdin) {\n      let buffer = code || '';\n      process.stdin.on('data', (chunk: Buffer) => (buffer += chunk));\n      process.stdin.on('end', () => {\n        evalAndExitOnTsError(\n          stdinStuff!.repl,\n          stdinStuff!.module!,\n          buffer,\n          // `echo 123 | node -p` still prints 123\n          print,\n          'stdin'\n        );\n      });\n    }\n  }\n}\n\n/**\n * Get project search path from args.\n */\nfunction getProjectSearchDir(cwd?: string, scriptMode?: boolean, cwdMode?: boolean, scriptPath?: string) {\n  // Validate `--script-mode` / `--cwd-mode` / `--cwd` usage is correct.\n  if (scriptMode && cwdMode) {\n    throw new TypeError('--cwd-mode cannot be combined with --script-mode');\n  }\n  if (scriptMode && !scriptPath) {\n    throw new TypeError('--script-mode must be used with a script name, e.g. `ts-node --script-mode <script.ts>`');\n  }\n  const doScriptMode = scriptMode === true ? true : cwdMode === true ? false : !!scriptPath;\n  if (doScriptMode) {\n    // Use node's own resolution behavior to ensure we follow symlinks.\n    // scriptPath may omit file extension or point to a directory with or without package.json.\n    // This happens before we are registered, so we tell node's resolver to consider ts, tsx, and jsx files.\n    // In extremely rare cases, is is technically possible to resolve the wrong directory,\n    // because we do not yet know preferTsExts, jsx, nor allowJs.\n    // See also, justification why this will not happen in real-world situations:\n    // https://github.com/TypeStrong/ts-node/pull/1009#issuecomment-613017081\n    const exts = ['.js', '.jsx', '.ts', '.tsx'];\n    const extsTemporarilyInstalled: string[] = [];\n    for (const ext of exts) {\n      if (!hasOwnProperty(require.extensions, ext)) {\n        extsTemporarilyInstalled.push(ext);\n        require.extensions[ext] = function () {};\n      }\n    }\n    try {\n      return dirname(requireResolveNonCached(scriptPath!));\n    } finally {\n      for (const ext of extsTemporarilyInstalled) {\n        delete require.extensions[ext];\n      }\n    }\n  }\n\n  return cwd;\n}\n\nconst guaranteedNonexistentDirectoryPrefix = resolve(__dirname, 'doesnotexist');\nlet guaranteedNonexistentDirectorySuffix = 0;\n\n/**\n * require.resolve an absolute path, tricking node into *not* caching the results.\n * Necessary so that we do not pollute require.resolve cache prior to installing require.extensions\n *\n * Is a terrible hack, because node does not expose the necessary cache invalidation APIs\n * https://stackoverflow.com/questions/59865584/how-to-invalidate-cached-require-resolve-results\n */\nfunction requireResolveNonCached(absoluteModuleSpecifier: string) {\n  const { dir, base } = parsePath(absoluteModuleSpecifier);\n  const relativeModuleSpecifier = `./${base}`;\n\n  const req = Module.createRequire(join(dir, 'imaginaryUncacheableRequireResolveScript'));\n  return req.resolve(relativeModuleSpecifier, {\n    paths: [\n      `${guaranteedNonexistentDirectoryPrefix}${guaranteedNonexistentDirectorySuffix++}`,\n      ...(req.resolve.paths(relativeModuleSpecifier) || []),\n    ],\n  });\n}\n\n/**\n * Evaluate an [eval] or [stdin] script\n */\nfunction evalAndExitOnTsError(\n  replService: ReplService,\n  module: Module,\n  code: string,\n  isPrinted: boolean,\n  filenameAndDirname: 'eval' | 'stdin'\n) {\n  let result: any;\n  setupContext(global, module, filenameAndDirname);\n\n  try {\n    result = replService.evalCode(code);\n  } catch (error) {\n    if (error instanceof TSError) {\n      console.error(error);\n      process.exit(1);\n    }\n\n    throw error;\n  }\n\n  if (isPrinted) {\n    console.log(typeof result === 'string' ? result : inspect(result, { colors: process.stdout.isTTY }));\n  }\n}\n\nif (require.main === module) {\n  main();\n}\n"
  },
  {
    "path": "src/child/argv-payload.ts",
    "content": "import { brotliCompressSync, brotliDecompressSync, constants } from 'zlib';\n\n/** @internal */\nexport const argPrefix = '--brotli-base64-config=';\n\n/** @internal */\nexport function compress(object: any) {\n  return brotliCompressSync(Buffer.from(JSON.stringify(object), 'utf8'), {\n    [constants.BROTLI_PARAM_QUALITY]: constants.BROTLI_MIN_QUALITY,\n  }).toString('base64');\n}\n\n/** @internal */\nexport function decompress(str: string) {\n  return JSON.parse(brotliDecompressSync(Buffer.from(str, 'base64')).toString());\n}\n"
  },
  {
    "path": "src/child/child-entrypoint.ts",
    "content": "import { BootstrapState, bootstrap } from '../bin';\nimport { argPrefix, compress, decompress } from './argv-payload';\n\nconst base64ConfigArg = process.argv[2];\nif (!base64ConfigArg.startsWith(argPrefix)) throw new Error('unexpected argv');\nconst base64Payload = base64ConfigArg.slice(argPrefix.length);\nconst state = decompress(base64Payload) as BootstrapState;\n\nstate.isInChildProcess = true;\nstate.tsNodeScript = __filename;\nstate.parseArgvResult.argv = process.argv;\nstate.parseArgvResult.restArgs = process.argv.slice(3);\n\n// Modify and re-compress the payload delivered to subsequent child processes.\n// This logic may be refactored into bin.ts by https://github.com/TypeStrong/ts-node/issues/1831\nif (state.isCli) {\n  const stateForChildren: BootstrapState = {\n    ...state,\n    isCli: false,\n  };\n  state.parseArgvResult.argv[2] = `${argPrefix}${compress(stateForChildren)}`;\n}\n\nbootstrap(state);\n"
  },
  {
    "path": "src/child/child-loader.ts",
    "content": "import type { NodeLoaderHooksAPI1, NodeLoaderHooksAPI2 } from '..';\nimport { filterHooksByAPIVersion } from '../esm';\n\nlet hooks: NodeLoaderHooksAPI1 & NodeLoaderHooksAPI2;\n\n/** @internal */\nexport function lateBindHooks(_hooks: NodeLoaderHooksAPI1 | NodeLoaderHooksAPI2) {\n  hooks = _hooks as NodeLoaderHooksAPI1 & NodeLoaderHooksAPI2;\n}\n\nconst proxy: NodeLoaderHooksAPI1 & NodeLoaderHooksAPI2 = {\n  resolve(...args: Parameters<NodeLoaderHooksAPI1['resolve']>) {\n    return (hooks?.resolve ?? args[2])(...args);\n  },\n  load(...args: Parameters<NodeLoaderHooksAPI2['load']>) {\n    return (hooks?.load ?? args[2])(...args);\n  },\n  getFormat(...args: Parameters<NodeLoaderHooksAPI1['getFormat']>) {\n    return (hooks?.getFormat ?? args[2])(...args);\n  },\n  transformSource(...args: Parameters<NodeLoaderHooksAPI1['transformSource']>) {\n    return (hooks?.transformSource ?? args[2])(...args);\n  },\n};\n\n/** @internal */\nexport const { resolve, load, getFormat, transformSource } = filterHooksByAPIVersion(proxy) as NodeLoaderHooksAPI1 &\n  NodeLoaderHooksAPI2;\n"
  },
  {
    "path": "src/child/child-require.ts",
    "content": "interface EventEmitterInternals {\n  _events: Record<string, Function | Array<Function>>;\n}\nconst _process = process as any as EventEmitterInternals;\n\n// Not shown here: Additional logic to correctly interact with process's events, either using this direct manipulation, or via the API\n\nlet originalOnWarning: Function | undefined;\nif (Array.isArray(_process._events.warning)) {\n  originalOnWarning = _process._events.warning[0];\n  _process._events.warning[0] = onWarning;\n} else {\n  originalOnWarning = _process._events.warning;\n  _process._events.warning = onWarning;\n}\n\nconst messageMatch = /(?:--(?:experimental-)?loader\\b|\\bCustom ESM Loaders\\b)/;\nfunction onWarning(this: any, warning: Error, ...rest: any[]) {\n  // Suppress warning about how `--loader` is experimental\n  if (warning?.name === 'ExperimentalWarning' && messageMatch.test(warning?.message)) return;\n  // Will be undefined if `--no-warnings`\n  return originalOnWarning?.call(this, warning, ...rest);\n}\n"
  },
  {
    "path": "src/child/spawn-child.ts",
    "content": "import type { BootstrapState } from '../bin';\nimport { spawn } from 'child_process';\nimport { pathToFileURL } from 'url';\nimport { argPrefix, compress } from './argv-payload';\n\n/**\n * @internal\n * @param state Bootstrap state to be transferred into the child process.\n * @param targetCwd Working directory to be preserved when transitioning to\n *   the child process.\n */\nexport function callInChild(state: BootstrapState) {\n  const child = spawn(\n    process.execPath,\n    [\n      '--require',\n      require.resolve('./child-require.js'),\n      '--loader',\n      // Node on Windows doesn't like `c:\\` absolute paths here; must be `file:///c:/`\n      pathToFileURL(require.resolve('../../child-loader.mjs')).toString(),\n      require.resolve('./child-entrypoint.js'),\n      `${argPrefix}${compress(state)}`,\n      ...state.parseArgvResult.restArgs,\n    ],\n    {\n      stdio: 'inherit',\n      argv0: process.argv0,\n    }\n  );\n  child.on('error', (error) => {\n    console.error(error);\n    process.exit(1);\n  });\n  child.on('exit', (code) => {\n    child.removeAllListeners();\n    process.off('SIGINT', sendSignalToChild);\n    process.off('SIGTERM', sendSignalToChild);\n    process.exitCode = code === null ? 1 : code;\n  });\n  // Ignore sigint and sigterm in parent; pass them to child\n  process.on('SIGINT', sendSignalToChild);\n  process.on('SIGTERM', sendSignalToChild);\n  function sendSignalToChild(signal: string) {\n    process.kill(child.pid, signal);\n  }\n}\n"
  },
  {
    "path": "src/cjs-resolve-hooks.ts",
    "content": "import type Module = require('module');\nimport type { Service } from '.';\n\n/** @internal */\nexport type ModuleConstructorWithInternals = typeof Module & {\n  _resolveFilename(\n    request: string,\n    parent?: Module,\n    isMain?: boolean,\n    options?: ModuleResolveFilenameOptions,\n    ...rest: any[]\n  ): string;\n  _preloadModules(requests?: string[]): void;\n  _findPath(request: string, paths: string[], isMain: boolean): string;\n};\n\ninterface ModuleResolveFilenameOptions {\n  paths?: Array<string>;\n}\n\n/**\n * @internal\n */\nexport function installCommonjsResolveHooksIfNecessary(tsNodeService: Service) {\n  const Module = require('module') as ModuleConstructorWithInternals;\n  const originalResolveFilename = Module._resolveFilename;\n  const originalFindPath = Module._findPath;\n  const shouldInstallHook = tsNodeService.options.experimentalResolver;\n  if (shouldInstallHook) {\n    const { Module_findPath, Module_resolveFilename } = tsNodeService.getNodeCjsLoader();\n    Module._resolveFilename = _resolveFilename;\n    Module._findPath = _findPath;\n    function _resolveFilename(\n      this: any,\n      request: string,\n      parent?: Module,\n      isMain?: boolean,\n      options?: ModuleResolveFilenameOptions,\n      ...rest: []\n    ): string {\n      if (!tsNodeService.enabled())\n        return originalResolveFilename.call(this, request, parent, isMain, options, ...rest);\n\n      return Module_resolveFilename.call(this, request, parent, isMain, options, ...rest);\n    }\n    function _findPath(this: any): string {\n      if (!tsNodeService.enabled()) return originalFindPath.apply(this, arguments as any);\n      return Module_findPath.apply(this, arguments as any);\n    }\n  }\n}\n"
  },
  {
    "path": "src/configuration.ts",
    "content": "import { resolve, dirname, join } from 'path';\nimport type * as _ts from 'typescript';\nimport { CreateOptions, DEFAULTS, OptionBasePaths, RegisterOptions, TSCommon, TsConfigOptions } from './index';\nimport type { TSInternal } from './ts-compiler-types';\nimport { createTsInternals } from './ts-internals';\nimport { getDefaultTsconfigJsonForNodeVersion } from './tsconfigs';\nimport {\n  assign,\n  attemptRequireWithV8CompileCache,\n  createProjectLocalResolveHelper,\n  getBasePathForProjectLocalDependencyResolution,\n} from './util';\n\n/**\n * TypeScript compiler option values required by `ts-node` which cannot be overridden.\n */\nconst TS_NODE_COMPILER_OPTIONS = {\n  sourceMap: true,\n  inlineSourceMap: false,\n  inlineSources: true,\n  declaration: false,\n  noEmit: false,\n  outDir: '.ts-node',\n};\n\n/*\n * Do post-processing on config options to support `ts-node`.\n */\nfunction fixConfig(ts: TSCommon, config: _ts.ParsedCommandLine) {\n  // Delete options that *should not* be passed through.\n  delete config.options.out;\n  delete config.options.outFile;\n  delete config.options.composite;\n  delete config.options.declarationDir;\n  delete config.options.declarationMap;\n  delete config.options.emitDeclarationOnly;\n\n  // Target ES5 output by default (instead of ES3).\n  if (config.options.target === undefined) {\n    config.options.target = ts.ScriptTarget.ES5;\n  }\n\n  // Target CommonJS modules by default (instead of magically switching to ES6 when the target is ES6).\n  if (config.options.module === undefined) {\n    config.options.module = ts.ModuleKind.CommonJS;\n  }\n\n  return config;\n}\n\n/** @internal */\nexport function findAndReadConfig(rawOptions: CreateOptions) {\n  const cwd = resolve(rawOptions.cwd ?? rawOptions.dir ?? DEFAULTS.cwd ?? process.cwd());\n  const compilerName = rawOptions.compiler ?? DEFAULTS.compiler;\n\n  // Compute minimum options to read the config file.\n  let projectLocalResolveDir = getBasePathForProjectLocalDependencyResolution(\n    undefined,\n    rawOptions.projectSearchDir,\n    rawOptions.project,\n    cwd\n  );\n  let { compiler, ts } = resolveAndLoadCompiler(compilerName, projectLocalResolveDir);\n\n  // Read config file and merge new options between env and CLI options.\n  const { configFilePath, config, tsNodeOptionsFromTsconfig, optionBasePaths } = readConfig(cwd, ts, rawOptions);\n\n  const options = assign<RegisterOptions>(\n    {},\n    DEFAULTS,\n    tsNodeOptionsFromTsconfig || {},\n    { optionBasePaths },\n    rawOptions\n  );\n  options.require = [...(tsNodeOptionsFromTsconfig.require || []), ...(rawOptions.require || [])];\n\n  // Re-resolve the compiler in case it has changed.\n  // Compiler is loaded relative to tsconfig.json, so tsconfig discovery may cause us to load a\n  // different compiler than we did above, even if the name has not changed.\n  if (configFilePath) {\n    projectLocalResolveDir = getBasePathForProjectLocalDependencyResolution(\n      configFilePath,\n      rawOptions.projectSearchDir,\n      rawOptions.project,\n      cwd\n    );\n    ({ compiler } = resolveCompiler(options.compiler, optionBasePaths.compiler ?? projectLocalResolveDir));\n  }\n\n  return {\n    options,\n    config,\n    projectLocalResolveDir,\n    optionBasePaths,\n    configFilePath,\n    cwd,\n    compiler,\n  };\n}\n\n/**\n * Load TypeScript configuration. Returns the parsed TypeScript config and\n * any `ts-node` options specified in the config file.\n *\n * Even when a tsconfig.json is not loaded, this function still handles merging\n * compilerOptions from various sources: API, environment variables, etc.\n *\n * @internal\n */\nexport function readConfig(\n  cwd: string,\n  ts: TSCommon,\n  rawApiOptions: CreateOptions\n): {\n  /**\n   * Path of tsconfig file if one was loaded\n   */\n  configFilePath: string | undefined;\n  /**\n   * Parsed TypeScript configuration with compilerOptions merged from all other sources (env vars, etc)\n   */\n  config: _ts.ParsedCommandLine;\n  /**\n   * ts-node options pulled from `tsconfig.json`, NOT merged with any other sources.  Merging must happen outside\n   * this function.\n   */\n  tsNodeOptionsFromTsconfig: TsConfigOptions;\n  optionBasePaths: OptionBasePaths;\n} {\n  // Ordered [a, b, c] where config a extends b extends c\n  const configChain: Array<{\n    config: any;\n    basePath: string;\n    configPath: string;\n  }> = [];\n  let config: any = { compilerOptions: {} };\n  let basePath = cwd;\n  let rootConfigPath: string | undefined = undefined;\n  const projectSearchDir = resolve(cwd, rawApiOptions.projectSearchDir ?? cwd);\n\n  const {\n    fileExists = ts.sys.fileExists,\n    readFile = ts.sys.readFile,\n    skipProject = DEFAULTS.skipProject,\n    project = DEFAULTS.project,\n    tsTrace = DEFAULTS.tsTrace,\n  } = rawApiOptions;\n\n  // Read project configuration when available.\n  if (!skipProject) {\n    if (project) {\n      const resolved = resolve(cwd, project);\n      const nested = join(resolved, 'tsconfig.json');\n      rootConfigPath = fileExists(nested) ? nested : resolved;\n    } else {\n      rootConfigPath = ts.findConfigFile(projectSearchDir, fileExists);\n    }\n\n    if (rootConfigPath) {\n      // If root extends [a, c] and a extends b, c extends d, then this array will look like:\n      // [root, c, d, a, b]\n      let configPaths = [rootConfigPath];\n      const tsInternals = createTsInternals(ts);\n      const errors: Array<_ts.Diagnostic> = [];\n\n      // Follow chain of \"extends\"\n      for (let configPathIndex = 0; configPathIndex < configPaths.length; configPathIndex++) {\n        const configPath = configPaths[configPathIndex];\n        const result = ts.readConfigFile(configPath, readFile);\n\n        // Return diagnostics.\n        if (result.error) {\n          return {\n            configFilePath: rootConfigPath,\n            config: { errors: [result.error], fileNames: [], options: {} },\n            tsNodeOptionsFromTsconfig: {},\n            optionBasePaths: {},\n          };\n        }\n\n        const c = result.config;\n        const bp = dirname(configPath);\n        configChain.push({\n          config: c,\n          basePath: bp,\n          configPath: configPath,\n        });\n\n        if (c.extends == null) continue;\n        const extendsArray = Array.isArray(c.extends) ? c.extends : [c.extends];\n        for (const e of extendsArray) {\n          const resolvedExtendedConfigPath = tsInternals.getExtendsConfigPath(\n            e,\n            {\n              fileExists,\n              readDirectory: ts.sys.readDirectory,\n              readFile,\n              useCaseSensitiveFileNames: ts.sys.useCaseSensitiveFileNames,\n              trace: tsTrace,\n            },\n            bp,\n            errors,\n            (ts as unknown as TSInternal).createCompilerDiagnostic\n          );\n          if (errors.length) {\n            return {\n              configFilePath: rootConfigPath,\n              config: { errors, fileNames: [], options: {} },\n              tsNodeOptionsFromTsconfig: {},\n              optionBasePaths: {},\n            };\n          }\n          if (resolvedExtendedConfigPath != null) {\n            // Tricky! If \"extends\" array is [a, c] then this will splice them into this order:\n            // [root, c, a]\n            // This is what we want.\n            configPaths.splice(configPathIndex + 1, 0, resolvedExtendedConfigPath);\n          }\n        }\n      }\n\n      ({ config, basePath } = configChain[0]);\n    }\n  }\n\n  // Merge and fix ts-node options that come from tsconfig.json(s)\n  const tsNodeOptionsFromTsconfig: TsConfigOptions = {};\n  const optionBasePaths: OptionBasePaths = {};\n  for (let i = configChain.length - 1; i >= 0; i--) {\n    const { config, basePath, configPath } = configChain[i];\n    const options = filterRecognizedTsConfigTsNodeOptions(config['ts-node']).recognized;\n\n    // Some options are relative to the config file, so must be converted to absolute paths here\n    if (options.require) {\n      // Modules are found relative to the tsconfig file, not the `dir` option\n      const tsconfigRelativeResolver = createProjectLocalResolveHelper(dirname(configPath));\n      options.require = options.require.map((path: string) => tsconfigRelativeResolver(path, false));\n    }\n    if (options.scopeDir) {\n      options.scopeDir = resolve(basePath, options.scopeDir!);\n    }\n\n    // Downstream code uses the basePath; we do not do that here.\n    if (options.moduleTypes) {\n      optionBasePaths.moduleTypes = basePath;\n    }\n    if (options.transpiler != null) {\n      optionBasePaths.transpiler = basePath;\n    }\n    if (options.compiler != null) {\n      optionBasePaths.compiler = basePath;\n    }\n    if (options.swc != null) {\n      optionBasePaths.swc = basePath;\n    }\n\n    assign(tsNodeOptionsFromTsconfig, options);\n  }\n\n  // Remove resolution of \"files\".\n  const files = rawApiOptions.files ?? tsNodeOptionsFromTsconfig.files ?? DEFAULTS.files;\n\n  // Only if a config file is *not* loaded, load an implicit configuration from @tsconfig/bases\n  const skipDefaultCompilerOptions = rootConfigPath != null;\n  const defaultCompilerOptionsForNodeVersion = skipDefaultCompilerOptions\n    ? undefined\n    : {\n        ...getDefaultTsconfigJsonForNodeVersion(ts).compilerOptions,\n        types: ['node'],\n      };\n\n  // Merge compilerOptions from all sources\n  config.compilerOptions = Object.assign(\n    {},\n    // automatically-applied options from @tsconfig/bases\n    defaultCompilerOptionsForNodeVersion,\n    // tsconfig.json \"compilerOptions\"\n    config.compilerOptions,\n    // from env var\n    DEFAULTS.compilerOptions,\n    // tsconfig.json \"ts-node\": \"compilerOptions\"\n    tsNodeOptionsFromTsconfig.compilerOptions,\n    // passed programmatically\n    rawApiOptions.compilerOptions,\n    // overrides required by ts-node, cannot be changed\n    TS_NODE_COMPILER_OPTIONS\n  );\n\n  const fixedConfig = fixConfig(\n    ts,\n    ts.parseJsonConfigFileContent(\n      config,\n      {\n        fileExists,\n        readFile,\n        // Only used for globbing \"files\", \"include\", \"exclude\"\n        // When `files` option disabled, we want to avoid the fs calls\n        readDirectory: files ? ts.sys.readDirectory : () => [],\n        useCaseSensitiveFileNames: ts.sys.useCaseSensitiveFileNames,\n      },\n      basePath,\n      undefined,\n      rootConfigPath\n    )\n  );\n\n  return {\n    configFilePath: rootConfigPath,\n    config: fixedConfig,\n    tsNodeOptionsFromTsconfig,\n    optionBasePaths,\n  };\n}\n\n/**\n * Load the typescript compiler. It is required to load the tsconfig but might\n * be changed by the tsconfig, so we have to do this twice.\n * @internal\n */\nexport function resolveAndLoadCompiler(name: string | undefined, relativeToPath: string) {\n  const { compiler } = resolveCompiler(name, relativeToPath);\n  const ts = loadCompiler(compiler);\n  return { compiler, ts };\n}\n\nfunction resolveCompiler(name: string | undefined, relativeToPath: string) {\n  const projectLocalResolveHelper = createProjectLocalResolveHelper(relativeToPath);\n  const compiler = projectLocalResolveHelper(name || 'typescript', true);\n  return { compiler };\n}\n\n/** @internal */\nexport function loadCompiler(compiler: string): TSCommon {\n  return attemptRequireWithV8CompileCache(require, compiler);\n}\n\n/**\n * Given the raw \"ts-node\" sub-object from a tsconfig, return an object with only the properties\n * recognized by \"ts-node\"\n */\nfunction filterRecognizedTsConfigTsNodeOptions(jsonObject: any): {\n  recognized: TsConfigOptions;\n  unrecognized: any;\n} {\n  if (jsonObject == null) return { recognized: {}, unrecognized: {} };\n  const {\n    compiler,\n    compilerHost,\n    compilerOptions,\n    emit,\n    files,\n    ignore,\n    ignoreDiagnostics,\n    logError,\n    preferTsExts,\n    pretty,\n    require,\n    skipIgnore,\n    transpileOnly,\n    typeCheck,\n    transpiler,\n    scope,\n    scopeDir,\n    moduleTypes,\n    experimentalReplAwait,\n    swc,\n    experimentalResolver,\n    esm,\n    experimentalSpecifierResolution,\n    experimentalTsImportSpecifiers,\n    ...unrecognized\n  } = jsonObject as TsConfigOptions;\n  const filteredTsConfigOptions = {\n    compiler,\n    compilerHost,\n    compilerOptions,\n    emit,\n    experimentalReplAwait,\n    files,\n    ignore,\n    ignoreDiagnostics,\n    logError,\n    preferTsExts,\n    pretty,\n    require,\n    skipIgnore,\n    transpileOnly,\n    typeCheck,\n    transpiler,\n    scope,\n    scopeDir,\n    moduleTypes,\n    swc,\n    experimentalResolver,\n    esm,\n    experimentalSpecifierResolution,\n    experimentalTsImportSpecifiers,\n  };\n  // Use the typechecker to make sure this implementation has the correct set of properties\n  const catchExtraneousProps: keyof TsConfigOptions = null as any as keyof typeof filteredTsConfigOptions;\n  const catchMissingProps: keyof typeof filteredTsConfigOptions = null as any as keyof TsConfigOptions;\n  return { recognized: filteredTsConfigOptions, unrecognized };\n}\n\n/** @internal */\nexport const ComputeAsCommonRootOfFiles = Symbol();\n\n/**\n * Some TS compiler options have defaults which are not provided by TS's config parsing functions.\n * This function centralizes the logic for computing those defaults.\n * @internal\n */\nexport function getTsConfigDefaults(\n  config: _ts.ParsedCommandLine,\n  basePath: string,\n  _files: string[] | undefined,\n  _include: string[] | undefined,\n  _exclude: string[] | undefined\n) {\n  const { composite = false } = config.options;\n  let rootDir: string | typeof ComputeAsCommonRootOfFiles = config.options.rootDir!;\n  if (rootDir == null) {\n    if (composite) rootDir = basePath;\n    // Return this symbol to avoid computing from `files`, which would require fs calls\n    else rootDir = ComputeAsCommonRootOfFiles;\n  }\n  const { outDir = rootDir } = config.options;\n  // Docs are wrong: https://www.typescriptlang.org/tsconfig#include\n  // Docs say **, but it's actually **/*; compiler throws error for **\n  const include = _files ? [] : ['**/*'];\n  const files = _files ?? [];\n  // Docs are misleading: https://www.typescriptlang.org/tsconfig#exclude\n  // Docs say it excludes node_modules, bower_components, jspm_packages, but actually those are excluded via behavior of \"include\"\n  const exclude = _exclude ?? [outDir]; // TODO technically, outDir is absolute path, but exclude should be relative glob pattern?\n\n  // TODO compute baseUrl\n\n  return { rootDir, outDir, include, files, exclude, composite };\n}\n"
  },
  {
    "path": "src/esm.ts",
    "content": "import { register, RegisterOptions, Service } from './index';\nimport { parse as parseUrl, format as formatUrl, UrlWithStringQuery, fileURLToPath, pathToFileURL } from 'url';\nimport { extname, resolve as pathResolve } from 'path';\nimport * as assert from 'assert';\nimport { normalizeSlashes, versionGteLt } from './util';\nimport { createRequire } from 'module';\n\n// Note: On Windows, URLs look like this: file:///D:/dev/@TypeStrong/ts-node-examples/foo.ts\n\n// NOTE ABOUT MULTIPLE EXPERIMENTAL LOADER APIS\n//\n// At the time of writing, this file implements 2x different loader APIs.\n// Node made a breaking change to the loader API in https://github.com/nodejs/node/pull/37468\n//\n// We check the node version number and export either the *old* or the *new* API.\n//\n// Today, we are implementing the *new* API on top of our implementation of the *old* API,\n// which relies on copy-pasted code from the *old* hooks implementation in node.\n//\n// In the future, we will likely invert this: we will copy-paste the *new* API implementation\n// from node, build our implementation of the *new* API on top of it, and implement the *old*\n// hooks API as a shim to the *new* API.\n\nexport interface NodeLoaderHooksAPI1 {\n  resolve: NodeLoaderHooksAPI1.ResolveHook;\n  getFormat: NodeLoaderHooksAPI1.GetFormatHook;\n  transformSource: NodeLoaderHooksAPI1.TransformSourceHook;\n}\nexport namespace NodeLoaderHooksAPI1 {\n  export type ResolveHook = NodeLoaderHooksAPI2.ResolveHook;\n  export type GetFormatHook = (\n    url: string,\n    context: {},\n    defaultGetFormat: GetFormatHook\n  ) => Promise<{ format: NodeLoaderHooksFormat }>;\n  export type TransformSourceHook = (\n    source: string | Buffer,\n    context: { url: string; format: NodeLoaderHooksFormat },\n    defaultTransformSource: NodeLoaderHooksAPI1.TransformSourceHook\n  ) => Promise<{ source: string | Buffer }>;\n}\n\nexport interface NodeLoaderHooksAPI2 {\n  resolve: NodeLoaderHooksAPI2.ResolveHook;\n  load: NodeLoaderHooksAPI2.LoadHook;\n}\nexport namespace NodeLoaderHooksAPI2 {\n  export type ResolveHook = (\n    specifier: string,\n    context: {\n      conditions?: NodeImportConditions;\n      importAssertions?: NodeImportAssertions;\n      parentURL: string;\n    },\n    defaultResolve: ResolveHook\n  ) => Promise<{\n    url: string;\n    format?: NodeLoaderHooksFormat;\n    shortCircuit?: boolean;\n  }>;\n  export type LoadHook = (\n    url: string,\n    context: {\n      format: NodeLoaderHooksFormat | null | undefined;\n      importAssertions?: NodeImportAssertions;\n    },\n    defaultLoad: NodeLoaderHooksAPI2['load']\n  ) => Promise<{\n    format: NodeLoaderHooksFormat;\n    source: string | Buffer | undefined;\n    shortCircuit?: boolean;\n  }>;\n  export type NodeImportConditions = unknown;\n  export interface NodeImportAssertions {\n    type?: 'json';\n  }\n}\n\nexport type NodeLoaderHooksFormat = 'builtin' | 'commonjs' | 'dynamic' | 'json' | 'module' | 'wasm';\n\nexport type NodeImportConditions = unknown;\nexport interface NodeImportAssertions {\n  type?: 'json';\n}\n\n// The hooks API changed in node version X so we need to check for backwards compatibility.\nconst newHooksAPI = versionGteLt(process.versions.node, '16.12.0');\n\n/** @internal */\nexport function filterHooksByAPIVersion(\n  hooks: NodeLoaderHooksAPI1 & NodeLoaderHooksAPI2\n): NodeLoaderHooksAPI1 | NodeLoaderHooksAPI2 {\n  const { getFormat, load, resolve, transformSource } = hooks;\n  // Explicit return type to avoid TS's non-ideal inferred type\n  const hooksAPI: NodeLoaderHooksAPI1 | NodeLoaderHooksAPI2 = newHooksAPI\n    ? { resolve, load, getFormat: undefined, transformSource: undefined }\n    : { resolve, getFormat, transformSource, load: undefined };\n  return hooksAPI;\n}\n\n/** @internal */\nexport function registerAndCreateEsmHooks(opts?: RegisterOptions) {\n  // Automatically performs registration just like `-r ts-node/register`\n  const tsNodeInstance = register(opts);\n\n  return createEsmHooks(tsNodeInstance);\n}\n\nexport function createEsmHooks(tsNodeService: Service) {\n  // Custom implementation that considers additional file extensions and automatically adds file extensions\n  const nodeResolveImplementation = tsNodeService.getNodeEsmResolver();\n  const nodeGetFormatImplementation = tsNodeService.getNodeEsmGetFormat();\n  const extensions = tsNodeService.extensions;\n\n  const hooksAPI = filterHooksByAPIVersion({\n    resolve,\n    load,\n    getFormat,\n    transformSource,\n  });\n\n  function isFileUrlOrNodeStyleSpecifier(parsed: UrlWithStringQuery) {\n    // We only understand file:// URLs, but in node, the specifier can be a node-style `./foo` or `foo`\n    const { protocol } = parsed;\n    return protocol === null || protocol === 'file:';\n  }\n\n  const runMainHackUrl = pathToFileURL(pathResolve(__dirname, '../dist-raw/runmain-hack.js')).toString();\n\n  /**\n   * Named \"probably\" as a reminder that this is a guess.\n   * node does not explicitly tell us if we're resolving the entrypoint or not.\n   */\n  function isProbablyEntrypoint(specifier: string, parentURL: string) {\n    return (parentURL === undefined || parentURL === runMainHackUrl) && specifier.startsWith('file://');\n  }\n  // Side-channel between `resolve()` and `load()` hooks\n  const rememberIsProbablyEntrypoint = new Set();\n  const rememberResolvedViaCommonjsFallback = new Set();\n\n  async function resolve(\n    specifier: string,\n    context: { parentURL: string },\n    defaultResolve: typeof resolve\n  ): Promise<{ url: string; format?: NodeLoaderHooksFormat }> {\n    const defer = async () => {\n      const r = await defaultResolve(specifier, context, defaultResolve);\n      return r;\n    };\n    // See: https://github.com/nodejs/node/discussions/41711\n    // nodejs will likely implement a similar fallback.  Till then, we can do our users a favor and fallback today.\n    async function entrypointFallback(\n      cb: () => ReturnType<typeof resolve> | Awaited<ReturnType<typeof resolve>>\n    ): ReturnType<typeof resolve> {\n      try {\n        const resolution = await cb();\n        if (resolution?.url && isProbablyEntrypoint(specifier, context.parentURL))\n          rememberIsProbablyEntrypoint.add(resolution.url);\n        return resolution;\n      } catch (esmResolverError) {\n        if (!isProbablyEntrypoint(specifier, context.parentURL)) throw esmResolverError;\n        try {\n          let cjsSpecifier = specifier;\n          // Attempt to convert from ESM file:// to CommonJS path\n          try {\n            if (specifier.startsWith('file://')) cjsSpecifier = fileURLToPath(specifier);\n          } catch {}\n          const resolution = pathToFileURL(createRequire(process.cwd()).resolve(cjsSpecifier)).toString();\n          rememberIsProbablyEntrypoint.add(resolution);\n          rememberResolvedViaCommonjsFallback.add(resolution);\n          return { url: resolution, format: 'commonjs' };\n        } catch (commonjsResolverError) {\n          throw esmResolverError;\n        }\n      }\n    }\n\n    return addShortCircuitFlag(async () => {\n      const parsed = parseUrl(specifier);\n      const { pathname, protocol, hostname } = parsed;\n\n      if (!isFileUrlOrNodeStyleSpecifier(parsed)) {\n        return entrypointFallback(defer);\n      }\n\n      if (protocol !== null && protocol !== 'file:') {\n        return entrypointFallback(defer);\n      }\n\n      // Malformed file:// URL?  We should always see `null` or `''`\n      if (hostname) {\n        // TODO file://./foo sets `hostname` to `'.'`.  Perhaps we should special-case this.\n        return entrypointFallback(defer);\n      }\n\n      // pathname is the path to be resolved\n\n      return entrypointFallback(() => nodeResolveImplementation.defaultResolve(specifier, context, defaultResolve));\n    });\n  }\n\n  // `load` from new loader hook API (See description at the top of this file)\n  async function load(\n    url: string,\n    context: {\n      format: NodeLoaderHooksFormat | null | undefined;\n      importAssertions?: NodeLoaderHooksAPI2.NodeImportAssertions;\n    },\n    defaultLoad: typeof load\n  ): Promise<{\n    format: NodeLoaderHooksFormat;\n    source: string | Buffer | undefined;\n  }> {\n    return addShortCircuitFlag(async () => {\n      // If we get a format hint from resolve() on the context then use it\n      // otherwise call the old getFormat() hook using node's old built-in defaultGetFormat() that ships with ts-node\n      const format =\n        context.format ?? (await getFormat(url, context, nodeGetFormatImplementation.defaultGetFormat)).format;\n\n      let source = undefined;\n      if (format !== 'builtin' && format !== 'commonjs') {\n        // Call the new defaultLoad() to get the source\n        const { source: rawSource } = await defaultLoad(\n          url,\n          {\n            ...context,\n            format,\n          },\n          defaultLoad\n        );\n\n        if (rawSource === undefined || rawSource === null) {\n          throw new Error(`Failed to load raw source: Format was '${format}' and url was '${url}''.`);\n        }\n\n        // Emulate node's built-in old defaultTransformSource() so we can re-use the old transformSource() hook\n        const defaultTransformSource: typeof transformSource = async (source, _context, _defaultTransformSource) => ({\n          source,\n        });\n\n        // Call the old hook\n        const { source: transformedSource } = await transformSource(rawSource, { url, format }, defaultTransformSource);\n        source = transformedSource;\n      }\n\n      return { format, source };\n    });\n  }\n\n  async function getFormat(\n    url: string,\n    context: {},\n    defaultGetFormat: typeof getFormat\n  ): Promise<{ format: NodeLoaderHooksFormat }> {\n    const defer = (overrideUrl: string = url) => defaultGetFormat(overrideUrl, context, defaultGetFormat);\n\n    // See: https://github.com/nodejs/node/discussions/41711\n    // nodejs will likely implement a similar fallback.  Till then, we can do our users a favor and fallback today.\n    async function entrypointFallback(cb: () => ReturnType<typeof getFormat>): ReturnType<typeof getFormat> {\n      try {\n        return await cb();\n      } catch (getFormatError) {\n        if (!rememberIsProbablyEntrypoint.has(url)) throw getFormatError;\n        return { format: 'commonjs' };\n      }\n    }\n\n    const parsed = parseUrl(url);\n\n    if (!isFileUrlOrNodeStyleSpecifier(parsed)) {\n      return entrypointFallback(defer);\n    }\n\n    const { pathname } = parsed;\n    assert(pathname !== null, 'ESM getFormat() hook: URL should never have null pathname');\n\n    const nativePath = fileURLToPath(url);\n\n    let nodeSays: { format: NodeLoaderHooksFormat };\n\n    // If file has extension not understood by node, then ask node how it would treat the emitted extension.\n    // E.g. .mts compiles to .mjs, so ask node how to classify an .mjs file.\n    const ext = extname(nativePath);\n    const tsNodeIgnored = tsNodeService.ignored(nativePath);\n    const nodeEquivalentExt = extensions.nodeEquivalents.get(ext);\n    if (nodeEquivalentExt && !tsNodeIgnored) {\n      nodeSays = await entrypointFallback(() => defer(formatUrl(pathToFileURL(nativePath + nodeEquivalentExt))));\n    } else {\n      try {\n        nodeSays = await entrypointFallback(defer);\n      } catch (e) {\n        if (e instanceof Error && tsNodeIgnored && extensions.nodeDoesNotUnderstand.includes(ext)) {\n          e.message +=\n            `\\n\\n` +\n            `Hint:\\n` +\n            `ts-node is configured to ignore this file.\\n` +\n            `If you want ts-node to handle this file, consider enabling the \"skipIgnore\" option or adjusting your \"ignore\" patterns.\\n` +\n            `https://typestrong.org/ts-node/docs/scope\\n`;\n        }\n        throw e;\n      }\n    }\n    // For files compiled by ts-node that node believes are either CJS or ESM, check if we should override that classification\n    if (!tsNodeService.ignored(nativePath) && (nodeSays.format === 'commonjs' || nodeSays.format === 'module')) {\n      const { moduleType } = tsNodeService.moduleTypeClassifier.classifyModuleByModuleTypeOverrides(\n        normalizeSlashes(nativePath)\n      );\n      if (moduleType === 'cjs') {\n        return { format: 'commonjs' };\n      } else if (moduleType === 'esm') {\n        return { format: 'module' };\n      }\n    }\n    return nodeSays;\n  }\n\n  async function transformSource(\n    source: string | Buffer,\n    context: { url: string; format: NodeLoaderHooksFormat },\n    defaultTransformSource: typeof transformSource\n  ): Promise<{ source: string | Buffer }> {\n    if (source === null || source === undefined) {\n      throw new Error('No source');\n    }\n\n    const defer = () => defaultTransformSource(source, context, defaultTransformSource);\n\n    const sourceAsString = typeof source === 'string' ? source : source.toString('utf8');\n\n    const { url } = context;\n    const parsed = parseUrl(url);\n\n    if (!isFileUrlOrNodeStyleSpecifier(parsed)) {\n      return defer();\n    }\n    const nativePath = fileURLToPath(url);\n\n    if (tsNodeService.ignored(nativePath)) {\n      return defer();\n    }\n\n    const emittedJs = tsNodeService.compile(sourceAsString, nativePath);\n\n    return { source: emittedJs };\n  }\n\n  return hooksAPI;\n}\n\nasync function addShortCircuitFlag<T>(fn: () => Promise<T>) {\n  const ret = await fn();\n  // Not sure if this is necessary; being lazy.  Can revisit in the future.\n  if (ret == null) return ret;\n  return {\n    ...ret,\n    shortCircuit: true,\n  };\n}\n"
  },
  {
    "path": "src/file-extensions.ts",
    "content": "import type * as _ts from 'typescript';\nimport type { RegisterOptions } from '.';\nimport { versionGteLt } from './util';\n\n/**\n * Centralized specification of how we deal with file extensions based on\n * project options:\n * which ones we do/don't support, in what situations, etc.  These rules drive\n * logic elsewhere.\n * @internal\n * */\nexport type Extensions = ReturnType<typeof getExtensions>;\n\nconst nodeEquivalents = new Map<string, string>([\n  ['.ts', '.js'],\n  ['.tsx', '.js'],\n  ['.jsx', '.js'],\n  ['.mts', '.mjs'],\n  ['.cts', '.cjs'],\n]);\n\nconst tsResolverEquivalents = new Map<string, readonly string[]>([\n  ['.ts', ['.js']],\n  ['.tsx', ['.js', '.jsx']],\n  ['.mts', ['.mjs']],\n  ['.cts', ['.cjs']],\n]);\n\n// All extensions understood by vanilla node\nconst vanillaNodeExtensions: readonly string[] = ['.js', '.json', '.node', '.mjs', '.cjs'];\n\n// Extensions added by vanilla node's require() if you omit them:\n// js, json, node\n// Extensions added by vanilla node if you omit them with --experimental-specifier-resolution=node\n// js, json, node, mjs\n// Extensions added by ESM codepath's legacy package.json \"main\" resolver\n// js, json, node (not mjs!)\n\nconst nodeDoesNotUnderstand: readonly string[] = ['.ts', '.tsx', '.jsx', '.cts', '.mts'];\n\nexport function tsSupportsMtsCtsExts(tsVersion: string) {\n  return versionGteLt(tsVersion, '4.5.0');\n}\n\n/**\n * [MUST_UPDATE_FOR_NEW_FILE_EXTENSIONS]\n * @internal\n */\nexport function getExtensions(config: _ts.ParsedCommandLine, options: RegisterOptions, tsVersion: string) {\n  // TS 4.5 is first version to understand .cts, .mts, .cjs, and .mjs extensions\n  const supportMtsCtsExts = tsSupportsMtsCtsExts(tsVersion);\n\n  const requiresHigherTypescriptVersion: string[] = [];\n  if (!tsSupportsMtsCtsExts) requiresHigherTypescriptVersion.push('.cts', '.cjs', '.mts', '.mjs');\n\n  const allPossibleExtensionsSortedByPreference = Array.from(\n    new Set([\n      ...(options.preferTsExts ? nodeDoesNotUnderstand : []),\n      ...vanillaNodeExtensions,\n      ...nodeDoesNotUnderstand,\n    ])\n  );\n\n  const compiledJsUnsorted: string[] = ['.ts'];\n  const compiledJsxUnsorted: string[] = [];\n\n  if (config.options.jsx) compiledJsxUnsorted.push('.tsx');\n  if (supportMtsCtsExts) compiledJsUnsorted.push('.mts', '.cts');\n  if (config.options.allowJs) {\n    compiledJsUnsorted.push('.js');\n    if (config.options.jsx) compiledJsxUnsorted.push('.jsx');\n    if (supportMtsCtsExts) compiledJsUnsorted.push('.mjs', '.cjs');\n  }\n\n  const compiledUnsorted = [...compiledJsUnsorted, ...compiledJsxUnsorted];\n  const compiled = allPossibleExtensionsSortedByPreference.filter((ext) => compiledUnsorted.includes(ext));\n\n  const compiledNodeDoesNotUnderstand = nodeDoesNotUnderstand.filter((ext) => compiled.includes(ext));\n\n  /**\n   * TS's resolver can resolve foo.js to foo.ts, by replacing .js extension with several source extensions.\n   * IMPORTANT: Must preserve ordering according to preferTsExts!\n   *            Must include the .js/.mjs/.cjs extension in the array!\n   *            This affects resolution behavior!\n   * [MUST_UPDATE_FOR_NEW_FILE_EXTENSIONS]\n   */\n  const r = allPossibleExtensionsSortedByPreference.filter((ext) =>\n    [...compiledUnsorted, '.js', '.mjs', '.cjs', '.mts', '.cts'].includes(ext)\n  );\n  const replacementsForJs = r.filter((ext) => ['.js', '.jsx', '.ts', '.tsx'].includes(ext));\n  const replacementsForJsx = r.filter((ext) => ['.jsx', '.tsx'].includes(ext));\n  const replacementsForMjs = r.filter((ext) => ['.mjs', '.mts'].includes(ext));\n  const replacementsForCjs = r.filter((ext) => ['.cjs', '.cts'].includes(ext));\n  const replacementsForJsOrMjs = r.filter((ext) => ['.js', '.jsx', '.ts', '.tsx', '.mjs', '.mts'].includes(ext));\n\n  // Node allows omitting .js or .mjs extension in certain situations (CJS, ESM w/experimental flag)\n  // So anything that compiles to .js or .mjs can also be omitted.\n  const experimentalSpecifierResolutionAddsIfOmitted = Array.from(\n    new Set([...replacementsForJsOrMjs, '.json', '.node'])\n  );\n  // Same as above, except node curiuosly doesn't do .mjs here\n  const legacyMainResolveAddsIfOmitted = Array.from(new Set([...replacementsForJs, '.json', '.node']));\n\n  return {\n    /** All file extensions we transform, ordered by resolution preference according to preferTsExts */\n    compiled,\n    /** Resolved extensions that vanilla node will not understand; we should handle them */\n    nodeDoesNotUnderstand,\n    /** Like the above, but only the ones we're compiling */\n    compiledNodeDoesNotUnderstand,\n    /**\n     * Mapping from extensions understood by tsc to the equivalent for node,\n     * as far as getFormat is concerned.\n     */\n    nodeEquivalents,\n    /**\n     * Mapping from extensions rejected by TSC in import specifiers, to the\n     * possible alternatives that TS's resolver will accept.\n     *\n     * When we allow users to opt-in to .ts extensions in import specifiers, TS's\n     * resolver requires us to replace the .ts extensions with .js alternatives.\n     * Otherwise, resolution fails.\n     *\n     * Note TS's resolver is only used by, and only required for, typechecking.\n     * This is separate from node's resolver, which we hook separately and which\n     * does not require this mapping.\n     */\n    tsResolverEquivalents,\n    /**\n     * Extensions that we can support if the user upgrades their typescript version.\n     * Used when raising hints.\n     */\n    requiresHigherTypescriptVersion,\n    /**\n     * --experimental-specifier-resolution=node will add these extensions.\n     */\n    experimentalSpecifierResolutionAddsIfOmitted,\n    /**\n     * ESM loader will add these extensions to package.json \"main\" field\n     */\n    legacyMainResolveAddsIfOmitted,\n    replacementsForMjs,\n    replacementsForCjs,\n    replacementsForJsx,\n    replacementsForJs,\n  };\n}\n"
  },
  {
    "path": "src/index.ts",
    "content": "import { relative, basename, extname, dirname, join } from 'path';\nimport { Module } from 'module';\nimport * as util from 'util';\nimport { fileURLToPath } from 'url';\n\nimport type * as _sourceMapSupport from '@cspotcode/source-map-support';\nimport { BaseError } from 'make-error';\nimport type * as _ts from 'typescript';\n\nimport type { Transpiler, TranspilerFactory } from './transpilers/types';\nimport {\n  cachedLookup,\n  createProjectLocalResolveHelper,\n  hasOwnProperty,\n  normalizeSlashes,\n  once,\n  parse,\n  ProjectLocalResolveHelper,\n  split,\n  versionGteLt,\n  yn,\n} from './util';\nimport { findAndReadConfig, loadCompiler } from './configuration';\nimport type { TSCommon, TSInternal } from './ts-compiler-types';\nimport { createModuleTypeClassifier, ModuleTypeClassifier } from './module-type-classifier';\nimport { createResolverFunctions } from './resolver-functions';\nimport type { createEsmHooks as createEsmHooksFn } from './esm';\nimport { installCommonjsResolveHooksIfNecessary, ModuleConstructorWithInternals } from './cjs-resolve-hooks';\nimport { classifyModule } from './node-module-type-classifier';\nimport type * as _nodeInternalModulesEsmResolve from '../dist-raw/node-internal-modules-esm-resolve';\nimport type * as _nodeInternalModulesEsmGetFormat from '../dist-raw/node-internal-modules-esm-get_format';\nimport type * as _nodeInternalModulesCjsLoader from '../dist-raw/node-internal-modules-cjs-loader';\nimport { Extensions, getExtensions } from './file-extensions';\nimport { createTsTranspileModule } from './ts-transpile-module';\nimport { assertScriptCanLoadAsCJS } from '../dist-raw/node-internal-modules-cjs-loader';\n\nexport { TSCommon };\nexport { createRepl, CreateReplOptions, ReplService, EvalAwarePartialHost } from './repl';\nexport type {\n  TranspilerModule,\n  TranspilerFactory,\n  CreateTranspilerOptions,\n  TranspileOutput,\n  TranspileOptions,\n  Transpiler,\n} from './transpilers/types';\nexport type { NodeLoaderHooksAPI1, NodeLoaderHooksAPI2, NodeLoaderHooksFormat } from './esm';\n\nconst engineSupportsPackageTypeField = true;\n\n/**\n * Registered `ts-node` instance information.\n */\nexport const REGISTER_INSTANCE = Symbol.for('ts-node.register.instance');\n\n/**\n * Expose `REGISTER_INSTANCE` information on node.js `process`.\n */\ndeclare global {\n  namespace NodeJS {\n    interface Process {\n      [REGISTER_INSTANCE]?: Service;\n    }\n  }\n}\n\n/** @internal */\nexport const env = process.env as ProcessEnv;\n/**\n * Declare all env vars, to aid discoverability.\n * If an env var affects ts-node's behavior, it should not be buried somewhere in our codebase.\n * @internal\n */\nexport interface ProcessEnv {\n  TS_NODE_DEBUG?: string;\n  TS_NODE_CWD?: string;\n  /** @deprecated */\n  TS_NODE_DIR?: string;\n  TS_NODE_EMIT?: string;\n  TS_NODE_SCOPE?: string;\n  TS_NODE_SCOPE_DIR?: string;\n  TS_NODE_FILES?: string;\n  TS_NODE_PRETTY?: string;\n  TS_NODE_COMPILER?: string;\n  TS_NODE_COMPILER_OPTIONS?: string;\n  TS_NODE_IGNORE?: string;\n  TS_NODE_PROJECT?: string;\n  TS_NODE_SKIP_PROJECT?: string;\n  TS_NODE_SKIP_IGNORE?: string;\n  TS_NODE_PREFER_TS_EXTS?: string;\n  TS_NODE_IGNORE_DIAGNOSTICS?: string;\n  TS_NODE_TRANSPILE_ONLY?: string;\n  TS_NODE_TYPE_CHECK?: string;\n  TS_NODE_COMPILER_HOST?: string;\n  TS_NODE_LOG_ERROR?: string;\n  TS_NODE_HISTORY?: string;\n  TS_NODE_EXPERIMENTAL_REPL_AWAIT?: string;\n\n  NODE_NO_READLINE?: string;\n}\n\n/**\n * @internal\n */\nexport const INSPECT_CUSTOM = util.inspect.custom || 'inspect';\n\n/**\n * Debugging `ts-node`.\n */\nconst shouldDebug = yn(env.TS_NODE_DEBUG);\n/** @internal */\nexport const debug = shouldDebug\n  ? (...args: any) => console.log(`[ts-node ${new Date().toISOString()}]`, ...args)\n  : () => undefined;\nconst debugFn = shouldDebug\n  ? <T, U>(key: string, fn: (arg: T) => U) => {\n      let i = 0;\n      return (x: T) => {\n        debug(key, x, ++i);\n        return fn(x);\n      };\n    }\n  : <T, U>(_: string, fn: (arg: T) => U) => fn;\n\n/**\n * Export the current version.\n */\nexport const VERSION = require('../package.json').version;\n\n/**\n * Options for creating a new TypeScript compiler instance.\n\n * @category Basic\n */\nexport interface CreateOptions {\n  /**\n   * Behave as if invoked within this working directory.  Roughly equivalent to `cd $dir && ts-node ...`\n   *\n   * @default process.cwd()\n   */\n  cwd?: string;\n  /**\n   * Legacy alias for `cwd`\n   *\n   * @deprecated use `projectSearchDir` or `cwd`\n   */\n  dir?: string;\n  /**\n   * Emit output files into `.ts-node` directory.\n   *\n   * @default false\n   */\n  emit?: boolean;\n  /**\n   * Scope compiler to files within `scopeDir`.\n   *\n   * @default false\n   */\n  scope?: boolean;\n  /**\n   * @default First of: `tsconfig.json` \"rootDir\" if specified, directory containing `tsconfig.json`, or cwd if no `tsconfig.json` is loaded.\n   */\n  scopeDir?: string;\n  /**\n   * Use pretty diagnostic formatter.\n   *\n   * @default false\n   */\n  pretty?: boolean;\n  /**\n   * Use TypeScript's faster `transpileModule`.\n   *\n   * @default false\n   */\n  transpileOnly?: boolean;\n  /**\n   * **DEPRECATED** Specify type-check is enabled (e.g. `transpileOnly == false`).\n   *\n   * @default true\n   */\n  typeCheck?: boolean;\n  /**\n   * Use TypeScript's compiler host API instead of the language service API.\n   *\n   * @default false\n   */\n  compilerHost?: boolean;\n  /**\n   * Logs TypeScript errors to stderr instead of throwing exceptions.\n   *\n   * @default false\n   */\n  logError?: boolean;\n  /**\n   * Load \"files\" and \"include\" from `tsconfig.json` on startup.\n   *\n   * Default is to override `tsconfig.json` \"files\" and \"include\" to only include the entrypoint script.\n   *\n   * @default false\n   */\n  files?: boolean;\n  /**\n   * Specify a custom TypeScript compiler.\n   *\n   * @default \"typescript\"\n   */\n  compiler?: string;\n  /**\n   * Specify a custom transpiler for use with transpileOnly\n   */\n  transpiler?: string | [string, object];\n  /**\n   * Transpile with swc instead of the TypeScript compiler, and skip typechecking.\n   *\n   * Equivalent to setting both `transpileOnly: true` and `transpiler: 'ts-node/transpilers/swc'`\n   *\n   * For complete instructions: https://typestrong.org/ts-node/docs/transpilers\n   */\n  swc?: boolean;\n  /**\n   * Paths which should not be compiled.\n   *\n   * Each string in the array is converted to a regular expression via `new RegExp()` and tested against source paths prior to compilation.\n   *\n   * Source paths are normalized to posix-style separators, relative to the directory containing `tsconfig.json` or to cwd if no `tsconfig.json` is loaded.\n   *\n   * Default is to ignore all node_modules subdirectories.\n   *\n   * @default [\"(?:^|/)node_modules/\"]\n   */\n  ignore?: string[];\n  /**\n   * Path to TypeScript config file or directory containing a `tsconfig.json`.\n   * Similar to the `tsc --project` flag: https://www.typescriptlang.org/docs/handbook/compiler-options.html\n   */\n  project?: string;\n  /**\n   * Search for TypeScript config file (`tsconfig.json`) in this or parent directories.\n   */\n  projectSearchDir?: string;\n  /**\n   * Skip project config resolution and loading.\n   *\n   * @default false\n   */\n  skipProject?: boolean;\n  /**\n   * Skip ignore check, so that compilation will be attempted for all files with matching extensions.\n   *\n   * @default false\n   */\n  skipIgnore?: boolean;\n  /**\n   * JSON object to merge with TypeScript `compilerOptions`.\n   *\n   * @allOf [{\"$ref\": \"https://schemastore.azurewebsites.net/schemas/json/tsconfig.json#definitions/compilerOptionsDefinition/properties/compilerOptions\"}]\n   */\n  compilerOptions?: object;\n  /**\n   * Ignore TypeScript warnings by diagnostic code.\n   */\n  ignoreDiagnostics?: Array<number | string>;\n  /**\n   * Modules to require, like node's `--require` flag.\n   *\n   * If specified in `tsconfig.json`, the modules will be resolved relative to the `tsconfig.json` file.\n   *\n   * If specified programmatically, each input string should be pre-resolved to an absolute path for\n   * best results.\n   */\n  require?: Array<string>;\n  readFile?: (path: string) => string | undefined;\n  fileExists?: (path: string) => boolean;\n  transformers?: _ts.CustomTransformers | ((p: _ts.Program) => _ts.CustomTransformers);\n  /**\n   * Allows the usage of top level await in REPL.\n   *\n   * Uses node's implementation which accomplishes this with an AST syntax transformation.\n   *\n   * Enabled by default when tsconfig target is es2018 or above. Set to false to disable.\n   *\n   * **Note**: setting to `true` when tsconfig target is too low will throw an Error.  Leave as `undefined`\n   * to get default, automatic behavior.\n   */\n  experimentalReplAwait?: boolean;\n  /**\n   * Override certain paths to be compiled and executed as CommonJS or ECMAScript modules.\n   * When overridden, the tsconfig \"module\" and package.json \"type\" fields are overridden, and\n   * the file extension is ignored.\n   * This is useful if you cannot use .mts, .cts, .mjs, or .cjs file extensions;\n   * it achieves the same effect.\n   *\n   * Each key is a glob pattern following the same rules as tsconfig's \"include\" array.\n   * When multiple patterns match the same file, the last pattern takes precedence.\n   *\n   * `cjs` overrides matches files to compile and execute as CommonJS.\n   * `esm` overrides matches files to compile and execute as native ECMAScript modules.\n   * `package` overrides either of the above to default behavior, which obeys package.json \"type\" and\n   * tsconfig.json \"module\" options.\n   */\n  moduleTypes?: ModuleTypes;\n  /**\n   * @internal\n   * Set by our configuration loader whenever a config file contains options that\n   * are relative to the config file they came from, *and* when other logic needs\n   * to know this.  Some options can be eagerly resolved to absolute paths by\n   * the configuration loader, so it is *not* necessary for their source to be set here.\n   */\n  optionBasePaths?: OptionBasePaths;\n  /**\n   * A function to collect trace messages from the TypeScript compiler, for example when `traceResolution` is enabled.\n   *\n   * @default console.log\n   */\n  tsTrace?: (str: string) => void;\n  /**\n   * Enable native ESM support.\n   *\n   * For details, see https://typestrong.org/ts-node/docs/imports#native-ecmascript-modules\n   */\n  esm?: boolean;\n  /**\n   * Re-order file extensions so that TypeScript imports are preferred.\n   *\n   * For example, when both `index.js` and `index.ts` exist, enabling this option causes `require('./index')` to resolve to `index.ts` instead of `index.js`\n   *\n   * @default false\n   */\n  preferTsExts?: boolean;\n  /**\n   * Like node's `--experimental-specifier-resolution`, , but can also be set in your `tsconfig.json` for convenience.\n   *\n   * For details, see https://nodejs.org/dist/latest-v18.x/docs/api/esm.html#customizing-esm-specifier-resolution-algorithm\n   */\n  experimentalSpecifierResolution?: 'node' | 'explicit';\n  /**\n   * Allow using voluntary `.ts` file extension in import specifiers.\n   *\n   * Typically, in ESM projects, import specifiers must have an emit extension, `.js`, `.cjs`, or `.mjs`,\n   * and we automatically map to the corresponding `.ts`, `.cts`, or `.mts` source file.  This is the\n   * recommended approach.\n   *\n   * However, if you really want to use `.ts` in import specifiers, and are aware that this may\n   * break tooling, you can enable this flag.\n   */\n  experimentalTsImportSpecifiers?: boolean;\n}\n\nexport type ModuleTypes = Record<string, ModuleTypeOverride>;\nexport type ModuleTypeOverride = 'cjs' | 'esm' | 'package';\n\n/** @internal */\nexport interface OptionBasePaths {\n  moduleTypes?: string;\n  transpiler?: string;\n  compiler?: string;\n  swc?: string;\n}\n\n/**\n * Options for registering a TypeScript compiler instance globally.\n\n * @category Basic\n */\nexport interface RegisterOptions extends CreateOptions {\n  /**\n   * Enable experimental features that re-map imports and require calls to support:\n   * `baseUrl`, `paths`, `rootDirs`, `.js` to `.ts` file extension mappings,\n   * `outDir` to `rootDir` mappings for composite projects and monorepos.\n   *\n   * For details, see https://github.com/TypeStrong/ts-node/issues/1514\n   */\n  experimentalResolver?: boolean;\n}\n\nexport type ExperimentalSpecifierResolution = 'node' | 'explicit';\n\n/**\n * Must be an interface to support `typescript-json-schema`.\n */\nexport interface TsConfigOptions\n  extends Omit<\n    RegisterOptions,\n    | 'transformers'\n    | 'readFile'\n    | 'fileExists'\n    | 'skipProject'\n    | 'project'\n    | 'dir'\n    | 'cwd'\n    | 'projectSearchDir'\n    | 'optionBasePaths'\n    | 'tsTrace'\n  > {}\n\n/**\n * Information retrieved from type info check.\n */\nexport interface TypeInfo {\n  name: string;\n  comment: string;\n}\n\n/**\n * Default register options, including values specified via environment\n * variables.\n * @internal\n */\nexport const DEFAULTS: RegisterOptions = {\n  cwd: env.TS_NODE_CWD ?? env.TS_NODE_DIR,\n  emit: yn(env.TS_NODE_EMIT),\n  scope: yn(env.TS_NODE_SCOPE),\n  scopeDir: env.TS_NODE_SCOPE_DIR,\n  files: yn(env.TS_NODE_FILES),\n  pretty: yn(env.TS_NODE_PRETTY),\n  compiler: env.TS_NODE_COMPILER,\n  compilerOptions: parse(env.TS_NODE_COMPILER_OPTIONS),\n  ignore: split(env.TS_NODE_IGNORE),\n  project: env.TS_NODE_PROJECT,\n  skipProject: yn(env.TS_NODE_SKIP_PROJECT),\n  skipIgnore: yn(env.TS_NODE_SKIP_IGNORE),\n  preferTsExts: yn(env.TS_NODE_PREFER_TS_EXTS),\n  ignoreDiagnostics: split(env.TS_NODE_IGNORE_DIAGNOSTICS),\n  transpileOnly: yn(env.TS_NODE_TRANSPILE_ONLY),\n  typeCheck: yn(env.TS_NODE_TYPE_CHECK),\n  compilerHost: yn(env.TS_NODE_COMPILER_HOST),\n  logError: yn(env.TS_NODE_LOG_ERROR),\n  experimentalReplAwait: yn(env.TS_NODE_EXPERIMENTAL_REPL_AWAIT) ?? undefined,\n  tsTrace: console.log.bind(console),\n};\n\n/**\n * TypeScript diagnostics error.\n */\nexport class TSError extends BaseError {\n  name = 'TSError';\n  diagnosticText!: string;\n  diagnostics!: ReadonlyArray<_ts.Diagnostic>;\n\n  constructor(\n    diagnosticText: string,\n    public diagnosticCodes: number[],\n    diagnostics: ReadonlyArray<_ts.Diagnostic> = []\n  ) {\n    super(`⨯ Unable to compile TypeScript:\\n${diagnosticText}`);\n    Object.defineProperty(this, 'diagnosticText', {\n      configurable: true,\n      writable: true,\n      value: diagnosticText,\n    });\n    Object.defineProperty(this, 'diagnostics', {\n      configurable: true,\n      writable: true,\n      value: diagnostics,\n    });\n  }\n\n  /**\n   * @internal\n   */\n  [INSPECT_CUSTOM]() {\n    return this.diagnosticText;\n  }\n}\n\nconst TS_NODE_SERVICE_BRAND = Symbol('TS_NODE_SERVICE_BRAND');\n\n/**\n * Primary ts-node service, which wraps the TypeScript API and can compile TypeScript to JavaScript\n */\nexport interface Service {\n  /** @internal */\n  [TS_NODE_SERVICE_BRAND]: true;\n  ts: TSCommon;\n  /** @internal */\n  compilerPath: string;\n  config: _ts.ParsedCommandLine;\n  options: RegisterOptions;\n  enabled(enabled?: boolean): boolean;\n  ignored(fileName: string): boolean;\n  compile(code: string, fileName: string, lineOffset?: number): string;\n  getTypeInfo(code: string, fileName: string, position: number): TypeInfo;\n  /** @internal */\n  configFilePath: string | undefined;\n  /** @internal */\n  moduleTypeClassifier: ModuleTypeClassifier;\n  /** @internal */\n  readonly shouldReplAwait: boolean;\n  /** @internal */\n  addDiagnosticFilter(filter: DiagnosticFilter): void;\n  /** @internal */\n  installSourceMapSupport(): void;\n  /** @internal */\n  transpileOnly: boolean;\n  /** @internal */\n  projectLocalResolveHelper: ProjectLocalResolveHelper;\n  /** @internal */\n  getNodeEsmResolver: () => ReturnType<typeof import('../dist-raw/node-internal-modules-esm-resolve').createResolve>;\n  /** @internal */\n  getNodeEsmGetFormat: () => ReturnType<\n    typeof import('../dist-raw/node-internal-modules-esm-get_format').createGetFormat\n  >;\n  /** @internal */\n  getNodeCjsLoader: () => ReturnType<typeof import('../dist-raw/node-internal-modules-cjs-loader').createCjsLoader>;\n  /** @internal */\n  extensions: Extensions;\n}\n\n/**\n * Re-export of `Service` interface for backwards-compatibility\n * @deprecated use `Service` instead\n * @see {Service}\n */\nexport type Register = Service;\n\n/** @internal */\nexport interface DiagnosticFilter {\n  /** if true, filter applies to all files */\n  appliesToAllFiles: boolean;\n  /** Filter applies onto to these filenames.  Only used if appliesToAllFiles is false */\n  filenamesAbsolute: string[];\n  /** these diagnostic codes are ignored */\n  diagnosticsIgnored: number[];\n}\n\n/**\n * Create a new TypeScript compiler instance and register it onto node.js\n *\n * @category Basic\n */\nexport function register(opts?: RegisterOptions): Service;\n/**\n * Register TypeScript compiler instance onto node.js\n\n * @category Basic\n */\nexport function register(service: Service): Service;\nexport function register(serviceOrOpts: Service | RegisterOptions | undefined): Service {\n  // Is this a Service or a RegisterOptions?\n  let service = serviceOrOpts as Service;\n  if (!(serviceOrOpts as Service)?.[TS_NODE_SERVICE_BRAND]) {\n    // Not a service; is options\n    service = create((serviceOrOpts ?? {}) as RegisterOptions);\n  }\n\n  const originalJsHandler = require.extensions['.js'];\n\n  // Expose registered instance globally.\n  process[REGISTER_INSTANCE] = service;\n\n  // Register the extensions.\n  registerExtensions(service.options.preferTsExts, service.extensions.compiled, service, originalJsHandler);\n\n  installCommonjsResolveHooksIfNecessary(service);\n\n  service.installSourceMapSupport();\n\n  // Require specified modules before start-up.\n  (Module as ModuleConstructorWithInternals)._preloadModules(service.options.require);\n\n  return service;\n}\n\n/**\n * Create TypeScript compiler instance.\n *\n * @category Basic\n */\nexport function create(rawOptions: CreateOptions = {}): Service {\n  const foundConfigResult = findAndReadConfig(rawOptions);\n  return createFromPreloadedConfig(foundConfigResult);\n}\n\n/** @internal */\nexport function createFromPreloadedConfig(foundConfigResult: ReturnType<typeof findAndReadConfig>): Service {\n  const { configFilePath, cwd, options, config, compiler, projectLocalResolveDir, optionBasePaths } = foundConfigResult;\n\n  const projectLocalResolveHelper = createProjectLocalResolveHelper(projectLocalResolveDir);\n\n  const ts = loadCompiler(compiler);\n\n  // Experimental REPL await is not compatible targets lower than ES2018\n  const targetSupportsTla = config.options.target! >= ts.ScriptTarget.ES2018;\n  if (options.experimentalReplAwait === true && !targetSupportsTla) {\n    throw new Error('Experimental REPL await is not compatible with targets lower than ES2018');\n  }\n\n  const shouldReplAwait = options.experimentalReplAwait !== false && targetSupportsTla;\n\n  // swc implies two other options\n  // typeCheck option was implemented specifically to allow overriding tsconfig transpileOnly from the command-line\n  // So we should allow using typeCheck to override swc\n  if (options.swc && !options.typeCheck) {\n    if (options.transpileOnly === false) {\n      throw new Error(\"Cannot enable 'swc' option with 'transpileOnly: false'.  'swc' implies 'transpileOnly'.\");\n    }\n    if (options.transpiler) {\n      throw new Error(\"Cannot specify both 'swc' and 'transpiler' options.  'swc' uses the built-in swc transpiler.\");\n    }\n  }\n\n  const readFile = options.readFile || ts.sys.readFile;\n  const fileExists = options.fileExists || ts.sys.fileExists;\n  // typeCheck can override transpileOnly, useful for CLI flag to override config file\n  const transpileOnly = (options.transpileOnly === true || options.swc === true) && options.typeCheck !== true;\n  let transpiler: RegisterOptions['transpiler'] | undefined = undefined;\n  let transpilerBasePath: string | undefined = undefined;\n  if (options.transpiler) {\n    transpiler = options.transpiler;\n    transpilerBasePath = optionBasePaths.transpiler;\n  } else if (options.swc) {\n    transpiler = require.resolve('./transpilers/swc.js');\n    transpilerBasePath = optionBasePaths.swc;\n  }\n  const transformers = options.transformers || undefined;\n  const diagnosticFilters: Array<DiagnosticFilter> = [\n    {\n      appliesToAllFiles: true,\n      filenamesAbsolute: [],\n      diagnosticsIgnored: [\n        6059, // \"'rootDir' is expected to contain all source files.\"\n        18002, // \"The 'files' list in config file is empty.\"\n        18003, // \"No inputs were found in config file.\"\n        ...(options.experimentalTsImportSpecifiers\n          ? [\n              2691, // \"An import path cannot end with a '.ts' extension. Consider importing '<specifier without ext>' instead.\"\n            ]\n          : []),\n        ...(options.ignoreDiagnostics || []),\n      ].map(Number),\n    },\n  ];\n\n  const configDiagnosticList = filterDiagnostics(config.errors, diagnosticFilters);\n  const outputCache = new Map<\n    string,\n    {\n      content: string;\n    }\n  >();\n\n  const configFileDirname = configFilePath ? dirname(configFilePath) : null;\n  const scopeDir = options.scopeDir ?? config.options.rootDir ?? configFileDirname ?? cwd;\n  const ignoreBaseDir = configFileDirname ?? cwd;\n  const isScoped = options.scope ? (fileName: string) => relative(scopeDir, fileName).charAt(0) !== '.' : () => true;\n  const shouldIgnore = createIgnore(\n    ignoreBaseDir,\n    options.skipIgnore ? [] : (options.ignore || ['(?:^|/)node_modules/']).map((str) => new RegExp(str))\n  );\n\n  const diagnosticHost: _ts.FormatDiagnosticsHost = {\n    getNewLine: () => ts.sys.newLine,\n    getCurrentDirectory: () => cwd,\n    // TODO switch to getCanonicalFileName we already create later in scope\n    getCanonicalFileName: ts.sys.useCaseSensitiveFileNames ? (x) => x : (x) => x.toLowerCase(),\n  };\n\n  if (options.transpileOnly && typeof transformers === 'function') {\n    throw new TypeError('Transformers function is unavailable in \"--transpile-only\"');\n  }\n  let createTranspiler = initializeTranspilerFactory();\n  function initializeTranspilerFactory() {\n    if (transpiler) {\n      if (!transpileOnly) throw new Error('Custom transpiler can only be used when transpileOnly is enabled.');\n      const transpilerName = typeof transpiler === 'string' ? transpiler : transpiler[0];\n      const transpilerOptions = typeof transpiler === 'string' ? {} : transpiler[1] ?? {};\n      const transpilerConfigLocalResolveHelper = transpilerBasePath\n        ? createProjectLocalResolveHelper(transpilerBasePath)\n        : projectLocalResolveHelper;\n      const transpilerPath = transpilerConfigLocalResolveHelper(transpilerName, true);\n      const transpilerFactory = require(transpilerPath).create as TranspilerFactory;\n      return createTranspiler;\n\n      function createTranspiler(compilerOptions: TSCommon.CompilerOptions, nodeModuleEmitKind?: NodeModuleEmitKind) {\n        return transpilerFactory?.({\n          service: {\n            options,\n            config: {\n              ...config,\n              options: compilerOptions,\n            },\n            projectLocalResolveHelper,\n          },\n          transpilerConfigLocalResolveHelper,\n          nodeModuleEmitKind,\n          ...transpilerOptions,\n        });\n      }\n    }\n  }\n\n  // Install source map support and read from memory cache.\n  function installSourceMapSupport() {\n    const sourceMapSupport = require('@cspotcode/source-map-support') as typeof _sourceMapSupport;\n    sourceMapSupport.install({\n      environment: 'node',\n      retrieveFile(pathOrUrl: string) {\n        let path = pathOrUrl;\n        // If it's a file URL, convert to local path\n        // I could not find a way to handle non-URLs except to swallow an error\n        if (path.startsWith('file://')) {\n          try {\n            path = fileURLToPath(path);\n          } catch (e) {\n            /* swallow error */\n          }\n        }\n        path = normalizeSlashes(path);\n        return outputCache.get(path)?.content || '';\n      },\n      redirectConflictingLibrary: true,\n      onConflictingLibraryRedirect(request, parent, isMain, options, redirectedRequest) {\n        debug(\n          `Redirected an attempt to require source-map-support to instead receive @cspotcode/source-map-support.  \"${\n            (parent as NodeJS.Module).filename\n          }\" attempted to require or resolve \"${request}\" and was redirected to \"${redirectedRequest}\".`\n        );\n      },\n    });\n  }\n\n  const shouldHavePrettyErrors = options.pretty === undefined ? process.stdout.isTTY : options.pretty;\n\n  const formatDiagnostics = shouldHavePrettyErrors\n    ? ts.formatDiagnosticsWithColorAndContext || ts.formatDiagnostics\n    : ts.formatDiagnostics;\n\n  function createTSError(diagnostics: ReadonlyArray<_ts.Diagnostic>) {\n    const diagnosticText = formatDiagnostics(diagnostics, diagnosticHost);\n    const diagnosticCodes = diagnostics.map((x) => x.code);\n    return new TSError(diagnosticText, diagnosticCodes, diagnostics);\n  }\n\n  function reportTSError(configDiagnosticList: _ts.Diagnostic[]) {\n    const error = createTSError(configDiagnosticList);\n    if (options.logError) {\n      // Print error in red color and continue execution.\n      console.error('\\x1b[31m%s\\x1b[0m', error);\n    } else {\n      // Throw error and exit the script.\n      throw error;\n    }\n  }\n\n  // Render the configuration errors.\n  if (configDiagnosticList.length) reportTSError(configDiagnosticList);\n\n  const jsxEmitPreserve = config.options.jsx === ts.JsxEmit.Preserve;\n  /**\n   * Get the extension for a transpiled file.\n   * [MUST_UPDATE_FOR_NEW_FILE_EXTENSIONS]\n   */\n  function getEmitExtension(path: string) {\n    const lastDotIndex = path.lastIndexOf('.');\n    if (lastDotIndex >= 0) {\n      const ext = path.slice(lastDotIndex);\n      switch (ext) {\n        case '.js':\n        case '.ts':\n          return '.js';\n        case '.jsx':\n        case '.tsx':\n          return jsxEmitPreserve ? '.jsx' : '.js';\n        case '.mjs':\n        case '.mts':\n          return '.mjs';\n        case '.cjs':\n        case '.cts':\n          return '.cjs';\n      }\n    }\n    return '.js';\n  }\n\n  type GetOutputFunction = (code: string, fileName: string) => SourceOutput;\n  /**\n   * Get output from TS compiler w/typechecking.  `undefined` in `transpileOnly`\n   * mode.\n   */\n  let getOutput: GetOutputFunction | undefined;\n  let getTypeInfo: (_code: string, _fileName: string, _position: number) => TypeInfo;\n\n  const getCanonicalFileName = (ts as unknown as TSInternal).createGetCanonicalFileName(\n    ts.sys.useCaseSensitiveFileNames\n  );\n\n  const moduleTypeClassifier = createModuleTypeClassifier({\n    basePath: options.optionBasePaths?.moduleTypes,\n    patterns: options.moduleTypes,\n  });\n\n  const extensions = getExtensions(config, options, ts.version);\n\n  // Use full language services when the fast option is disabled.\n  if (!transpileOnly) {\n    const fileContents = new Map<string, string>();\n    const rootFileNames = new Set(config.fileNames);\n    const cachedReadFile = cachedLookup(debugFn('readFile', readFile));\n\n    // Use language services by default\n    if (!options.compilerHost) {\n      let projectVersion = 1;\n      const fileVersions = new Map(Array.from(rootFileNames).map((fileName) => [fileName, 0]));\n\n      const getCustomTransformers = () => {\n        if (typeof transformers === 'function') {\n          const program = service.getProgram();\n          return program ? transformers(program) : undefined;\n        }\n\n        return transformers;\n      };\n\n      // Create the compiler host for type checking.\n      const serviceHost: _ts.LanguageServiceHost & Required<Pick<_ts.LanguageServiceHost, 'fileExists' | 'readFile'>> =\n        {\n          getProjectVersion: () => String(projectVersion),\n          getScriptFileNames: () => Array.from(rootFileNames),\n          getScriptVersion: (fileName: string) => {\n            const version = fileVersions.get(fileName);\n            return version ? version.toString() : '';\n          },\n          getScriptSnapshot(fileName: string) {\n            // TODO ordering of this with getScriptVersion?  Should they sync up?\n            let contents = fileContents.get(fileName);\n\n            // Read contents into TypeScript memory cache.\n            if (contents === undefined) {\n              contents = cachedReadFile(fileName);\n              if (contents === undefined) return;\n\n              fileVersions.set(fileName, 1);\n              fileContents.set(fileName, contents);\n              projectVersion++;\n            }\n\n            return ts.ScriptSnapshot.fromString(contents);\n          },\n          readFile: cachedReadFile,\n          readDirectory: ts.sys.readDirectory,\n          getDirectories: cachedLookup(debugFn('getDirectories', ts.sys.getDirectories)),\n          fileExists: cachedLookup(debugFn('fileExists', fileExists)),\n          directoryExists: cachedLookup(debugFn('directoryExists', ts.sys.directoryExists)),\n          realpath: ts.sys.realpath ? cachedLookup(debugFn('realpath', ts.sys.realpath)) : undefined,\n          getNewLine: () => ts.sys.newLine,\n          useCaseSensitiveFileNames: () => ts.sys.useCaseSensitiveFileNames,\n          getCurrentDirectory: () => cwd,\n          getCompilationSettings: () => config.options,\n          getDefaultLibFileName: () => ts.getDefaultLibFilePath(config.options),\n          getCustomTransformers: getCustomTransformers,\n          trace: options.tsTrace,\n        };\n      const {\n        resolveModuleNames,\n        getResolvedModuleWithFailedLookupLocationsFromCache,\n        resolveTypeReferenceDirectives,\n        isFileKnownToBeInternal,\n        markBucketOfFilenameInternal,\n      } = createResolverFunctions({\n        host: serviceHost,\n        getCanonicalFileName,\n        ts,\n        cwd,\n        config,\n        projectLocalResolveHelper,\n        options,\n        extensions,\n      });\n      serviceHost.resolveModuleNames = resolveModuleNames;\n      serviceHost.getResolvedModuleWithFailedLookupLocationsFromCache =\n        getResolvedModuleWithFailedLookupLocationsFromCache;\n      serviceHost.resolveTypeReferenceDirectives = resolveTypeReferenceDirectives;\n\n      const registry = ts.createDocumentRegistry(ts.sys.useCaseSensitiveFileNames, cwd);\n      const service = ts.createLanguageService(serviceHost, registry);\n\n      const updateMemoryCache = (contents: string, fileName: string) => {\n        // Add to `rootFiles` as necessary, either to make TS include a file it has not seen,\n        // or to trigger a re-classification of files from external to internal.\n        if (!rootFileNames.has(fileName) && !isFileKnownToBeInternal(fileName)) {\n          markBucketOfFilenameInternal(fileName);\n          rootFileNames.add(fileName);\n          // Increment project version for every change to rootFileNames.\n          projectVersion++;\n        }\n\n        const previousVersion = fileVersions.get(fileName) || 0;\n        const previousContents = fileContents.get(fileName);\n        // Avoid incrementing cache when nothing has changed.\n        if (contents !== previousContents) {\n          fileVersions.set(fileName, previousVersion + 1);\n          fileContents.set(fileName, contents);\n          // Increment project version for every file change.\n          projectVersion++;\n        }\n      };\n\n      let previousProgram: _ts.Program | undefined = undefined;\n\n      getOutput = (code: string, fileName: string) => {\n        updateMemoryCache(code, fileName);\n\n        const programBefore = service.getProgram();\n        if (programBefore !== previousProgram) {\n          debug(`compiler rebuilt Program instance when getting output for ${fileName}`);\n        }\n\n        const output = service.getEmitOutput(fileName);\n\n        // Get the relevant diagnostics - this is 3x faster than `getPreEmitDiagnostics`.\n        const diagnostics = service.getSemanticDiagnostics(fileName).concat(service.getSyntacticDiagnostics(fileName));\n\n        const programAfter = service.getProgram();\n\n        debug(\n          'invariant: Is service.getProject() identical before and after getting emit output and diagnostics? (should always be true) ',\n          programBefore === programAfter\n        );\n\n        previousProgram = programAfter;\n\n        const diagnosticList = filterDiagnostics(diagnostics, diagnosticFilters);\n        if (diagnosticList.length) reportTSError(diagnosticList);\n\n        if (output.emitSkipped) {\n          return [undefined, undefined, true];\n        }\n\n        // Throw an error when requiring `.d.ts` files.\n        if (output.outputFiles.length === 0) {\n          throw new TypeError(\n            `Unable to require file: ${relative(cwd, fileName)}\\n` +\n              'This is usually the result of a faulty configuration or import. ' +\n              'Make sure there is a `.js`, `.json` or other executable extension with ' +\n              'loader attached before `ts-node` available.'\n          );\n        }\n\n        return [output.outputFiles[1].text, output.outputFiles[0].text, false];\n      };\n\n      getTypeInfo = (code: string, fileName: string, position: number) => {\n        const normalizedFileName = normalizeSlashes(fileName);\n        updateMemoryCache(code, normalizedFileName);\n\n        const info = service.getQuickInfoAtPosition(normalizedFileName, position);\n        const name = ts.displayPartsToString(info ? info.displayParts : []);\n        const comment = ts.displayPartsToString(info ? info.documentation : []);\n\n        return { name, comment };\n      };\n    } else {\n      const sys: _ts.System & _ts.FormatDiagnosticsHost = {\n        ...ts.sys,\n        ...diagnosticHost,\n        readFile: (fileName: string) => {\n          const cacheContents = fileContents.get(fileName);\n          if (cacheContents !== undefined) return cacheContents;\n          const contents = cachedReadFile(fileName);\n          if (contents) fileContents.set(fileName, contents);\n          return contents;\n        },\n        readDirectory: ts.sys.readDirectory,\n        getDirectories: cachedLookup(debugFn('getDirectories', ts.sys.getDirectories)),\n        fileExists: cachedLookup(debugFn('fileExists', fileExists)),\n        directoryExists: cachedLookup(debugFn('directoryExists', ts.sys.directoryExists)),\n        resolvePath: cachedLookup(debugFn('resolvePath', ts.sys.resolvePath)),\n        realpath: ts.sys.realpath ? cachedLookup(debugFn('realpath', ts.sys.realpath)) : undefined,\n      };\n\n      const host: _ts.CompilerHost = ts.createIncrementalCompilerHost(config.options, sys);\n      host.trace = options.tsTrace;\n      const {\n        resolveModuleNames,\n        resolveTypeReferenceDirectives,\n        isFileKnownToBeInternal,\n        markBucketOfFilenameInternal,\n      } = createResolverFunctions({\n        host,\n        cwd,\n        config,\n        ts,\n        getCanonicalFileName,\n        projectLocalResolveHelper,\n        options,\n        extensions,\n      });\n      host.resolveModuleNames = resolveModuleNames;\n      host.resolveTypeReferenceDirectives = resolveTypeReferenceDirectives;\n\n      let builderProgram = ts.createIncrementalProgram({\n        rootNames: Array.from(rootFileNames),\n        options: config.options,\n        host,\n        configFileParsingDiagnostics: config.errors,\n        projectReferences: config.projectReferences,\n      });\n\n      // Read and cache custom transformers.\n      const customTransformers =\n        typeof transformers === 'function' ? transformers(builderProgram.getProgram()) : transformers;\n\n      // Set the file contents into cache manually.\n      const updateMemoryCache = (contents: string, fileName: string) => {\n        const previousContents = fileContents.get(fileName);\n        const contentsChanged = previousContents !== contents;\n        if (contentsChanged) {\n          fileContents.set(fileName, contents);\n        }\n\n        // Add to `rootFiles` when discovered by compiler for the first time.\n        let addedToRootFileNames = false;\n        if (!rootFileNames.has(fileName) && !isFileKnownToBeInternal(fileName)) {\n          markBucketOfFilenameInternal(fileName);\n          rootFileNames.add(fileName);\n          addedToRootFileNames = true;\n        }\n\n        // Update program when file changes.\n        if (addedToRootFileNames || contentsChanged) {\n          builderProgram = ts.createEmitAndSemanticDiagnosticsBuilderProgram(\n            Array.from(rootFileNames),\n            config.options,\n            host,\n            builderProgram,\n            config.errors,\n            config.projectReferences\n          );\n        }\n      };\n\n      getOutput = (code: string, fileName: string) => {\n        let outText = '';\n        let outMap = '';\n\n        updateMemoryCache(code, fileName);\n\n        const sourceFile = builderProgram.getSourceFile(fileName);\n        if (!sourceFile) throw new TypeError(`Unable to read file: ${fileName}`);\n\n        const program = builderProgram.getProgram();\n        const diagnostics = ts.getPreEmitDiagnostics(program, sourceFile);\n        const diagnosticList = filterDiagnostics(diagnostics, diagnosticFilters);\n        if (diagnosticList.length) reportTSError(diagnosticList);\n\n        const result = builderProgram.emit(\n          sourceFile,\n          (path, file, writeByteOrderMark) => {\n            if (path.endsWith('.map')) {\n              outMap = file;\n            } else {\n              outText = file;\n            }\n\n            if (options.emit) sys.writeFile(path, file, writeByteOrderMark);\n          },\n          undefined,\n          undefined,\n          customTransformers\n        );\n\n        if (result.emitSkipped) {\n          return [undefined, undefined, true];\n        }\n\n        // Throw an error when requiring files that cannot be compiled.\n        if (outText === '') {\n          if (program.isSourceFileFromExternalLibrary(sourceFile)) {\n            throw new TypeError(`Unable to compile file from external library: ${relative(cwd, fileName)}`);\n          }\n\n          throw new TypeError(\n            `Unable to require file: ${relative(cwd, fileName)}\\n` +\n              'This is usually the result of a faulty configuration or import. ' +\n              'Make sure there is a `.js`, `.json` or other executable extension with ' +\n              'loader attached before `ts-node` available.'\n          );\n        }\n\n        return [outText, outMap, false];\n      };\n\n      getTypeInfo = (code: string, fileName: string, position: number) => {\n        const normalizedFileName = normalizeSlashes(fileName);\n        updateMemoryCache(code, normalizedFileName);\n\n        const sourceFile = builderProgram.getSourceFile(normalizedFileName);\n        if (!sourceFile) throw new TypeError(`Unable to read file: ${fileName}`);\n\n        const node = getTokenAtPosition(ts, sourceFile, position);\n        const checker = builderProgram.getProgram().getTypeChecker();\n        const symbol = checker.getSymbolAtLocation(node);\n\n        if (!symbol) return { name: '', comment: '' };\n\n        const type = checker.getTypeOfSymbolAtLocation(symbol, node);\n        const signatures = [...type.getConstructSignatures(), ...type.getCallSignatures()];\n\n        return {\n          name: signatures.length\n            ? signatures.map((x) => checker.signatureToString(x)).join('\\n')\n            : checker.typeToString(type),\n          comment: ts.displayPartsToString(symbol ? symbol.getDocumentationComment(checker) : []),\n        };\n      };\n\n      // Write `.tsbuildinfo` when `--build` is enabled.\n      if (options.emit && config.options.incremental) {\n        process.on('exit', () => {\n          // Emits `.tsbuildinfo` to filesystem.\n          (builderProgram.getProgram() as any).emitBuildInfo();\n        });\n      }\n    }\n  } else {\n    getTypeInfo = () => {\n      throw new TypeError('Type information is unavailable in \"--transpile-only\"');\n    };\n  }\n\n  function createTranspileOnlyGetOutputFunction(\n    overrideModuleType?: _ts.ModuleKind,\n    nodeModuleEmitKind?: NodeModuleEmitKind\n  ): GetOutputFunction {\n    const compilerOptions = { ...config.options };\n    if (overrideModuleType !== undefined) compilerOptions.module = overrideModuleType;\n    let customTranspiler = createTranspiler?.(compilerOptions, nodeModuleEmitKind);\n    let tsTranspileModule = versionGteLt(ts.version, '4.7.0')\n      ? createTsTranspileModule(ts, {\n          compilerOptions,\n          reportDiagnostics: true,\n          transformers: transformers as _ts.CustomTransformers | undefined,\n        })\n      : undefined;\n    return (code: string, fileName: string): SourceOutput => {\n      let result: _ts.TranspileOutput;\n      if (customTranspiler) {\n        result = customTranspiler.transpile(code, {\n          fileName,\n        });\n      } else if (tsTranspileModule) {\n        result = tsTranspileModule(\n          code,\n          {\n            fileName,\n          },\n          nodeModuleEmitKind === 'nodeesm' ? 'module' : 'commonjs'\n        );\n      } else {\n        result = ts.transpileModule(code, {\n          fileName,\n          compilerOptions,\n          reportDiagnostics: true,\n          transformers: transformers as _ts.CustomTransformers | undefined,\n        });\n      }\n\n      const diagnosticList = filterDiagnostics(result.diagnostics || [], diagnosticFilters);\n      if (diagnosticList.length) reportTSError(diagnosticList);\n\n      return [result.outputText, result.sourceMapText ?? '{}', false];\n    };\n  }\n\n  // When true, these mean that a `moduleType` override will cause a different emit\n  // than the TypeScript compiler, so we *must* overwrite the emit.\n  const shouldOverwriteEmitWhenForcingCommonJS = config.options.module !== ts.ModuleKind.CommonJS;\n  // [MUST_UPDATE_FOR_NEW_MODULEKIND]\n  const shouldOverwriteEmitWhenForcingEsm = !(\n    config.options.module === ts.ModuleKind.ES2015 ||\n    (ts.ModuleKind.ES2020 && config.options.module === ts.ModuleKind.ES2020) ||\n    (ts.ModuleKind.ES2022 && config.options.module === ts.ModuleKind.ES2022) ||\n    config.options.module === ts.ModuleKind.ESNext\n  );\n  /**\n   * node16 or nodenext\n   * [MUST_UPDATE_FOR_NEW_MODULEKIND]\n   */\n  const isNodeModuleType =\n    (ts.ModuleKind.Node16 && config.options.module === ts.ModuleKind.Node16) ||\n    (ts.ModuleKind.NodeNext && config.options.module === ts.ModuleKind.NodeNext);\n  const getOutputForceCommonJS = createTranspileOnlyGetOutputFunction(ts.ModuleKind.CommonJS);\n  const getOutputForceNodeCommonJS = createTranspileOnlyGetOutputFunction(ts.ModuleKind.NodeNext, 'nodecjs');\n  const getOutputForceNodeESM = createTranspileOnlyGetOutputFunction(ts.ModuleKind.NodeNext, 'nodeesm');\n  // [MUST_UPDATE_FOR_NEW_MODULEKIND]\n  const getOutputForceESM = createTranspileOnlyGetOutputFunction(\n    ts.ModuleKind.ES2022 || ts.ModuleKind.ES2020 || ts.ModuleKind.ES2015\n  );\n  const getOutputTranspileOnly = createTranspileOnlyGetOutputFunction();\n\n  // Create a simple TypeScript compiler proxy.\n  function compile(code: string, fileName: string, lineOffset = 0) {\n    const normalizedFileName = normalizeSlashes(fileName);\n    const classification = moduleTypeClassifier.classifyModuleByModuleTypeOverrides(normalizedFileName);\n    let value: string | undefined = '';\n    let sourceMap: string | undefined = '';\n    let emitSkipped = true;\n    if (getOutput) {\n      // Must always call normal getOutput to throw typechecking errors\n      [value, sourceMap, emitSkipped] = getOutput(code, normalizedFileName);\n    }\n    // If module classification contradicts the above, call the relevant transpiler\n    if (classification.moduleType === 'cjs' && (shouldOverwriteEmitWhenForcingCommonJS || emitSkipped)) {\n      [value, sourceMap] = getOutputForceCommonJS(code, normalizedFileName);\n    } else if (classification.moduleType === 'esm' && (shouldOverwriteEmitWhenForcingEsm || emitSkipped)) {\n      [value, sourceMap] = getOutputForceESM(code, normalizedFileName);\n    } else if (emitSkipped) {\n      // Happens when ts compiler skips emit or in transpileOnly mode\n      const classification = classifyModule(fileName, isNodeModuleType);\n      [value, sourceMap] =\n        classification === 'nodecjs'\n          ? getOutputForceNodeCommonJS(code, normalizedFileName)\n          : classification === 'nodeesm'\n          ? getOutputForceNodeESM(code, normalizedFileName)\n          : classification === 'cjs'\n          ? getOutputForceCommonJS(code, normalizedFileName)\n          : classification === 'esm'\n          ? getOutputForceESM(code, normalizedFileName)\n          : getOutputTranspileOnly(code, normalizedFileName);\n    }\n    const output = updateOutput(value!, normalizedFileName, sourceMap!, getEmitExtension);\n    outputCache.set(normalizedFileName, { content: output });\n    return output;\n  }\n\n  let active = true;\n  const enabled = (enabled?: boolean) => (enabled === undefined ? active : (active = !!enabled));\n  const ignored = (fileName: string) => {\n    if (!active) return true;\n    const ext = extname(fileName);\n    if (extensions.compiled.includes(ext)) {\n      return !isScoped(fileName) || shouldIgnore(fileName);\n    }\n    return true;\n  };\n\n  function addDiagnosticFilter(filter: DiagnosticFilter) {\n    diagnosticFilters.push({\n      ...filter,\n      filenamesAbsolute: filter.filenamesAbsolute.map((f) => normalizeSlashes(f)),\n    });\n  }\n\n  const getNodeEsmResolver = once(() =>\n    (require('../dist-raw/node-internal-modules-esm-resolve') as typeof _nodeInternalModulesEsmResolve).createResolve({\n      extensions,\n      preferTsExts: options.preferTsExts,\n      tsNodeExperimentalSpecifierResolution: options.experimentalSpecifierResolution,\n    })\n  );\n  const getNodeEsmGetFormat = once(() =>\n    (\n      require('../dist-raw/node-internal-modules-esm-get_format') as typeof _nodeInternalModulesEsmGetFormat\n    ).createGetFormat(options.experimentalSpecifierResolution, getNodeEsmResolver())\n  );\n  const getNodeCjsLoader = once(() =>\n    (require('../dist-raw/node-internal-modules-cjs-loader') as typeof _nodeInternalModulesCjsLoader).createCjsLoader({\n      extensions,\n      preferTsExts: options.preferTsExts,\n      nodeEsmResolver: getNodeEsmResolver(),\n    })\n  );\n\n  return {\n    [TS_NODE_SERVICE_BRAND]: true,\n    ts,\n    compilerPath: compiler,\n    config,\n    compile,\n    getTypeInfo,\n    ignored,\n    enabled,\n    options,\n    configFilePath,\n    moduleTypeClassifier,\n    shouldReplAwait,\n    addDiagnosticFilter,\n    installSourceMapSupport,\n    transpileOnly,\n    projectLocalResolveHelper,\n    getNodeEsmResolver,\n    getNodeEsmGetFormat,\n    getNodeCjsLoader,\n    extensions,\n  };\n}\n\n/**\n * Check if the filename should be ignored.\n */\nfunction createIgnore(ignoreBaseDir: string, ignore: RegExp[]) {\n  return (fileName: string) => {\n    const relname = relative(ignoreBaseDir, fileName);\n    const path = normalizeSlashes(relname);\n\n    return ignore.some((x) => x.test(path));\n  };\n}\n\n/**\n * Register the extensions to support when importing files.\n */\nfunction registerExtensions(\n  preferTsExts: boolean | null | undefined,\n  extensions: string[],\n  service: Service,\n  originalJsHandler: (m: NodeModule, filename: string) => any\n) {\n  const exts = new Set(extensions);\n  // Can't add these extensions cuz would allow omitting file extension; node requires ext for .cjs and .mjs\n  // Unless they're already registered by something else (nyc does this):\n  // then we *must* hook them or else our transformer will not be called.\n  for (const cannotAdd of ['.mts', '.cts', '.mjs', '.cjs']) {\n    if (exts.has(cannotAdd) && !hasOwnProperty(require.extensions, cannotAdd)) {\n      // Unrecognized file exts can be transformed via the `.js` handler.\n      exts.add('.js');\n      exts.delete(cannotAdd);\n    }\n  }\n\n  // Register new extensions.\n  for (const ext of exts) {\n    registerExtension(ext, service, originalJsHandler);\n  }\n\n  if (preferTsExts) {\n    const preferredExtensions = new Set([...exts, ...Object.keys(require.extensions)]);\n\n    // Re-sort iteration order of Object.keys()\n    for (const ext of preferredExtensions) {\n      const old = Object.getOwnPropertyDescriptor(require.extensions, ext);\n      delete require.extensions[ext];\n      Object.defineProperty(require.extensions, ext, old!);\n    }\n  }\n}\n\n/**\n * Register the extension for node.\n */\nfunction registerExtension(ext: string, service: Service, originalHandler: (m: NodeModule, filename: string) => any) {\n  const old = require.extensions[ext] || originalHandler;\n\n  require.extensions[ext] = function (m: any, filename) {\n    if (service.ignored(filename)) return old(m, filename);\n\n    assertScriptCanLoadAsCJS(service, m, filename);\n\n    const _compile = m._compile;\n\n    m._compile = function (code: string, fileName: string) {\n      debug('module._compile', fileName);\n\n      const result = service.compile(code, fileName);\n      return _compile.call(this, result, fileName);\n    };\n\n    return old(m, filename);\n  };\n}\n\n/**\n * Internal source output.\n */\ntype SourceOutput = [string, string, false] | [undefined, undefined, true];\n\n/**\n * Update the output remapping the source map.\n */\nfunction updateOutput(\n  outputText: string,\n  fileName: string,\n  sourceMap: string,\n  getEmitExtension: (fileName: string) => string\n) {\n  const base64Map = Buffer.from(updateSourceMap(sourceMap, fileName), 'utf8').toString('base64');\n  const sourceMapContent = `//# sourceMappingURL=data:application/json;charset=utf-8;base64,${base64Map}`;\n  // Expected form: `//# sourceMappingURL=foo bar.js.map` or `//# sourceMappingURL=foo%20bar.js.map` for input file \"foo bar.tsx\"\n  // Percent-encoding behavior added in TS 4.1.1: https://github.com/microsoft/TypeScript/issues/40951\n  const prefix = '//# sourceMappingURL=';\n  const prefixLength = prefix.length;\n  const baseName = /*foo.tsx*/ basename(fileName);\n  const extName = /*.tsx*/ extname(fileName);\n  const extension = /*.js*/ getEmitExtension(fileName);\n  const sourcemapFilename = baseName.slice(0, -extName.length) + extension + '.map';\n  const sourceMapLengthWithoutPercentEncoding = prefixLength + sourcemapFilename.length;\n  /*\n   * Only rewrite if existing directive exists at the location we expect, to support:\n   *   a) compilers that do not append a sourcemap directive\n   *   b) situations where we did the math wrong\n   *     Not ideal, but appending our sourcemap *after* a pre-existing sourcemap still overrides, so the end-user is happy.\n   */\n  if (outputText.substr(-sourceMapLengthWithoutPercentEncoding, prefixLength) === prefix) {\n    return outputText.slice(0, -sourceMapLengthWithoutPercentEncoding) + sourceMapContent;\n  }\n  // If anyone asks why we're not using URL, the URL equivalent is: `u = new URL('http://d'); u.pathname = \"/\" + sourcemapFilename; return u.pathname.slice(1);\n  const sourceMapLengthWithPercentEncoding = prefixLength + encodeURI(sourcemapFilename).length;\n  if (outputText.substr(-sourceMapLengthWithPercentEncoding, prefixLength) === prefix) {\n    return outputText.slice(0, -sourceMapLengthWithPercentEncoding) + sourceMapContent;\n  }\n\n  return `${outputText}\\n${sourceMapContent}`;\n}\n\n/**\n * Update the source map contents for improved output.\n */\nfunction updateSourceMap(sourceMapText: string, fileName: string) {\n  const sourceMap = JSON.parse(sourceMapText);\n  sourceMap.file = fileName;\n  sourceMap.sources = [fileName];\n  delete sourceMap.sourceRoot;\n  return JSON.stringify(sourceMap);\n}\n\n/**\n * Filter diagnostics.\n */\nfunction filterDiagnostics(diagnostics: readonly _ts.Diagnostic[], filters: DiagnosticFilter[]) {\n  return diagnostics.filter((d) =>\n    filters.every(\n      (f) =>\n        (!f.appliesToAllFiles && f.filenamesAbsolute.indexOf(d.file?.fileName!) === -1) ||\n        f.diagnosticsIgnored.indexOf(d.code) === -1\n    )\n  );\n}\n\n/**\n * Get token at file position.\n *\n * Reference: https://github.com/microsoft/TypeScript/blob/fcd9334f57d85b73dd66ad2d21c02e84822f4841/src/services/utilities.ts#L705-L731\n */\nfunction getTokenAtPosition(ts: TSCommon, sourceFile: _ts.SourceFile, position: number): _ts.Node {\n  let current: _ts.Node = sourceFile;\n\n  outer: while (true) {\n    for (const child of current.getChildren(sourceFile)) {\n      const start = child.getFullStart();\n      if (start > position) break;\n\n      const end = child.getEnd();\n      if (position <= end) {\n        current = child;\n        continue outer;\n      }\n    }\n\n    return current;\n  }\n}\n\n/**\n * Create an implementation of node's ESM loader hooks.\n *\n * This may be useful if you\n * want to wrap or compose the loader hooks to add additional functionality or\n * combine with another loader.\n *\n * Node changed the hooks API, so there are two possible APIs.  This function\n * detects your node version and returns the appropriate API.\n *\n * @category ESM Loader\n */\nexport const createEsmHooks: typeof createEsmHooksFn = (tsNodeService: Service) =>\n  (require('./esm') as typeof import('./esm')).createEsmHooks(tsNodeService);\n\n/**\n * When using `module: nodenext` or `module: node12`, there are two possible styles of emit depending in file extension or package.json \"type\":\n *\n * - CommonJS with dynamic imports preserved (not transformed into `require()` calls)\n * - ECMAScript modules with `import foo = require()` transformed into `require = createRequire(); const foo = require()`\n */\nexport type NodeModuleEmitKind = 'nodeesm' | 'nodecjs';\n"
  },
  {
    "path": "src/module-type-classifier.ts",
    "content": "import type { ModuleTypeOverride, ModuleTypes } from '.';\nimport { getPatternFromSpec } from './ts-internals';\nimport { cachedLookup, normalizeSlashes } from './util';\n\n// Logic to support our `moduleTypes` option, which allows overriding node's default ESM / CJS\n// classification of `.js` files based on package.json `type` field.\n\n/**\n * Seperate internal type because `auto` is clearer than `package`, but changing\n * the public API is a breaking change.\n * @internal\n */\nexport type InternalModuleTypeOverride = 'cjs' | 'esm' | 'auto';\n/** @internal */\nexport interface ModuleTypeClassification {\n  moduleType: InternalModuleTypeOverride;\n}\n/** @internal */\nexport interface ModuleTypeClassifierOptions {\n  basePath?: string;\n  patterns?: ModuleTypes;\n}\n/** @internal */\nexport type ModuleTypeClassifier = ReturnType<typeof createModuleTypeClassifier>;\n/**\n * @internal\n * May receive non-normalized options -- basePath and patterns -- and will normalize them\n * internally.\n * However, calls to `classifyModule` must pass pre-normalized paths!\n */\nexport function createModuleTypeClassifier(options: ModuleTypeClassifierOptions) {\n  const { patterns, basePath: _basePath } = options;\n  const basePath = _basePath !== undefined ? normalizeSlashes(_basePath).replace(/\\/$/, '') : undefined;\n\n  const patternTypePairs = Object.entries(patterns ?? []).map(([_pattern, type]) => {\n    const pattern = normalizeSlashes(_pattern);\n    return { pattern: parsePattern(basePath!, pattern), type };\n  });\n\n  const classifications: Record<ModuleTypeOverride, ModuleTypeClassification> = {\n    package: {\n      moduleType: 'auto',\n    },\n    cjs: {\n      moduleType: 'cjs',\n    },\n    esm: {\n      moduleType: 'esm',\n    },\n  };\n  const auto = classifications.package;\n\n  // Passed path must be normalized!\n  function classifyModuleNonCached(path: string): ModuleTypeClassification {\n    const matched = matchPatterns(patternTypePairs, (_) => _.pattern, path);\n    if (matched) return classifications[matched.type];\n    return auto;\n  }\n\n  const classifyModule = cachedLookup(classifyModuleNonCached);\n\n  function classifyModuleAuto(path: String) {\n    return auto;\n  }\n\n  return {\n    classifyModuleByModuleTypeOverrides: patternTypePairs.length ? classifyModule : classifyModuleAuto,\n  };\n}\n\nfunction parsePattern(basePath: string, patternString: string): RegExp {\n  const pattern = getPatternFromSpec(patternString, basePath);\n  return pattern !== undefined ? new RegExp(pattern) : /(?:)/;\n}\n\nfunction matchPatterns<T>(objects: T[], getPattern: (t: T) => RegExp, candidate: string): T | undefined {\n  for (let i = objects.length - 1; i >= 0; i--) {\n    const object = objects[i];\n    const pattern = getPattern(object);\n\n    if (pattern?.test(candidate)) {\n      return object;\n    }\n  }\n}\n"
  },
  {
    "path": "src/node-module-type-classifier.ts",
    "content": "import { readPackageScope } from '../dist-raw/node-internal-modules-cjs-loader';\n\n/**\n * Determine how to emit a module based on tsconfig \"module\" and package.json \"type\"\n *\n * Supports module=nodenext/node16 with transpileOnly, where we cannot ask the\n * TS typechecker to tell us if a file is CJS or ESM.\n *\n * Return values indicate:\n * - cjs\n * - esm\n * - nodecjs == node-flavored cjs where dynamic imports are *not* transformed into `require()`\n * - undefined == emit according to tsconfig `module` config, whatever that is\n * @internal\n */\nexport function classifyModule(\n  nativeFilename: string,\n  isNodeModuleType: boolean\n): 'nodecjs' | 'cjs' | 'esm' | 'nodeesm' | undefined {\n  // [MUST_UPDATE_FOR_NEW_FILE_EXTENSIONS]\n  const lastDotIndex = nativeFilename.lastIndexOf('.');\n  const ext = lastDotIndex >= 0 ? nativeFilename.slice(lastDotIndex) : '';\n  switch (ext) {\n    case '.cjs':\n    case '.cts':\n      return isNodeModuleType ? 'nodecjs' : 'cjs';\n    case '.mjs':\n    case '.mts':\n      return isNodeModuleType ? 'nodeesm' : 'esm';\n  }\n  if (isNodeModuleType) {\n    const packageScope = readPackageScope(nativeFilename);\n    if (packageScope && packageScope.data.type === 'module') return 'nodeesm';\n    return 'nodecjs';\n  }\n  return undefined;\n}\n"
  },
  {
    "path": "src/node-resolver-functions.ts.disabled",
    "content": "import { cachedLookup, normalizeSlashes } from './util';\nimport type * as _ts from 'typescript';\nimport { dirname, resolve } from 'path';\nimport { getPatternFromSpec } from './ts-internals';\nimport type { TSInternal } from './ts-compiler-types';\nimport { getDefaultTsconfigJsonForNodeVersion } from './tsconfigs';\nimport {\n  getTsConfigDefaults,\n  ComputeAsCommonRootOfFiles,\n} from './configuration';\n\ninterface SrcOutPair {\n  preferSrc: boolean;\n  root: string;\n  out: string;\n}\n// interface RootDirsSet {\n//   rootDirs: string[];\n// }\n\nfunction contains(parentDirWithTrailingSlash: string, childDir: string) {\n  return childDir.startsWith(parentDirWithTrailingSlash);\n}\n\nclass SolutionResolver {}\n\nclass ProjectResolver {\n  files: string[];\n  includeRe: RegExp;\n  excludeRe: Regexp;\n\n  constuctor(\n    ts: TSInternal,\n    tsconfig: _ts.ParsedCommandLine,\n    configFilePathOrCwd: string,\n    basePath: string,\n    files: string[] | undefined,\n    include: string[] | undefined,\n    exclude: string[] | undefined\n  ) {\n    // const configBaseDir = normalizeSlashes(dirname(configFilePathOrCwd));\n    const {\n      rootDir,\n      include: includeSpecs,\n      files: filesArray,\n      exclude: excludeSpecs,\n    } = getTsConfigDefaults(tsconfig, basePath, files, include, exclude);\n    if (rootDir === ComputeAsCommonRootOfFiles) {\n      throw new Error(\n        'Cannot determine rootDir if composite is not set.  Either enable composite or set explicit rootDir'\n      );\n    }\n\n    this.files = filesArray.map((f) => normalizeSlashes(resolve(basePath, f)));\n    const reString = ts.getRegularExpressionForWildcard(\n      includeSpecs,\n      basePath,\n      'files'\n    );\n    this.includeRe = new RegExp(reString ?? '$^');\n    const reString2 = ts.getRegularExpressionForWildcard(\n      excludeSpecs as string[],\n      basePath,\n      'exclude'\n    );\n    this.excludeRe = new RegExp(reString2 ?? '$^');\n  }\n}\n\nfunction createNodeResolverFunctions(opts: {\n  allowJs: boolean;\n  jsx: boolean;\n  cjsMjs: boolean;\n}) {\n  const { allowJs, cjsMjs, jsx } = opts;\n\n  const rootOutPairs: SrcOutPair[] = [];\n  // const rootDirsSets: RootDirsSet[] = [];\n\n  /**\n   * Must be passed normalized slashes!\n   * Assumes root and out are different!\n   */\n  function addRootOutPair(root: string, out: string, preferSrc = true) {\n    root = ensureTrailingSlash(root);\n    out = ensureTrailingSlash(out);\n    rootOutPairs.push({ root, out, preferSrc });\n  }\n\n  function ensureTrailingSlash(str: string) {\n    if (str.includes('\\\\'))\n      throw new Error('String must have normalized slashes');\n    if (!str.endsWith('/')) str += '/';\n    return str;\n  }\n\n  // function mapFromOutToRoot(directory: string) {\n  //   directory = ensureTrailingSlash(directory);\n  //   for(const {out, root} of rootOutPairs) {\n  //     if(directory.startsWith(out)) {\n  //       return root + directory.slice(out.length);\n  //     }\n  //   }\n  //   return directory;\n  // }\n  function mapFromRootToOut(directory: string) {\n    directory = ensureTrailingSlash(directory);\n    for (const { out, root } of rootOutPairs) {\n      if (directory.startsWith(root)) {\n        // TODO how to exclude node_modules from this mapping??\n        // Check regexp patterns to see if this file is included?\n        return out + directory.slice(root.length);\n      }\n    }\n    return directory;\n  }\n\n  // /** Must be passed normalized slashes! */\n  // function addRootDirs(rootDirs: string[]) {\n  //   rootDirsSets.push({\n  //     rootDirs: rootDirs.map(rootDir => rootDir.endsWith('/') ? rootDir : rootDir + '/')\n  //   });\n  // }\n\n  const getAlternativeDirectoriesCached = cachedLookup(\n    getAlternativeDirectories\n  );\n\n  /** Get array of alternative directories to check because they're overlaid over each other */\n  function* getAlternativeDirectories(directory: string) {\n    directory = ensureTrailingSlash(directory);\n    for (const { out, preferSrc, root } of rootOutPairs) {\n      if (contains(root, directory)) {\n        if (preferSrc) {\n          yield directory; // directory is in src; preferred\n          yield out + directory.slice(root.length);\n        } else {\n          yield out + directory.slice(root.length);\n          yield directory;\n        }\n      } else if (contains(out, directory)) {\n        if (preferSrc) {\n          yield root + directory.slice(out.length);\n          yield directory; // directory is in out\n        } else {\n          yield directory;\n          yield root + directory.slice(out.length);\n        }\n      } else {\n        yield directory;\n      }\n    }\n    // for(const rootDirsSet of rootDirsSets) {\n    //   const alternatives2: string[] = [];\n    //   for(const alternative of alternatives!) {\n    //     ForRootDirsInSingleSet:\n    //     for(const rootDir of rootDirsSet.rootDirs) {\n    //       if(contains(rootDir, alternative)) {\n    //         // alternative matches; replace it with each rootDir in the set\n    //         for(const rootDir2 of rootDirsSet.rootDirs) {\n    //           alternatives2.push(rootDir2 + alternative.slice(rootDir.length));\n    //         }\n    //         break ForRootDirsInSingleSet;\n    //       }\n    //     }\n    //     // alternative does not match; passthrough\n    //     alternatives2.push(alternative);\n    //   }\n    //   alternatives = alternatives2;\n    // }\n  }\n\n  // If extension is omitted and we are expected to add one, try these\n  const extensionlessExtensions = [\n    'js',\n    'cjs',\n    'mjs',\n    jsx && 'jsx',\n    'ts',\n    'cts',\n    'mts',\n    jsx && 'tsx',\n  ];\n  // If extension already specified, and is recognized, attempt these replacements\n  const jsExtensions = ['js', jsx && 'jsx', 'ts', jsx && 'tsx'].filter(\n    (v) => v\n  ) as string[];\n  const cjsExtensions = ['cjs', 'cts'];\n  const mjsExtensions = ['mjs', 'mts'];\n\n  /**\n   * Get alternative filenames to check because they're equivalent.\n   *\n   * Alternatives should only be attempted in:\n   * -- rootDir, if was able to map root<==>out\n   * -- otherwise attempt in dir, whatever it is.\n   */\n  function* getAlternativeFilenames(\n    filename: string,\n    allowOmitFileExtension: boolean\n  ) {\n    // TODO be sure to avoid .d.ts, .d.mts, and .d.cts\n    const lastDotIndex = filename.lastIndexOf('.');\n    let emittedReplacements = false;\n    if (lastDotIndex > 0) {\n      const endsInDts =\n        filename.endsWith('.d.ts') ||\n        filename.endsWith('.d.cts') ||\n        filename.endsWith('.d.mts');\n      if (!endsInDts) {\n        const name = filename.slice(0, lastDotIndex);\n        const extension = filename.slice(lastDotIndex + 1);\n        const replacements =\n          extension === 'js'\n            ? jsExtensions\n            : extension === 'cjs'\n            ? cjsExtensions\n            : extension === 'mjs'\n            ? mjsExtensions\n            : undefined;\n        if (replacements) {\n          emittedReplacements = true;\n          for (const replacement of replacements) {\n            yield name + '.' + replacement;\n          }\n        }\n      }\n    }\n    if (!emittedReplacements) yield filename;\n    if (allowOmitFileExtension) {\n      for (const replacement of extensionlessExtensions) {\n        yield filename + '.' + replacement;\n      }\n    }\n  }\n\n  return {\n    addRootOutPair,\n    getAlternativeDirectories,\n    getAlternativeDirectoriesCached,\n    getAlternativeFilenames,\n  };\n}\n\n/*\n.\ndist\n\nIf rootDir matches any rootDirs entry:\n- generate list of alternative rootDir\n- map each to outDir\n\nfoo\nbar\nbaz\n\nFor path foo/hello:\n\nfoo/hello\nbar/hello\nbaz/hello\ndist/foo/hello\ndist/bar/hello\ndist/baz/hello\n\nFor path node_modules/lodash\nnode_modules/lodash\ndist/node_modules/lodash\n\nIf directory is outside of common root of all mappings, skip\n\nIf parent mappings were computed, how can they be augmented?\nFor each directory, a given mapping is either APPLIED, IRRELEVANT, or NOTYET\n- src <-> out\n- if any rootDirs are child of src or dist\n*/\n\n/*\n\nsrc/foo\ndist/foo\n\nsrc/foo\nsrc/bar\nsrc/baz\ndist/foo\ndist/bar\ndist/baz\n\nfoo/src/lib\ndist\n\nfoo/src/lib\nbar/src/lib\nbaz/src/lib\ndist/lib\n\noutDir mapping: src/foo->dist\nrootDirs mappings: ./foo, ./bar, ./baz\nsrc/foo\nsrc/bar\nsrc/baz\ndist\n\noutDir mapping: src->dist\nrootDirs mappings: ./foo, ./bar, ./baz\nsrc/foo\nsrc/bar\nsrc/baz\ndist/foo\ndist/bar\ndist/baz\n\nexpand src by rootDirs\nthen expand each by root->out mappings\n*/\n\n/*\nFor now, think about *only* rootDir<->outDir mappings\nSort all rootDir by length descending\nSort all outDir by length descending\nAttempt mapping for each.\nAs soon as mapping succeeds for *any single entry*, stop attempting others.\n*/\n\n/*\nrootDirs\nsrc/foo\nsrc/bar\nsrc/baz\n\npreprocess to include rootDir<->outDir\nsrc/foo\nsrc/bar\nsrc/baz\ndist/foo\ndist/bar\ndist/baz\n*/\n\n/*\nFirst must map importer from src to dist if possible.\n\nThen attempt import relative to the dist location,\nchecking dist<-src whenever possible.\n\n*/\n\n// const ts: typeof _ts;\n\n// ts.createLanguageServiceSourceFile\n// ts.createSourceFile\n// ts.createUnparsedSourceFile\n// ts.create\n\n/*\nTo use experimentalResolver:\n- must set explicit rootDir, imply it with composite, or imply it with references\n\nWhen resolving an import\n\n##Step one: convert importer path to outDir if appropriate\n\nIf importer is within rootDir & matched by include/files/exclude, map it to outDir\n- Abandon mapping if `outDir` and `rootDir` identical\n- Abandon mapping if import already within outDir\n- sort by rootDir specificity so that workspaces are matched prior to ancestors\n- mapping logic can be cached per __dirname&tsconfig pair, but must still consider if filename matches regexps\n  - allows supporting multiple tsconfigs with same rootDir\n- allows respecting `path` mappings when we know which tsconfig governs the importer, because we have a single tsconfig to use for mappings\n\n##Step two: convert (many) target paths to rootDir if appropriate\n\nWhile resolving, we check many directories.\nIf resolution target is within `outDir`, attempt mapping to `rootDir`\n  - Abandon mapping if `outDir` and `rootDir` identical\n  - Abandon mapping if target already within `rootDir`\n  - Abandon mapping if is not matched by include/files/exclude\n  - HOW TO CHECK THIS BEFORE WE HAVE A FILE EXTENSION?  For each include/files/exclude, generate a version that ignores file extensions?  Test the directory with it?\n    - `TsconfigFilesMatcher.directoryChildMightMatch(dirname)`\n    - `TsconfigFilesMatcher.directoryAncestorMightMatch(dirname)`\n\n      - OPTIMIZATION\n      - If none of the include / files patterns contain `node_modules`, and if target directory after basedir contains `node_modules`, then we *know* the entire\n        directory tree is excluded\n      - This optimization should apply to almost all projects\n\n      - OPTIMIZATION detect when all file extensions are treated identically??\n*/\n"
  },
  {
    "path": "src/repl.ts",
    "content": "import type * as _diff from 'diff';\nimport { homedir } from 'os';\nimport { join } from 'path';\nimport type * as _nodeRepl from 'repl';\nimport type { REPLServer, ReplOptions } from 'repl';\nimport { Context, createContext, Script } from 'vm';\nimport { Service, CreateOptions, TSError, env } from './index';\nimport { readFileSync, statSync } from 'fs';\nimport { Console } from 'console';\nimport * as assert from 'assert';\nimport type * as tty from 'tty';\nimport type * as Module from 'module';\nimport { builtinModules } from 'module';\nimport { tsSupportsMtsCtsExts } from './file-extensions';\n\n// Lazy-loaded.\nlet _processTopLevelAwait: (src: string) => string | null;\nfunction getProcessTopLevelAwait() {\n  if (_processTopLevelAwait === undefined) {\n    ({ processTopLevelAwait: _processTopLevelAwait } = require('../dist-raw/node-internal-repl-await'));\n  }\n  return _processTopLevelAwait;\n}\nlet diff: typeof _diff;\nfunction getDiffLines() {\n  if (diff === undefined) {\n    diff = require('diff');\n  }\n  return diff.diffLines;\n}\n\n// Lazy-loaded to prevent repl's require('domain') from causing problems\n// https://github.com/TypeStrong/ts-node/issues/2024\n// https://github.com/nodejs/node/issues/48131\nlet nodeRepl: typeof _nodeRepl;\nfunction getNodeRepl() {\n  if (nodeRepl === undefined) {\n    nodeRepl = require('repl');\n  }\n  return nodeRepl;\n}\n\n/** @internal */\nexport const EVAL_FILENAME = `[eval].ts`;\n/** @internal */\nexport const EVAL_NAME = `[eval]`;\n/** @internal */\nexport const STDIN_FILENAME = `[stdin].ts`;\n/** @internal */\nexport const STDIN_NAME = `[stdin]`;\n/** @internal */\nexport function REPL_FILENAME(tsVersion: string) {\n  return tsSupportsMtsCtsExts(tsVersion) ? '<repl>.cts' : '<repl>.ts';\n}\n/** @internal */\nexport const REPL_NAME = '<repl>';\n\nexport interface ReplService {\n  readonly state: EvalState;\n  /**\n   * Bind this REPL to a ts-node compiler service.  A compiler service must be bound before `eval`-ing code or starting the REPL\n   */\n  setService(service: Service): void;\n  /**\n   * Append code to the virtual <repl> source file, compile it to JavaScript, throw semantic errors if the typechecker is enabled,\n   * and execute it.\n   *\n   * Note: typically, you will want to call `start()` instead of using this method.\n   *\n   * @param code string of TypeScript.\n   */\n  evalCode(code: string): any;\n  /** @internal */\n  evalCodeInternal(opts: { code: string; enableTopLevelAwait?: boolean; context?: Context }):\n    | {\n        containsTopLevelAwait: true;\n        valuePromise: Promise<any>;\n      }\n    | {\n        containsTopLevelAwait: false;\n        value: any;\n      };\n  /**\n   * `eval` implementation compatible with node's REPL API\n   *\n   * Can be used in advanced scenarios if you want to manually create your own\n   * node REPL instance and delegate eval to this `ReplService`.\n   *\n   * Example:\n   *\n   *     import {start} from 'repl';\n   *     const replService: tsNode.ReplService = ...; // assuming you have already created a ts-node ReplService\n   *     const nodeRepl = start({eval: replService.eval});\n   */\n  nodeEval(code: string, context: Context, _filename: string, callback: (err: Error | null, result?: any) => any): void;\n  evalAwarePartialHost: EvalAwarePartialHost;\n  /** Start a node REPL */\n  start(): void;\n  /**\n   * Start a node REPL, evaling a string of TypeScript before it starts.\n   * @deprecated\n   */\n  start(code: string): void;\n  /** @internal */\n  startInternal(opts?: ReplOptions): REPLServer;\n  /** @internal */\n  readonly stdin: NodeJS.ReadableStream;\n  /** @internal */\n  readonly stdout: NodeJS.WritableStream;\n  /** @internal */\n  readonly stderr: NodeJS.WritableStream;\n  /** @internal */\n  readonly console: Console;\n}\n\n/** @category REPL */\nexport interface CreateReplOptions {\n  service?: Service;\n  state?: EvalState;\n  stdin?: NodeJS.ReadableStream;\n  stdout?: NodeJS.WritableStream;\n  stderr?: NodeJS.WritableStream;\n  /** @internal */\n  composeWithEvalAwarePartialHost?: EvalAwarePartialHost;\n  /**\n   * @internal\n   * Ignore diagnostics that are annoying when interactively entering input line-by-line.\n   */\n  ignoreDiagnosticsThatAreAnnoyingInInteractiveRepl?: boolean;\n}\n\ninterface StartReplInternalOptions extends ReplOptions {\n  code?: string;\n  forceToBeModule?: boolean;\n}\n\n/**\n * Create a ts-node REPL instance.\n *\n * Pay close attention to the example below.  Today, the API requires a few lines\n * of boilerplate to correctly bind the `ReplService` to the ts-node `Service` and\n * vice-versa.\n *\n * Usage example:\n *\n *     const repl = tsNode.createRepl();\n *     const service = tsNode.create({...repl.evalAwarePartialHost});\n *     repl.setService(service);\n *     repl.start();\n *\n * @category REPL\n */\nexport function createRepl(options: CreateReplOptions = {}) {\n  const { ignoreDiagnosticsThatAreAnnoyingInInteractiveRepl = true } = options;\n  let nodeReplServer: REPLServer;\n  // If `useGlobal` is not true, then REPL creates a context when started.\n  // This stores a reference to it or to `global`, whichever is used, after REPL has started.\n  let context: Context | undefined;\n  let state: EvalState;\n  let mustSetStatePath = false;\n  if (options.state) {\n    state = options.state;\n  } else {\n    // Correct path set later\n    state = new EvalState('');\n    mustSetStatePath = true;\n  }\n  let service: Service;\n  if (options.service) setService(options.service);\n  const evalAwarePartialHost = createEvalAwarePartialHost(state, options.composeWithEvalAwarePartialHost);\n  const stdin = options.stdin ?? process.stdin;\n  const stdout = options.stdout ?? process.stdout;\n  const stderr = options.stderr ?? process.stderr;\n  const _console = stdout === process.stdout && stderr === process.stderr ? console : new Console(stdout, stderr);\n\n  const declaredExports = new Set();\n\n  const replService: ReplService = {\n    state: options.state ?? new EvalState(join(process.cwd(), EVAL_FILENAME)),\n    setService,\n    evalCode,\n    evalCodeInternal,\n    nodeEval,\n    evalAwarePartialHost,\n    start,\n    startInternal,\n    stdin,\n    stdout,\n    stderr,\n    console: _console,\n  };\n\n  return replService;\n\n  function setService(_service: Service) {\n    service = _service;\n    if (mustSetStatePath) state.path = join(process.cwd(), REPL_FILENAME(service.ts.version));\n    if (ignoreDiagnosticsThatAreAnnoyingInInteractiveRepl) {\n      service.addDiagnosticFilter({\n        appliesToAllFiles: false,\n        filenamesAbsolute: [state.path],\n        diagnosticsIgnored: [\n          2393, // Duplicate function implementation: https://github.com/TypeStrong/ts-node/issues/729\n          6133, // <identifier> is declared but its value is never read. https://github.com/TypeStrong/ts-node/issues/850\n          7027, // Unreachable code detected. https://github.com/TypeStrong/ts-node/issues/469\n          ...(service.shouldReplAwait ? topLevelAwaitDiagnosticCodes : []),\n        ],\n      });\n    }\n  }\n\n  // Hard fix for TypeScript forcing `Object.defineProperty(exports, ...)`.\n  function declareExports() {\n    if (declaredExports.has(context)) return;\n    runInContext('exports = typeof module === \"undefined\" ? {} : module.exports;', state.path, context);\n    declaredExports.add(context);\n  }\n\n  function evalCode(code: string) {\n    declareExports();\n    const result = appendCompileAndEvalInput({\n      service: service!,\n      state,\n      input: code,\n      context,\n      overrideIsCompletion: false,\n    });\n    assert(result.containsTopLevelAwait === false);\n    return result.value;\n  }\n\n  function evalCodeInternal(options: { code: string; enableTopLevelAwait?: boolean; context: Context }) {\n    const { code, enableTopLevelAwait, context } = options;\n    declareExports();\n    return appendCompileAndEvalInput({\n      service: service!,\n      state,\n      input: code,\n      enableTopLevelAwait,\n      context,\n    });\n  }\n\n  function nodeEval(\n    code: string,\n    context: Context,\n    _filename: string,\n    callback: (err: Error | null, result?: any) => any\n  ) {\n    // TODO: Figure out how to handle completion here.\n    if (code === '.scope') {\n      callback(null);\n      return;\n    }\n\n    try {\n      const evalResult = evalCodeInternal({\n        code,\n        enableTopLevelAwait: true,\n        context,\n      });\n\n      if (evalResult.containsTopLevelAwait) {\n        (async () => {\n          try {\n            callback(null, await evalResult.valuePromise);\n          } catch (promiseError) {\n            handleError(promiseError);\n          }\n        })();\n      } else {\n        callback(null, evalResult.value);\n      }\n    } catch (error) {\n      handleError(error);\n    }\n\n    // Log TSErrors, check if they're recoverable, log helpful hints for certain\n    // well-known errors, and invoke `callback()`\n    // TODO should evalCode API get the same error-handling benefits?\n    function handleError(error: unknown) {\n      // Don't show TLA hint if the user explicitly disabled repl top level await\n      const canLogTopLevelAwaitHint = service!.options.experimentalReplAwait !== false && !service!.shouldReplAwait;\n      if (error instanceof TSError) {\n        // Support recoverable compilations using >= node 6.\n        const { Recoverable } = getNodeRepl();\n        if (Recoverable && isRecoverable(error)) {\n          callback(new Recoverable(error));\n          return;\n        } else {\n          _console.error(error);\n\n          if (\n            canLogTopLevelAwaitHint &&\n            error.diagnosticCodes.some((dC) => topLevelAwaitDiagnosticCodes.includes(dC))\n          ) {\n            _console.error(getTopLevelAwaitHint());\n          }\n          callback(null);\n        }\n      } else {\n        let _error = error as Error | undefined;\n        if (\n          canLogTopLevelAwaitHint &&\n          _error instanceof SyntaxError &&\n          _error.message?.includes('await is only valid')\n        ) {\n          try {\n            // Only way I know to make our hint appear after the error\n            _error.message += `\\n\\n${getTopLevelAwaitHint()}`;\n            _error.stack = _error.stack?.replace(/(SyntaxError:.*)/, (_, $1) => `${$1}\\n\\n${getTopLevelAwaitHint()}`);\n          } catch {}\n        }\n        callback(_error as Error);\n      }\n    }\n    function getTopLevelAwaitHint() {\n      return `Hint: REPL top-level await requires TypeScript version 3.8 or higher and target ES2018 or higher. You are using TypeScript ${\n        service!.ts.version\n      } and target ${service!.ts.ScriptTarget[service!.config.options.target!]}.`;\n    }\n  }\n\n  // Note: `code` argument is deprecated\n  function start(code?: string) {\n    startInternal({ code });\n  }\n\n  // Note: `code` argument is deprecated\n  function startInternal(options?: StartReplInternalOptions) {\n    const { code, forceToBeModule = true, ...optionsOverride } = options ?? {};\n    // TODO assert that `service` is set; remove all `service!` non-null assertions\n\n    // Eval incoming code before the REPL starts.\n    // Note: deprecated\n    if (code) {\n      try {\n        evalCode(`${code}\\n`);\n      } catch (err) {\n        _console.error(err);\n        // Note: should not be killing the process here, but this codepath is deprecated anyway\n        process.exit(1);\n      }\n    }\n\n    // In case the typescript compiler hasn't compiled anything yet,\n    // make it run though compilation at least one time before\n    // the REPL starts for a snappier user experience on startup.\n    service?.compile('', state.path);\n\n    const repl = getNodeRepl().start({\n      prompt: '> ',\n      input: replService.stdin,\n      output: replService.stdout,\n      // Mimicking node's REPL implementation: https://github.com/nodejs/node/blob/168b22ba073ee1cbf8d0bcb4ded7ff3099335d04/lib/internal/repl.js#L28-L30\n      terminal: (stdout as tty.WriteStream).isTTY && !parseInt(env.NODE_NO_READLINE!, 10),\n      eval: nodeEval,\n      useGlobal: true,\n      ...optionsOverride,\n    });\n\n    nodeReplServer = repl;\n    context = repl.context;\n\n    // Bookmark the point where we should reset the REPL state.\n    const resetEval = appendToEvalState(state, '');\n    function reset() {\n      resetEval();\n\n      declareExports();\n\n      if (forceToBeModule) {\n        state.input += 'export {};void 0;\\n';\n      }\n\n      // Declare node builtins.\n      // Skip the same builtins as `addBuiltinLibsToObject`:\n      //   those starting with _\n      //   those containing /\n      //   those that already exist as globals\n      // Intentionally suppress type errors in case @types/node does not declare any of them, and because\n      // `declare import` is technically invalid syntax.\n      // Avoid this when in transpileOnly, because third-party transpilers may not handle `declare import`.\n      if (!service?.transpileOnly) {\n        state.input += `// @ts-ignore\\n${builtinModules\n          .filter(\n            (name) => !name.startsWith('_') && !name.includes('/') && !['console', 'module', 'process'].includes(name)\n          )\n          .map((name) => `declare import ${name} = require('${name}')`)\n          .join(';')}\\n`;\n      }\n    }\n\n    reset();\n    repl.on('reset', reset);\n\n    repl.defineCommand('type', {\n      help: 'Check the type of a TypeScript identifier',\n      action: function (identifier: string) {\n        if (!identifier) {\n          repl.displayPrompt();\n          return;\n        }\n\n        const undo = appendToEvalState(state, identifier);\n        const { name, comment } = service!.getTypeInfo(state.input, state.path, state.input.length);\n\n        undo();\n\n        if (name) repl.outputStream.write(`${name}\\n`);\n        if (comment) repl.outputStream.write(`${comment}\\n`);\n        repl.displayPrompt();\n      },\n    });\n\n    // Set up REPL history when available natively via node.js >= 11.\n    if (repl.setupHistory) {\n      const historyPath = env.TS_NODE_HISTORY || join(homedir(), '.ts_node_repl_history');\n\n      repl.setupHistory(historyPath, (err) => {\n        if (!err) return;\n\n        _console.error(err);\n        process.exit(1);\n      });\n    }\n\n    return repl;\n  }\n}\n\n/**\n * Eval state management. Stores virtual `[eval].ts` file\n */\nexport class EvalState {\n  /** @internal */\n  input = '';\n  /** @internal */\n  output = '';\n  /** @internal */\n  version = 0;\n  /** @internal */\n  lines = 0;\n\n  __tsNodeEvalStateBrand: unknown;\n\n  constructor(public path: string) {}\n}\n\n/**\n * Filesystem host functions which are aware of the \"virtual\" `[eval].ts`, `<repl>`, or `[stdin].ts` file used to compile REPL inputs.\n * Must be passed to `create()` to create a ts-node compiler service which can compile REPL inputs.\n */\nexport type EvalAwarePartialHost = Pick<CreateOptions, 'readFile' | 'fileExists'>;\n\nexport function createEvalAwarePartialHost(state: EvalState, composeWith?: EvalAwarePartialHost): EvalAwarePartialHost {\n  function readFile(path: string) {\n    if (path === state.path) return state.input;\n\n    if (composeWith?.readFile) return composeWith.readFile(path);\n\n    try {\n      return readFileSync(path, 'utf8');\n    } catch (err) {\n      /* Ignore. */\n    }\n  }\n  function fileExists(path: string) {\n    if (path === state.path) return true;\n\n    if (composeWith?.fileExists) return composeWith.fileExists(path);\n\n    try {\n      const stats = statSync(path);\n      return stats.isFile() || stats.isFIFO();\n    } catch (err) {\n      return false;\n    }\n  }\n  return { readFile, fileExists };\n}\n\nconst sourcemapCommentRe = /\\/\\/# ?sourceMappingURL=\\S+[\\s\\r\\n]*$/;\n\ntype AppendCompileAndEvalInputResult =\n  | { containsTopLevelAwait: true; valuePromise: Promise<any> }\n  | { containsTopLevelAwait: false; value: any };\n/**\n * Evaluate the code snippet.\n *\n * Append it to virtual .ts file, compile, handle compiler errors, compute a diff of the JS, and eval any code that\n * appears as \"added\" in the diff.\n */\nfunction appendCompileAndEvalInput(options: {\n  service: Service;\n  state: EvalState;\n  input: string;\n  wrappedErr?: unknown;\n  /** Enable top-level await but only if the TSNode service allows it. */\n  enableTopLevelAwait?: boolean;\n  context: Context | undefined;\n  /**\n   * Added so that `evalCode` can be guaranteed *not* to trigger the `isCompletion`\n   * codepath.  However, the `isCompletion` logic is ancient and maybe should be removed entirely.\n   * Nobody's looked at it in a long time.\n   */\n  overrideIsCompletion?: boolean;\n}): AppendCompileAndEvalInputResult {\n  const { service, state, wrappedErr, enableTopLevelAwait = false, context, overrideIsCompletion } = options;\n  let { input } = options;\n\n  // It's confusing for `{ a: 1 }` to be interpreted as a block statement\n  // rather than an object literal. So, we first try to wrap it in\n  // parentheses, so that it will be interpreted as an expression.\n  // Based on https://github.com/nodejs/node/blob/c2e6822153bad023ab7ebd30a6117dcc049e475c/lib/repl.js#L413-L422\n  let wrappedCmd = false;\n  if (!wrappedErr && /^\\s*{/.test(input) && !/;\\s*$/.test(input)) {\n    input = `(${input.trim()})\\n`;\n    wrappedCmd = true;\n  }\n\n  const lines = state.lines;\n  const isCompletion = overrideIsCompletion ?? !/\\n$/.test(input);\n  const undo = appendToEvalState(state, input);\n  let output: string;\n\n  // Based on https://github.com/nodejs/node/blob/92573721c7cff104ccb82b6ed3e8aa69c4b27510/lib/repl.js#L457-L461\n  function adjustUseStrict(code: string) {\n    // \"void 0\" keeps the repl from returning \"use strict\" as the result\n    // value for statements and declarations that don't return a value.\n    return code.replace(/^\"use strict\";/, '\"use strict\"; void 0;');\n  }\n\n  try {\n    output = service.compile(state.input, state.path, -lines);\n  } catch (err) {\n    undo();\n\n    if (wrappedCmd) {\n      if (err instanceof TSError && err.diagnosticCodes[0] === 2339) {\n        // Ensure consistent and more sane behavior between { a: 1 }['b'] and ({ a: 1 }['b'])\n        throw err;\n      }\n      // Unwrap and try again\n      return appendCompileAndEvalInput({\n        ...options,\n        wrappedErr: err,\n      });\n    }\n\n    if (wrappedErr) throw wrappedErr;\n    throw err;\n  }\n\n  output = adjustUseStrict(output);\n\n  // Note: REPL does not respect sourcemaps!\n  // To properly do that, we'd need to prefix the code we eval -- which comes\n  // from `diffLines` -- with newlines so that it's at the proper line numbers.\n  // Then we'd need to ensure each bit of eval-ed code, if there are multiples,\n  // has the sourcemap appended to it.\n  // We might also need to integrate with our sourcemap hooks' cache; I'm not sure.\n  const outputWithoutSourcemapComment = output.replace(sourcemapCommentRe, '');\n  const oldOutputWithoutSourcemapComment = state.output.replace(sourcemapCommentRe, '');\n\n  // Use `diff` to check for new JavaScript to execute.\n  const changes = getDiffLines()(oldOutputWithoutSourcemapComment, outputWithoutSourcemapComment);\n\n  if (isCompletion) {\n    undo();\n  } else {\n    state.output = output;\n\n    // Insert a semicolon to make sure that the code doesn't interact with the next line,\n    // for example to prevent `2\\n+ 2` from producing 4.\n    // This is safe since the output will not change since we can only get here with successful inputs,\n    // and adding a semicolon to the end of a successful input won't ever change the output.\n    state.input = state.input.replace(/([^\\n\\s])([\\n\\s]*)$/, (all, lastChar, whitespace) => {\n      if (lastChar !== ';') return `${lastChar};${whitespace}`;\n      return all;\n    });\n  }\n\n  let commands: Array<{ mustAwait?: true; execCommand: () => any }> = [];\n  let containsTopLevelAwait = false;\n\n  // Build a list of \"commands\": bits of JS code in the diff that must be executed.\n  for (const change of changes) {\n    if (change.added) {\n      if (enableTopLevelAwait && service.shouldReplAwait && change.value.indexOf('await') > -1) {\n        const processTopLevelAwait = getProcessTopLevelAwait();\n\n        // Newline prevents comments to mess with wrapper\n        const wrappedResult = processTopLevelAwait(change.value + '\\n');\n        if (wrappedResult !== null) {\n          containsTopLevelAwait = true;\n          commands.push({\n            mustAwait: true,\n            execCommand: () => runInContext(wrappedResult, state.path, context),\n          });\n          continue;\n        }\n      }\n      commands.push({\n        execCommand: () => runInContext(change.value, state.path, context),\n      });\n    }\n  }\n\n  // Execute all commands asynchronously if necessary, returning the result or a\n  // promise of the result.\n  if (containsTopLevelAwait) {\n    return {\n      containsTopLevelAwait,\n      valuePromise: (async () => {\n        let value;\n        for (const command of commands) {\n          const r = command.execCommand();\n          value = command.mustAwait ? await r : r;\n        }\n        return value;\n      })(),\n    };\n  } else {\n    return {\n      containsTopLevelAwait: false,\n      value: commands.reduce<any>((_, c) => c.execCommand(), undefined),\n    };\n  }\n}\n\n/**\n * Low-level execution of JS code in context\n */\nfunction runInContext(code: string, filename: string, context?: Context) {\n  const script = new Script(code, { filename });\n\n  if (context === undefined || context === global) {\n    return script.runInThisContext();\n  } else {\n    return script.runInContext(context);\n  }\n}\n\n/**\n * Append to the eval instance and return an undo function.\n */\nfunction appendToEvalState(state: EvalState, input: string) {\n  const undoInput = state.input;\n  const undoVersion = state.version;\n  const undoOutput = state.output;\n  const undoLines = state.lines;\n\n  state.input += input;\n  state.lines += lineCount(input);\n  state.version++;\n\n  return function () {\n    state.input = undoInput;\n    state.output = undoOutput;\n    state.version = undoVersion;\n    state.lines = undoLines;\n  };\n}\n\n/**\n * Count the number of lines.\n */\nfunction lineCount(value: string) {\n  let count = 0;\n\n  for (const char of value) {\n    if (char === '\\n') {\n      count++;\n    }\n  }\n\n  return count;\n}\n\n/**\n * TS diagnostic codes which are recoverable, meaning that the user likely entered an incomplete line of code\n * and should be prompted for the next.  For example, starting a multi-line for() loop and not finishing it.\n * null value means code is always recoverable.  `Set` means code is only recoverable when occurring alongside at least one\n * of the other codes.\n */\nconst RECOVERY_CODES: Map<number, Set<number> | null> = new Map([\n  [1003, null], // \"Identifier expected.\"\n  [1005, null], // \"')' expected.\", \"'}' expected.\"\n  [1109, null], // \"Expression expected.\"\n  [1126, null], // \"Unexpected end of text.\"\n  [\n    1136, // \"Property assignment expected.\"\n    new Set([1005]), // happens when typing out an object literal or block scope across multiple lines: '{ foo: 123,'\n  ],\n  [1160, null], // \"Unterminated template literal.\"\n  [1161, null], // \"Unterminated regular expression literal.\"\n  [2355, null], // \"A function whose declared type is neither 'void' nor 'any' must return a value.\"\n  [2391, null], // \"Function implementation is missing or not immediately following the declaration.\"\n  [\n    7010, // \"Function, which lacks return-type annotation, implicitly has an 'any' return type.\"\n    new Set([1005]), // happens when fn signature spread across multiple lines: 'function a(\\nb: any\\n) {'\n  ],\n]);\n\n/**\n * Diagnostic codes raised when using top-level await.\n * These are suppressed when top-level await is enabled.\n * When it is *not* enabled, these trigger a helpful hint about enabling top-level await.\n */\nconst topLevelAwaitDiagnosticCodes = [\n  1375, // 'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module.\n  1378, // Top-level 'await' expressions are only allowed when the 'module' option is set to 'esnext' or 'system', and the 'target' option is set to 'es2017' or higher.\n  1431, // 'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module.\n  1432, // Top-level 'for await' loops are only allowed when the 'module' option is set to 'esnext' or 'system', and the 'target' option is set to 'es2017' or higher.\n];\n\n/**\n * Check if a function can recover gracefully.\n */\nfunction isRecoverable(error: TSError) {\n  return error.diagnosticCodes.every((code) => {\n    const deps = RECOVERY_CODES.get(code);\n    return deps === null || (deps && error.diagnosticCodes.some((code) => deps.has(code)));\n  });\n}\n\n/**\n * @internal\n * Set properties on `context` before eval-ing [stdin] or [eval] input.\n */\nexport function setupContext(context: any, module: Module, filenameAndDirname: 'eval' | 'stdin' | null) {\n  if (filenameAndDirname) {\n    context.__dirname = '.';\n    context.__filename = `[${filenameAndDirname}]`;\n  }\n  context.module = module;\n  context.exports = module.exports;\n  context.require = module.require.bind(module);\n}\n"
  },
  {
    "path": "src/resolver-functions.ts",
    "content": "import { resolve } from 'path';\nimport type { CreateOptions } from '.';\nimport type { Extensions } from './file-extensions';\nimport type { TSCommon, TSInternal } from './ts-compiler-types';\nimport type { ProjectLocalResolveHelper } from './util';\n\n/**\n * @internal\n * In a factory because these are shared across both CompilerHost and LanguageService codepaths\n */\nexport function createResolverFunctions(kwargs: {\n  ts: TSCommon;\n  host: TSCommon.ModuleResolutionHost;\n  cwd: string;\n  getCanonicalFileName: (filename: string) => string;\n  config: TSCommon.ParsedCommandLine;\n  projectLocalResolveHelper: ProjectLocalResolveHelper;\n  options: CreateOptions;\n  extensions: Extensions;\n}) {\n  const { host, ts, config, cwd, getCanonicalFileName, projectLocalResolveHelper, options, extensions } = kwargs;\n  const moduleResolutionCache = ts.createModuleResolutionCache(cwd, getCanonicalFileName, config.options);\n  const knownInternalFilenames = new Set<string>();\n  /** \"Buckets\" (module directories) whose contents should be marked \"internal\" */\n  const internalBuckets = new Set<string>();\n\n  // Get bucket for a source filename.  Bucket is the containing `./node_modules/*/` directory\n  // For '/project/node_modules/foo/node_modules/bar/lib/index.js' bucket is '/project/node_modules/foo/node_modules/bar/'\n  // For '/project/node_modules/foo/node_modules/@scope/bar/lib/index.js' bucket is '/project/node_modules/foo/node_modules/@scope/bar/'\n  const moduleBucketRe = /.*\\/node_modules\\/(?:@[^\\/]+\\/)?[^\\/]+\\//;\n  function getModuleBucket(filename: string) {\n    const find = moduleBucketRe.exec(filename);\n    if (find) return find[0];\n    return '';\n  }\n\n  // Mark that this file and all siblings in its bucket should be \"internal\"\n  function markBucketOfFilenameInternal(filename: string) {\n    internalBuckets.add(getModuleBucket(filename));\n  }\n\n  function isFileInInternalBucket(filename: string) {\n    return internalBuckets.has(getModuleBucket(filename));\n  }\n\n  function isFileKnownToBeInternal(filename: string) {\n    return knownInternalFilenames.has(filename);\n  }\n\n  /**\n   * If we need to emit JS for a file, force TS to consider it non-external\n   */\n  const fixupResolvedModule = (resolvedModule: TSCommon.ResolvedModule | TSCommon.ResolvedTypeReferenceDirective) => {\n    const { resolvedFileName } = resolvedModule;\n    if (resolvedFileName === undefined) return;\n    // [MUST_UPDATE_FOR_NEW_FILE_EXTENSIONS]\n    // .ts,.mts,.cts is always switched to internal\n    // .js is switched on-demand\n    if (\n      resolvedModule.isExternalLibraryImport &&\n      ((resolvedFileName.endsWith('.ts') && !resolvedFileName.endsWith('.d.ts')) ||\n        (resolvedFileName.endsWith('.cts') && !resolvedFileName.endsWith('.d.cts')) ||\n        (resolvedFileName.endsWith('.mts') && !resolvedFileName.endsWith('.d.mts')) ||\n        isFileKnownToBeInternal(resolvedFileName) ||\n        isFileInInternalBucket(resolvedFileName))\n    ) {\n      resolvedModule.isExternalLibraryImport = false;\n    }\n    if (!resolvedModule.isExternalLibraryImport) {\n      knownInternalFilenames.add(resolvedFileName);\n    }\n  };\n  /*\n   * NOTE:\n   * Older ts versions do not pass `redirectedReference` nor `options`.\n   * We must pass `redirectedReference` to newer ts versions, but cannot rely on `options`, hence the weird argument name\n   */\n  const resolveModuleNames: TSCommon.LanguageServiceHost['resolveModuleNames'] = (\n    moduleNames: string[],\n    containingFile: string,\n    reusedNames: string[] | undefined,\n    redirectedReference: TSCommon.ResolvedProjectReference | undefined,\n    optionsOnlyWithNewerTsVersions: TSCommon.CompilerOptions,\n    containingSourceFile?: TSCommon.SourceFile\n  ): (TSCommon.ResolvedModule | undefined)[] => {\n    return moduleNames.map((moduleName, i) => {\n      const mode = containingSourceFile\n        ? (ts as any as TSInternal).getModeForResolutionAtIndex?.(containingSourceFile, i)\n        : undefined;\n      let { resolvedModule } = ts.resolveModuleName(\n        moduleName,\n        containingFile,\n        config.options,\n        host,\n        moduleResolutionCache,\n        redirectedReference,\n        mode\n      );\n      if (!resolvedModule && options.experimentalTsImportSpecifiers) {\n        const lastDotIndex = moduleName.lastIndexOf('.');\n        const ext = lastDotIndex >= 0 ? moduleName.slice(lastDotIndex) : '';\n        if (ext) {\n          const replacements = extensions.tsResolverEquivalents.get(ext);\n          for (const replacementExt of replacements ?? []) {\n            ({ resolvedModule } = ts.resolveModuleName(\n              moduleName.slice(0, -ext.length) + replacementExt,\n              containingFile,\n              config.options,\n              host,\n              moduleResolutionCache,\n              redirectedReference,\n              mode\n            ));\n            if (resolvedModule) break;\n          }\n        }\n      }\n      if (resolvedModule) {\n        fixupResolvedModule(resolvedModule);\n      }\n      return resolvedModule;\n    });\n  };\n\n  // language service never calls this, but TS docs recommend that we implement it\n  const getResolvedModuleWithFailedLookupLocationsFromCache: TSCommon.LanguageServiceHost['getResolvedModuleWithFailedLookupLocationsFromCache'] =\n    (\n      moduleName,\n      containingFile,\n      resolutionMode?: TSCommon.ModuleKind.CommonJS | TSCommon.ModuleKind.ESNext\n    ): TSCommon.ResolvedModuleWithFailedLookupLocations | undefined => {\n      const ret = ts.resolveModuleNameFromCache(moduleName, containingFile, moduleResolutionCache, resolutionMode);\n      if (ret && ret.resolvedModule) {\n        fixupResolvedModule(ret.resolvedModule);\n      }\n      return ret;\n    };\n\n  const resolveTypeReferenceDirectives: TSCommon.LanguageServiceHost['resolveTypeReferenceDirectives'] = (\n    typeDirectiveNames: string[] | readonly TSCommon.FileReference[],\n    containingFile: string,\n    redirectedReference: TSCommon.ResolvedProjectReference | undefined,\n    options: TSCommon.CompilerOptions,\n    containingFileMode?: TSCommon.SourceFile['impliedNodeFormat'] | undefined // new impliedNodeFormat is accepted by compilerHost\n  ): (TSCommon.ResolvedTypeReferenceDirective | undefined)[] => {\n    // Note: seems to be called with empty typeDirectiveNames array for all files.\n    // TODO consider using `ts.loadWithTypeDirectiveCache`\n    return typeDirectiveNames.map((typeDirectiveName) => {\n      // Copy-pasted from TS source:\n      const nameIsString = typeof typeDirectiveName === 'string';\n      const mode = nameIsString\n        ? undefined\n        : (ts as any as TSInternal).getModeForFileReference!(typeDirectiveName, containingFileMode);\n      const strName = nameIsString ? typeDirectiveName : typeDirectiveName.fileName.toLowerCase();\n      let { resolvedTypeReferenceDirective } = ts.resolveTypeReferenceDirective(\n        strName,\n        containingFile,\n        config.options,\n        host,\n        redirectedReference,\n        undefined,\n        mode\n      );\n      if (typeDirectiveName === 'node' && !resolvedTypeReferenceDirective) {\n        // Resolve @types/node relative to project first, then __dirname (copy logic from elsewhere / refactor into reusable function)\n        let typesNodePackageJsonPath: string | undefined;\n        try {\n          typesNodePackageJsonPath = projectLocalResolveHelper('@types/node/package.json', true);\n        } catch {} // gracefully do nothing when @types/node is not installed for any reason\n        if (typesNodePackageJsonPath) {\n          const typeRoots = [resolve(typesNodePackageJsonPath, '../..')];\n          ({ resolvedTypeReferenceDirective } = ts.resolveTypeReferenceDirective(\n            typeDirectiveName,\n            containingFile,\n            {\n              ...config.options,\n              typeRoots,\n            },\n            host,\n            redirectedReference\n          ));\n        }\n      }\n      if (resolvedTypeReferenceDirective) {\n        fixupResolvedModule(resolvedTypeReferenceDirective);\n      }\n      return resolvedTypeReferenceDirective;\n    });\n  };\n\n  return {\n    resolveModuleNames,\n    getResolvedModuleWithFailedLookupLocationsFromCache,\n    resolveTypeReferenceDirectives,\n    isFileKnownToBeInternal,\n    markBucketOfFilenameInternal,\n  };\n}\n"
  },
  {
    "path": "src/test/ci-node-and-ts-versions.spec.ts",
    "content": "// When running on CI, double-check that we are testing against the versions of node\n// and typescript in the test matrix.\n\nimport { execSync } from 'child_process';\nimport semver = require('semver');\nimport { ctxTsNode, ts } from './helpers';\nimport { context, expect } from './testlib';\n\nconst test = context(ctxTsNode);\ntest.suite('Confirm node and typescript versions on CI', (test) => {\n  test.if(!!process.env.CI);\n  test('node version is correct', async (t) => {\n    const expectedVersion = process.env.TEST_MATRIX_NODE_VERSION!;\n    const actualVersion = process.versions.node;\n    t.log({ expectedVersion, actualVersion });\n    expect(expectedVersion).toBeDefined();\n    const major = expectedVersion.match(/^(\\d+)-nightly$/)?.[1];\n    if (major != null) {\n      expect(actualVersion).toMatch(new RegExp('^' + major));\n      expect(actualVersion).toMatch('-nightly');\n    } else {\n      expect(semver.satisfies(actualVersion, expectedVersion)).toBe(true);\n    }\n  });\n  test('typescript version is correct', async (t) => {\n    let expectedVersion = process.env.TEST_MATRIX_TYPESCRIPT_VERSION!;\n    const actualVersion = ts.version;\n    t.log({ expectedVersion, actualVersion });\n    expect(expectedVersion).toBeDefined();\n    if (expectedVersion === 'next' || expectedVersion === 'latest') {\n      const stdout = execSync(`npm view typescript@${expectedVersion} version --json`, {\n        encoding: 'utf8',\n      });\n      t.log({ stdout });\n      expectedVersion = JSON.parse(stdout);\n      expect(ts.version).toBe(expectedVersion);\n    } else {\n      expect(semver.satisfies(ts.version, expectedVersion)).toBe(true);\n    }\n  });\n});\n"
  },
  {
    "path": "src/test/configuration/resolution.spec.ts",
    "content": "import { lstatSync } from 'fs';\nimport { join } from 'path';\nimport { BIN_CWD_PATH, BIN_PATH, BIN_SCRIPT_PATH, createExec, ctxTsNode, TEST_DIR } from '../helpers';\nimport { context, expect } from '../testlib';\n\nconst exec = createExec({\n  cwd: TEST_DIR,\n});\n\nconst test = context(ctxTsNode);\n\ntest('should locate tsconfig relative to entry-point by default', async () => {\n  const r = await exec(`${BIN_PATH} ../a/index`, {\n    cwd: join(TEST_DIR, 'cwd-and-script-mode/b'),\n  });\n  expect(r.err).toBe(null);\n  expect(r.stdout).toMatch(/plugin-a/);\n});\ntest('should locate tsconfig relative to entry-point via ts-node-script', async () => {\n  const r = await exec(`${BIN_SCRIPT_PATH} ../a/index`, {\n    cwd: join(TEST_DIR, 'cwd-and-script-mode/b'),\n  });\n  expect(r.err).toBe(null);\n  expect(r.stdout).toMatch(/plugin-a/);\n});\ntest('should locate tsconfig relative to entry-point with --script-mode', async () => {\n  const r = await exec(`${BIN_PATH} --script-mode ../a/index`, {\n    cwd: join(TEST_DIR, 'cwd-and-script-mode/b'),\n  });\n  expect(r.err).toBe(null);\n  expect(r.stdout).toMatch(/plugin-a/);\n});\ntest('should locate tsconfig relative to cwd via ts-node-cwd', async () => {\n  const r = await exec(`${BIN_CWD_PATH} ../a/index`, {\n    cwd: join(TEST_DIR, 'cwd-and-script-mode/b'),\n  });\n  expect(r.err).toBe(null);\n  expect(r.stdout).toMatch(/plugin-b/);\n});\ntest('should locate tsconfig relative to cwd in --cwd-mode', async () => {\n  const r = await exec(`${BIN_PATH} --cwd-mode ../a/index`, {\n    cwd: join(TEST_DIR, 'cwd-and-script-mode/b'),\n  });\n  expect(r.err).toBe(null);\n  expect(r.stdout).toMatch(/plugin-b/);\n});\ntest('should locate tsconfig relative to realpath, not symlink, when entrypoint is a symlink', async (t) => {\n  if (lstatSync(join(TEST_DIR, 'main-realpath/symlink/symlink.tsx')).isSymbolicLink()) {\n    const r = await exec(`${BIN_PATH} main-realpath/symlink/symlink.tsx`);\n    expect(r.err).toBe(null);\n    expect(r.stdout).toBe('');\n  } else {\n    t.log('Skipping');\n    return;\n  }\n});\n"
  },
  {
    "path": "src/test/configuration/tsnode-opts-from-tsconfig.spec.ts",
    "content": "import { BIN_PATH } from '../helpers/paths';\nimport { createExec } from '../helpers/exec';\nimport { TEST_DIR } from '../helpers/paths';\nimport { context, expect } from '../testlib';\nimport { join, resolve } from 'path';\nimport { tsSupportsExtendsArray } from '../helpers/version-checks';\nimport { ctxTsNode } from '../helpers/ctx-ts-node';\n\nconst test = context(ctxTsNode);\n\nconst exec = createExec({\n  cwd: TEST_DIR,\n});\n\ntest.suite('should read ts-node options from tsconfig.json', (test) => {\n  const BIN_EXEC = `\"${BIN_PATH}\" --project tsconfig-options/tsconfig.json`;\n\n  test('should override compiler options from env', async () => {\n    const r = await exec(`${BIN_EXEC} tsconfig-options/log-options1.js`, {\n      env: {\n        ...process.env,\n        TS_NODE_COMPILER_OPTIONS: '{\"typeRoots\": [\"env-typeroots\"]}',\n      },\n    });\n    expect(r.err).toBe(null);\n    const { config } = JSON.parse(r.stdout);\n    expect(config.options.typeRoots).toEqual([join(TEST_DIR, './tsconfig-options/env-typeroots').replace(/\\\\/g, '/')]);\n  });\n\n  test('should use options from `tsconfig.json`', async () => {\n    const r = await exec(`${BIN_EXEC} tsconfig-options/log-options1.js`);\n    expect(r.err).toBe(null);\n    const { options, config } = JSON.parse(r.stdout);\n    expect(config.options.typeRoots).toEqual([\n      join(TEST_DIR, './tsconfig-options/tsconfig-typeroots').replace(/\\\\/g, '/'),\n    ]);\n    expect(config.options.types).toEqual(['tsconfig-tsnode-types']);\n    expect(options.pretty).toBe(undefined);\n    expect(options.skipIgnore).toBe(false);\n    expect(options.transpileOnly).toBe(true);\n    expect(options.require).toEqual([join(TEST_DIR, './tsconfig-options/required1.js')]);\n  });\n\n  test('should ignore empty strings in the array options', async () => {\n    const r = await exec(`${BIN_EXEC} tsconfig-options/log-options1.js`, {\n      env: {\n        ...process.env,\n        TS_NODE_IGNORE: '',\n      },\n    });\n    expect(r.err).toBe(null);\n    const { options } = JSON.parse(r.stdout);\n    expect(options.ignore).toEqual([]);\n  });\n\n  test('should have flags override / merge with `tsconfig.json`', async () => {\n    const r = await exec(\n      `${BIN_EXEC} --skip-ignore --compiler-options \"{\\\\\"types\\\\\":[\\\\\"flags-types\\\\\"]}\" --require ./tsconfig-options/required2.js tsconfig-options/log-options2.js`\n    );\n    expect(r.err).toBe(null);\n    const { options, config } = JSON.parse(r.stdout);\n    expect(config.options.typeRoots).toEqual([\n      join(TEST_DIR, './tsconfig-options/tsconfig-typeroots').replace(/\\\\/g, '/'),\n    ]);\n    expect(config.options.types).toEqual(['flags-types']);\n    expect(options.pretty).toBe(undefined);\n    expect(options.skipIgnore).toBe(true);\n    expect(options.transpileOnly).toBe(true);\n    expect(options.require).toEqual([\n      join(TEST_DIR, './tsconfig-options/required1.js'),\n      './tsconfig-options/required2.js',\n    ]);\n  });\n\n  test('should have `tsconfig.json` override environment', async () => {\n    const r = await exec(`${BIN_EXEC} tsconfig-options/log-options1.js`, {\n      env: {\n        ...process.env,\n        TS_NODE_PRETTY: 'true',\n        TS_NODE_SKIP_IGNORE: 'true',\n      },\n    });\n    expect(r.err).toBe(null);\n    const { options, config } = JSON.parse(r.stdout);\n    expect(config.options.typeRoots).toEqual([\n      join(TEST_DIR, './tsconfig-options/tsconfig-typeroots').replace(/\\\\/g, '/'),\n    ]);\n    expect(config.options.types).toEqual(['tsconfig-tsnode-types']);\n    expect(options.pretty).toBe(true);\n    expect(options.skipIgnore).toBe(false);\n    expect(options.transpileOnly).toBe(true);\n    expect(options.require).toEqual([join(TEST_DIR, './tsconfig-options/required1.js')]);\n  });\n\n  test('should pull ts-node options from extended `tsconfig.json`', async () => {\n    const r = await exec(`${BIN_PATH} --show-config --project ./tsconfig-extends/tsconfig.json`);\n    expect(r.err).toBe(null);\n    const config = JSON.parse(r.stdout);\n    expect(config['ts-node'].require).toEqual([resolve(TEST_DIR, 'tsconfig-extends/other/require-hook.js')]);\n    expect(config['ts-node'].scopeDir).toBe(resolve(TEST_DIR, 'tsconfig-extends/other/scopedir'));\n    expect(config['ts-node'].preferTsExts).toBe(true);\n  });\n\n  test.suite('should pull ts-node options from extended `tsconfig.json`', (test) => {\n    test.if(tsSupportsExtendsArray);\n    test('test', async () => {\n      const r = await exec(`${BIN_PATH} --show-config --project ./tsconfig-extends-multiple/tsconfig.json`);\n      expect(r.err).toBe(null);\n      const config = JSON.parse(r.stdout);\n\n      // root tsconfig extends [a, c]\n      // a extends b\n      // c extends d\n\n      // https://devblogs.microsoft.com/typescript/announcing-typescript-5-0-beta/#supporting-multiple-configuration-files-in-extends\n      // If any fields \"conflict\", the latter entry wins.\n\n      // This value comes from c\n      expect(config.compilerOptions.target).toBe('es2017');\n\n      // From root\n      expect(config['ts-node'].preferTsExts).toBe(true);\n\n      // From a\n      expect(config['ts-node'].require).toEqual([\n        resolve(TEST_DIR, 'tsconfig-extends-multiple/a/require-hook-from-a.js'),\n      ]);\n\n      // From a, overrides declaration in b\n      expect(config['ts-node'].scopeDir).toBe(resolve(TEST_DIR, 'tsconfig-extends-multiple/a/scopedir-from-a'));\n\n      // From b\n      const key = process.platform === 'win32' ? 'b\\\\module-types-from-b' : 'b/module-types-from-b';\n      expect(config['ts-node'].moduleTypes).toStrictEqual({\n        [key]: 'cjs',\n      });\n\n      // From c, overrides declaration in b\n      expect(config['ts-node'].transpiler).toBe('transpiler-from-c');\n\n      // From d, inherited by c, overrides value from b\n      expect(config['ts-node'].ignore).toStrictEqual(['ignore-pattern-from-d']);\n    });\n  });\n});\n"
  },
  {
    "path": "src/test/create.spec.ts",
    "content": "import { ctxTsNode } from './helpers';\nimport { context, expect } from './testlib';\n\nconst test = context(ctxTsNode);\n\ntest.suite('create', ({ contextEach }) => {\n  const test = contextEach(async (t) => {\n    return {\n      service: t.context.tsNodeUnderTest.create({\n        compilerOptions: { target: 'es5' },\n        skipProject: true,\n      }),\n    };\n  });\n\n  test('should create generic compiler instances', (t) => {\n    const output = t.context.service.compile('const x = 10', 'test.ts');\n    expect(output).toMatch('var x = 10;');\n  });\n\n  test.suite('should get type information', (test) => {\n    test('given position of identifier', (t) => {\n      expect(t.context.service.getTypeInfo('/**jsdoc here*/const x = 10', 'test.ts', 21)).toEqual({\n        comment: 'jsdoc here',\n        name: 'const x: 10',\n      });\n    });\n    test('given position that does not point to an identifier', (t) => {\n      expect(t.context.service.getTypeInfo('/**jsdoc here*/const x = 10', 'test.ts', 0)).toEqual({\n        comment: '',\n        name: '',\n      });\n    });\n  });\n});\n"
  },
  {
    "path": "src/test/diagnostics.spec.ts",
    "content": "import type { TSError } from '..';\nimport { ctxTsNode, ts } from './helpers';\nimport { context, expect } from './testlib';\nimport * as semver from 'semver';\nimport { once } from 'lodash';\nconst test = context(ctxTsNode);\n\ntest.suite('TSError diagnostics', ({ context }) => {\n  const test = context(async (t) => {\n    // Locking to es2020, because:\n    // 1) es2022 -- default in @tsconfig/bases for node18 -- changes this diagnostic\n    //   to be a composite \"No overload matches this call.\"\n    // 2) TS 4.2 doesn't support es2021 or higher\n    const service = t.context.tsNodeUnderTest.create({\n      compilerOptions: { target: 'es5', lib: ['es2020'] },\n      skipProject: true,\n    });\n    try {\n      service.compile('new Error(123)', 'test.ts');\n    } catch (err) {\n      return { err: err as TSError };\n    }\n    return { err: undefined };\n  });\n\n  const diagnosticCode = 2345;\n  const diagnosticMessage = /Argument of type '.*?' is not assignable to parameter of type 'string( \\| undefined)?'./;\n  const diagnosticErrorMessage =\n    /TS2345: Argument of type '.*?' is not assignable to parameter of type 'string( \\| undefined)?'./;\n\n  test('should throw errors', (t) => {\n    const { err } = t.context;\n    expect(err).toBeDefined();\n    expect(err!).toMatchObject({\n      message: expect.stringMatching(diagnosticErrorMessage),\n      diagnosticText: expect.stringMatching(diagnosticErrorMessage),\n      diagnosticCodes: [diagnosticCode],\n      diagnostics: [\n        {\n          code: diagnosticCode,\n          start: 10,\n          length: 3,\n          messageText: expect.stringMatching(diagnosticMessage),\n        },\n      ],\n    });\n  });\n});\n"
  },
  {
    "path": "src/test/esm-loader.spec.ts",
    "content": "// ESM loader hook tests\n// TODO: at the time of writing, other ESM loader hook tests have not been moved into this file.\n// Should consolidate them here.\n\nimport { context } from './testlib';\nimport semver = require('semver');\nimport {\n  BIN_ESM_PATH,\n  BIN_PATH,\n  BIN_PATH_JS,\n  CMD_ESM_LOADER_WITHOUT_PROJECT,\n  CMD_TS_NODE_WITHOUT_PROJECT_FLAG,\n  ctxTsNode,\n  nodeSupportsImportAssertions,\n  nodeSupportsUnflaggedJsonImports,\n  nodeUsesNewHooksApi,\n  resetNodeEnvironment,\n  TEST_DIR,\n  tsSupportsImportAssertions,\n  createExec,\n  createSpawn,\n  ExecReturn,\n} from './helpers';\nimport { join, resolve } from 'path';\nimport * as expect from 'expect';\nimport type { NodeLoaderHooksAPI2 } from '../';\nimport { pathToFileURL } from 'url';\n\nconst test = context(ctxTsNode);\n\nconst exec = createExec({\n  cwd: TEST_DIR,\n});\nconst spawn = createSpawn({\n  cwd: TEST_DIR,\n});\n\ntest.suite('esm', (test) => {\n  test('should compile and execute as ESM', async () => {\n    const r = await exec(`${CMD_ESM_LOADER_WITHOUT_PROJECT} index.ts`, {\n      cwd: join(TEST_DIR, './esm'),\n    });\n    expect(r.err).toBe(null);\n    expect(r.stdout).toBe('foo bar baz biff libfoo\\n');\n  });\n  test('should use source maps', async (t) => {\n    const r = await exec(`${CMD_ESM_LOADER_WITHOUT_PROJECT} \"throw error.ts\"`, {\n      cwd: join(TEST_DIR, './esm'),\n    });\n    expect(r.err).not.toBe(null);\n    const expectedModuleUrl = pathToFileURL(join(TEST_DIR, './esm/throw error.ts')).toString();\n    expect(r.err!.message).toMatch(\n      [\n        `${expectedModuleUrl}:100`,\n        \"  bar() { throw new Error('this is a demo'); }\",\n        '                ^',\n        'Error: this is a demo',\n        `    at Foo.bar (${expectedModuleUrl}:100:17)`,\n      ].join('\\n')\n    );\n  });\n\n  test.suite('supports experimental-specifier-resolution=node', (test) => {\n    test('via --experimental-specifier-resolution', async () => {\n      const r = await exec(`${CMD_ESM_LOADER_WITHOUT_PROJECT} --experimental-specifier-resolution=node index.ts`, {\n        cwd: join(TEST_DIR, './esm-node-resolver'),\n      });\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('foo bar baz biff libfoo\\n');\n    });\n    test('via NODE_OPTIONS', async () => {\n      const r = await exec(`${CMD_ESM_LOADER_WITHOUT_PROJECT} index.ts`, {\n        cwd: join(TEST_DIR, './esm-node-resolver'),\n        env: {\n          ...process.env,\n          NODE_OPTIONS: `--experimental-specifier-resolution=node`,\n        },\n      });\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('foo bar baz biff libfoo\\n');\n    });\n  });\n\n  test('throws ERR_REQUIRE_ESM when attempting to require() an ESM script when ESM loader is enabled', async () => {\n    const r = await exec(`${CMD_ESM_LOADER_WITHOUT_PROJECT} ./index.js`, {\n      cwd: join(TEST_DIR, './esm-err-require-esm'),\n    });\n    expect(r.err).not.toBe(null);\n    expect(r.stderr).toMatch('Error [ERR_REQUIRE_ESM]: Must use import to load ES Module:');\n  });\n\n  test('defers to fallback loaders when URL should not be handled by ts-node', async () => {\n    const r = await exec(`${CMD_ESM_LOADER_WITHOUT_PROJECT} index.mjs`, {\n      cwd: join(TEST_DIR, './esm-import-http-url'),\n    });\n    expect(r.err).not.toBe(null);\n    // expect error from node's default resolver\n    expect(r.stderr).toMatch(\n      /Error \\[ERR_UNSUPPORTED_ESM_URL_SCHEME\\]:.*(?:\\n.*){0,2}\\n *at (defaultResolve|defaultLoad)/\n    );\n  });\n\n  test('should bypass import cache when changing search params', async () => {\n    const r = await exec(`${CMD_ESM_LOADER_WITHOUT_PROJECT} index.ts`, {\n      cwd: join(TEST_DIR, './esm-import-cache'),\n    });\n    expect(r.err).toBe(null);\n    expect(r.stdout).toBe('log1\\nlog2\\nlog2\\n');\n  });\n\n  test('should support transpile only mode via dedicated loader entrypoint', async () => {\n    const r = await exec(`${CMD_ESM_LOADER_WITHOUT_PROJECT}/transpile-only index.ts`, {\n      cwd: join(TEST_DIR, './esm-transpile-only'),\n    });\n    expect(r.err).toBe(null);\n    expect(r.stdout).toBe('');\n  });\n  test('should throw type errors without transpile-only enabled', async () => {\n    const r = await exec(`${CMD_ESM_LOADER_WITHOUT_PROJECT} index.ts`, {\n      cwd: join(TEST_DIR, './esm-transpile-only'),\n    });\n    if (r.err === null) {\n      throw new Error('Command was expected to fail, but it succeeded.');\n    }\n\n    expect(r.err.message).toMatch('Unable to compile TypeScript');\n    expect(r.err.message).toMatch(\n      new RegExp(\"TS2345: Argument of type '(?:number|1101)' is not assignable to parameter of type 'string'\\\\.\")\n    );\n    expect(r.err.message).toMatch(\n      new RegExp(\"TS2322: Type '(?:\\\"hello world\\\"|string)' is not assignable to type 'number'\\\\.\")\n    );\n    expect(r.stdout).toBe('');\n  });\n\n  test.suite('moduleTypes', (test) => {\n    suite('with vanilla ts transpilation', 'tsconfig.json');\n    suite('with third-party-transpiler', 'tsconfig-swc.json');\n    function suite(name: string, tsconfig: string) {\n      test.suite(name, (test) => {\n        test('supports CJS webpack.config.ts in an otherwise ESM project', async (t) => {\n          // A notable case where you can use ts-node's CommonJS loader, not the ESM loader, in an ESM project:\n          // when loading a webpack.config.ts or similar config\n          const r = await exec(\n            `${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} --project ./module-types/override-to-cjs/${tsconfig} ./module-types/override-to-cjs/test-webpack-config.cjs`\n          );\n          expect(r.err).toBe(null);\n          expect(r.stdout).toBe(``);\n        });\n        test('should allow importing CJS in an otherwise ESM project', async (t) => {\n          await run('override-to-cjs', tsconfig, 'cjs');\n          if (semver.gte(process.version, '14.13.1')) await run('override-to-cjs', tsconfig, 'mjs');\n        });\n        test('should allow importing ESM in an otherwise CJS project', async (t) => {\n          await run('override-to-esm', tsconfig, 'cjs');\n          // Node 14.13.0 has a bug(?) where it checks for ESM-only syntax *before* we transform the code.\n          if (semver.gte(process.version, '14.13.1')) await run('override-to-esm', tsconfig, 'mjs');\n        });\n      });\n    }\n    async function run(project: string, config: string, ext: string) {\n      const r = await exec(`${CMD_ESM_LOADER_WITHOUT_PROJECT} ./module-types/${project}/test.${ext}`, {\n        env: {\n          ...process.env,\n          TS_NODE_PROJECT: `./module-types/${project}/${config}`,\n        },\n      });\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe(`Failures: 0\\n`);\n    }\n  });\n\n  test.suite('createEsmHooks()', (test) => {\n    test('should create proper hooks with provided instance', async () => {\n      const r = await exec(`node --loader ./loader.mjs index.ts`, {\n        cwd: join(TEST_DIR, './esm-custom-loader'),\n      });\n\n      if (r.err === null) {\n        throw new Error('Command was expected to fail, but it succeeded.');\n      }\n\n      expect(r.err.message).toMatch(/TS6133:\\s+'unusedVar'/);\n    });\n  });\n\n  test.suite('unit test hooks', ({ contextEach }) => {\n    const test = contextEach(async (t) => {\n      const service = t.context.tsNodeUnderTest.create({\n        cwd: TEST_DIR,\n      });\n      t.teardown(() => {\n        resetNodeEnvironment();\n      });\n      return {\n        service,\n        hooks: t.context.tsNodeUnderTest.createEsmHooks(service),\n      };\n    });\n\n    test.suite('data URIs', (test) => {\n      test.if(nodeUsesNewHooksApi);\n\n      test('Correctly determines format of data URIs', async (t) => {\n        const { hooks } = t.context;\n        const url = 'data:text/javascript,console.log(\"hello world\");';\n        const result = await (hooks as NodeLoaderHooksAPI2).load(\n          url,\n          { format: undefined },\n          async (url, context, _ignored) => {\n            return { format: context.format!, source: '' };\n          }\n        );\n        expect(result.format).toBe('module');\n      });\n    });\n  });\n\n  test.suite('supports import assertions', (test) => {\n    test.if(nodeSupportsImportAssertions && tsSupportsImportAssertions);\n\n    const macro = test.macro((flags: string) => async (t) => {\n      const r = await exec(`${CMD_ESM_LOADER_WITHOUT_PROJECT} ${flags} ./importJson.ts`, {\n        cwd: resolve(TEST_DIR, 'esm-import-assertions'),\n      });\n      expect(r.err).toBe(null);\n      expect(r.stdout.trim()).toBe('A fuchsia car has 2 seats and the doors are open.\\nDone!');\n    });\n\n    test.suite('when node does not require --experimental-json-modules', (test) => {\n      test.if(nodeSupportsUnflaggedJsonImports);\n      test('Can import JSON modules with appropriate assertion', macro, '');\n    });\n    test.suite('when node requires --experimental-json-modules', (test) => {\n      test.if(!nodeSupportsUnflaggedJsonImports);\n      test('Can import JSON using the appropriate flag and assertion', macro, '--experimental-json-modules');\n    });\n  });\n\n  test.suite('Entrypoint resolution falls back to CommonJS resolver and format', (test) => {\n    test('extensionless entrypoint', async (t) => {\n      const r = await exec(\n        `${CMD_ESM_LOADER_WITHOUT_PROJECT} ./esm-loader-entrypoint-cjs-fallback/extensionless-entrypoint`\n      );\n      expect(r.err).toBe(null);\n      expect(r.stdout.trim()).toBe('Hello world!');\n    });\n    test('relies upon CommonJS resolution', async (t) => {\n      const r = await exec(\n        `${CMD_ESM_LOADER_WITHOUT_PROJECT} ./esm-loader-entrypoint-cjs-fallback/relies-upon-cjs-resolution`\n      );\n      expect(r.err).toBe(null);\n      expect(r.stdout.trim()).toBe('Hello world!');\n    });\n    test('fails as expected when entrypoint does not exist at all', async (t) => {\n      const r = await exec(`${CMD_ESM_LOADER_WITHOUT_PROJECT} ./esm-loader-entrypoint-cjs-fallback/does-not-exist`);\n      expect(r.err).toBeDefined();\n      expect(r.stderr).toContain(`Cannot find module `);\n    });\n  });\n\n  test.suite('spawns child process', async (test) => {\n    basic('ts-node-esm executable', () => exec(`${BIN_ESM_PATH} ./esm-child-process/via-flag/index.ts foo bar`));\n    basic('ts-node --esm flag', () => exec(`${BIN_PATH} --esm ./esm-child-process/via-flag/index.ts foo bar`));\n    basic('ts-node w/tsconfig esm:true', () =>\n      exec(`${BIN_PATH} --esm ./esm-child-process/via-tsconfig/index.ts foo bar`)\n    );\n\n    function basic(title: string, cb: () => ExecReturn) {\n      test(title, async (t) => {\n        const r = await cb();\n        expect(r.err).toBe(null);\n        expect(r.stdout.trim()).toBe('CLI args: foo bar');\n        expect(r.stderr).toBe('');\n      });\n    }\n\n    test('extensionless entrypoint, regression test for #1943', async (t) => {\n      const r = await exec(`${BIN_ESM_PATH} ./esm-loader-entrypoint-cjs-fallback/extensionless-entrypoint`);\n      expect(r.err).toBe(null);\n      expect(r.stdout.trim()).toBe('Hello world!');\n    });\n\n    test.suite('parent passes signals to child', (test) => {\n      signalTest('SIGINT');\n      signalTest('SIGTERM');\n\n      function signalTest(signal: string) {\n        test(signal, async (t) => {\n          const childP = spawn([\n            // exec lets us run the shims on windows; spawn does not\n            process.execPath,\n            BIN_PATH_JS,\n            `./esm-child-process/via-tsconfig/sleep.ts`,\n          ]);\n          try {\n            await childP.stdout.wait('child registered signal handlers');\n            process.kill(childP.child.pid, signal);\n            await childP;\n            const stdout = await childP.stdout;\n            const stderr = await childP.stderr;\n            if (process.platform === 'win32') {\n              // Windows doesn't have signals, and node attempts an imperfect facsimile.\n              // In Windows, SIGINT and SIGTERM kill the process immediately with exit\n              // code 1, and the process can't catch or prevent this.\n              expect(childP.code).toBe(1);\n              expect(stdout.trim()).toBe(`child registered signal handlers`);\n            } else {\n              expect(childP.code).toBe(123);\n              expect(stdout.trim()).toBe(\n                `child registered signal handlers\\nchild received signal: ${signal}\\nchild exiting`\n              );\n            }\n            expect(stderr).toBe('');\n          } finally {\n            t.log({\n              stdout: await childP.stdout,\n              stderr: await childP.stderr,\n              code: childP.code,\n            });\n          }\n        });\n      }\n    });\n\n    test.suite('esm child process working directory', (test) => {\n      test('should have the correct working directory in the user entry-point', async () => {\n        const r = await exec(`${BIN_PATH} --esm --cwd ./esm/ index.ts`, {\n          cwd: resolve(TEST_DIR, 'working-dir'),\n        });\n\n        expect(r.err).toBe(null);\n        expect(r.stdout.trim()).toBe('Passing');\n        expect(r.stderr).toBe('');\n      });\n    });\n\n    test.suite('esm child process and forking', (test) => {\n      const macro = test.macro((command: string) => async (t) => {\n        const r = await exec(command);\n\n        expect(r.err).toBe(null);\n        expect(r.stdout.trim()).toBe('Passing: from main');\n        expect(r.stderr).toBe('');\n      });\n\n      test(\n        'should be able to fork vanilla NodeJS script',\n        macro,\n        `${BIN_PATH} --esm --cwd ./esm-child-process/ ./process-forking-js/index.ts`\n      );\n      test(\n        'should be able to fork TypeScript script',\n        macro,\n        `${BIN_PATH} --esm --cwd ./esm-child-process/ ./process-forking-ts/index.ts`\n      );\n      test(\n        'should be able to fork TypeScript script by absolute path',\n        macro,\n        `${BIN_PATH} --esm --cwd ./esm-child-process/ ./process-forking-ts-abs/index.ts`\n      );\n    });\n  });\n\n  test('throws ERR_REQUIRE_ESM when attempting to require() an ESM script when ESM loader is *not* enabled', async () => {\n    // Node versions >= 12 support package.json \"type\" field and so will throw an error when attempting to load ESM as CJS\n    const r = await exec(`${BIN_PATH} ./index.js`, {\n      cwd: join(TEST_DIR, './esm-err-require-esm'),\n    });\n    expect(r.err).not.toBe(null);\n    expect(r.stderr).toMatch('Error [ERR_REQUIRE_ESM]: Must use import to load ES Module:');\n  });\n});\n\ntest.suite(\"Catch unexpected changes to node's loader context\", (test) => {\n  // loader context includes import assertions, therefore this test requires support for import assertions\n  test.if(nodeSupportsImportAssertions);\n\n  /*\n   * This does not test ts-node.\n   * Rather, it is meant to alert us to potentially breaking changes in node's\n   * loader API.  If node starts returning more or less properties on `context`\n   * objects, we want to know, because it may indicate that our loader code\n   * should be updated to accomodate the new properties, either by proxying them,\n   * modifying them, or suppressing them.\n   */\n  test('Ensure context passed to loader by node has only expected properties', async (t) => {\n    const r = await exec(\n      `node --loader ./esm-loader-context/loader.mjs --experimental-json-modules ./esm-loader-context/index.mjs`\n    );\n    const rows = r.stdout.split('\\n').filter((v) => v[0] === '{');\n    expect(rows.length).toBe(14);\n    rows.forEach((row) => {\n      const json = JSON.parse(row) as {\n        resolveContextKeys?: string[];\n        loadContextKeys?: string[];\n      };\n      if (json.resolveContextKeys) {\n        expect(json.resolveContextKeys).toEqual(['conditions', 'importAssertions', 'parentURL']);\n      } else if (json.loadContextKeys) {\n        expect(json.loadContextKeys).toEqual(['format', 'importAssertions']);\n      } else {\n        throw new Error('Unexpected stdout in test.');\n      }\n    });\n  });\n});\n"
  },
  {
    "path": "src/test/helpers/command-lines.ts",
    "content": "// Command lines\n\nimport { BIN_PATH, PROJECT, PROJECT_TRANSPILE_ONLY } from './paths';\n\n/** Default `ts-node --project` invocation */\nexport const CMD_TS_NODE_WITH_PROJECT_FLAG = `\"${BIN_PATH}\" --project \"${PROJECT}\"`;\n/** Default `ts-node --project` invocation with transpile-only */\nexport const CMD_TS_NODE_WITH_PROJECT_TRANSPILE_ONLY_FLAG = `\"${BIN_PATH}\" --project \"${PROJECT_TRANSPILE_ONLY}\"`;\n/** Default `ts-node` invocation without `--project` */\nexport const CMD_TS_NODE_WITHOUT_PROJECT_FLAG = `\"${BIN_PATH}\"`;\nexport const CMD_ESM_LOADER_WITHOUT_PROJECT = `node --loader ts-node/esm`;\n//#endregion\n"
  },
  {
    "path": "src/test/helpers/ctx-tmp-dir.ts",
    "content": "import { tmpdir } from 'os';\nimport type { ExecutionContext } from '../testlib';\nimport { tempdirProject } from '@TypeStrong/fs-fixture-builder';\n\n/**\n * This helpers gives you an empty directory in the OS temp directory, *outside*\n * of the git clone.\n *\n * Some tests must run in a directory that is *outside* of the git clone.\n * When TS and ts-node search for a tsconfig, they traverse up the filesystem.\n * If they run inside our git clone, they will find the root tsconfig.json, and\n * we do not always want that.\n */\nexport async function ctxTmpDirOutsideCheckout(t: ExecutionContext) {\n  const fixture = tempdirProject({\n    name: 'ts-node-spec',\n    rootDir: tmpdir(),\n  });\n  return {\n    tmpDir: fixture.cwd,\n    fixture,\n  };\n}\nexport namespace ctxTmpDirOutsideCheckout {\n  export type Ctx = Awaited<ReturnType<typeof ctxTmpDirOutsideCheckout>>;\n  export type T = ExecutionContext<Ctx>;\n}\n\nexport async function ctxTmpDir(t: ExecutionContext) {\n  const fixture = tempdirProject('ts-node-spec');\n  return {\n    fixture,\n    tmpDir: fixture.cwd,\n  };\n}\nexport namespace ctxTmpDir {\n  export type Ctx = Awaited<ReturnType<typeof ctxTmpDirOutsideCheckout>>;\n  export type T = ExecutionContext<Ctx>;\n}\n"
  },
  {
    "path": "src/test/helpers/ctx-ts-node.ts",
    "content": "import { exec as childProcessExec } from 'child_process';\nimport { lock } from 'proper-lockfile';\nimport { promisify } from 'util';\nimport { existsSync, readFileSync, writeFileSync } from 'fs';\nimport { join } from 'path';\nimport type { ExecutionContext } from '../testlib';\nimport { sync as rimrafSync } from 'rimraf';\nimport { TEST_DIR } from './paths';\nimport { testsDirRequire, tsNodeTypes } from './misc';\n\n/** Pass to `test.context()` to get access to the ts-node API under test */\nexport async function ctxTsNode() {\n  await installTsNode();\n  const tsNodeUnderTest: typeof tsNodeTypes = testsDirRequire('ts-node');\n  return {\n    tsNodeUnderTest,\n  };\n}\nexport namespace ctxTsNode {\n  export type Ctx = Awaited<ReturnType<typeof ctxTsNode>>;\n  export type T = ExecutionContext<Ctx>;\n}\n\nconst ts_node_install_lock = process.env.ts_node_install_lock as string;\nconst lockPath = join(__dirname, ts_node_install_lock);\n\ninterface InstallationResult {\n  error: string | null;\n}\n\n/**\n * Pack and install ts-node locally, necessary to test package \"exports\"\n * FS locking b/c tests run in separate processes\n */\nexport async function installTsNode() {\n  await lockedMemoizedOperation(lockPath, async () => {\n    const totalTries = process.platform === 'win32' ? 5 : 1;\n    let tries = 0;\n    while (true) {\n      try {\n        rimrafSync(join(TEST_DIR, '.yarn/cache/ts-node-file-*'));\n        writeFileSync(join(TEST_DIR, 'yarn.lock'), '');\n        const result = await promisify(childProcessExec)(`yarn --no-immutable`, {\n          cwd: TEST_DIR,\n        });\n        // You can uncomment this to aid debugging\n        // console.log(result.stdout, result.stderr);\n        rimrafSync(join(TEST_DIR, '.yarn/cache/ts-node-file-*'));\n        writeFileSync(join(TEST_DIR, 'yarn.lock'), '');\n        break;\n      } catch (e) {\n        tries++;\n        if (tries >= totalTries) throw e;\n      }\n    }\n  });\n}\n\n/**\n * Attempt an operation once across multiple processes, using filesystem locking.\n * If it was executed already by another process, and it errored, throw the same error message.\n */\nasync function lockedMemoizedOperation(lockPath: string, operation: () => Promise<void>) {\n  const releaseLock = await lock(lockPath, {\n    realpath: false,\n    stale: 120e3,\n    retries: {\n      retries: 120,\n      maxTimeout: 1000,\n    },\n  });\n  try {\n    const operationHappened = existsSync(lockPath);\n    if (operationHappened) {\n      const result: InstallationResult = JSON.parse(readFileSync(lockPath, 'utf8'));\n      if (result.error) throw result.error;\n    } else {\n      const result: InstallationResult = { error: null };\n      try {\n        await operation();\n      } catch (e) {\n        result.error = `${e}`;\n        throw e;\n      } finally {\n        writeFileSync(lockPath, JSON.stringify(result));\n      }\n    }\n  } finally {\n    releaseLock();\n  }\n}\n"
  },
  {
    "path": "src/test/helpers/exec.ts",
    "content": "import type { ChildProcess, ExecException, ExecOptions, SpawnOptions } from 'child_process';\nimport { exec as childProcessExec, spawn as childProcessSpawn } from 'child_process';\nimport { ExpectStream, expectStream } from '@cspotcode/expect-stream';\nimport { expect } from '../testlib';\n\nexport type ExecReturn = Promise<ExecResult> & { child: ChildProcess };\nexport interface ExecResult {\n  stdout: string;\n  stderr: string;\n  err: null | ExecException;\n  child: ChildProcess;\n}\n\nexport function createExec<T extends Partial<ExecOptions>>(preBoundOptions?: T) {\n  /**\n   * Helper to exec a child process.\n   * Returns a Promise and a reference to the child process to suite multiple situations.\n   * Promise resolves with the process's stdout, stderr, and error.\n   */\n  return function exec(\n    cmd: string,\n    opts?: Pick<ExecOptions, Exclude<keyof ExecOptions, keyof T>> &\n      Partial<Pick<ExecOptions, keyof T & keyof ExecOptions>>\n  ): ExecReturn {\n    let child!: ChildProcess;\n    return Object.assign(\n      new Promise<ExecResult>((resolve, reject) => {\n        child = childProcessExec(\n          cmd,\n          {\n            ...preBoundOptions,\n            ...opts,\n          },\n          (err, stdout, stderr) => {\n            resolve({ err, stdout, stderr, child });\n          }\n        );\n      }),\n      {\n        child,\n      }\n    );\n  };\n}\n\nexport type SpawnReturn = Promise<SpawnResult> & SpawnResult;\nexport interface SpawnResult {\n  stdout: ExpectStream;\n  stderr: ExpectStream;\n  code: number | null;\n  child: ChildProcess;\n}\n\nexport function createSpawn<T extends Partial<SpawnOptions>>(preBoundOptions?: T) {\n  /**\n   * Helper to spawn a child process.\n   * Returns a Promise and a reference to the child process to suite multiple situations.\n   *\n   * Should almost always avoid this helper, and instead use `createExec` / `exec`.  `spawn`\n   * may be necessary if you need to avoid `exec`'s intermediate shell.\n   */\n  return function spawn(\n    cmd: string[],\n    opts?: Pick<SpawnOptions, Exclude<keyof SpawnOptions, keyof T>> &\n      Partial<Pick<SpawnOptions, keyof T & keyof SpawnOptions>>\n  ): SpawnReturn {\n    let child!: ChildProcess;\n    let stdout!: ExpectStream;\n    let stderr!: ExpectStream;\n    const promise = Object.assign(\n      new Promise<SpawnResult>((resolve, reject) => {\n        child = childProcessSpawn(cmd[0], cmd.slice(1), {\n          ...preBoundOptions,\n          ...opts,\n        });\n        stdout = expectStream(child.stdout!);\n        stderr = expectStream(child.stderr!);\n        child.on('exit', (code) => {\n          promise.code = code;\n          resolve({ stdout, stderr, code, child });\n        });\n        child.on('error', (error) => {\n          reject(error);\n        });\n      }),\n      {\n        child,\n        stdout,\n        stderr,\n        code: null as number | null,\n      }\n    );\n    return promise;\n  };\n}\n\nconst defaultExec = createExec();\nexport { defaultExec as exec };\n\nexport interface ExecTesterOptions {\n  cmd: string;\n  flags?: string;\n  env?: Record<string, string>;\n  stdin?: string;\n  expectError?: boolean;\n  exec?: typeof defaultExec;\n}\n\n/**\n * Create a function that launches a CLI command, optionally pipes stdin, optionally sets env vars,\n * optionally runs a couple baked-in assertions, and returns the results for additional assertions.\n */\nexport function createExecTester<T extends Partial<ExecTesterOptions>>(preBoundOptions: T) {\n  return async function (\n    options: Pick<ExecTesterOptions, Exclude<keyof ExecTesterOptions, keyof T>> &\n      Partial<Pick<ExecTesterOptions, keyof T & keyof ExecTesterOptions>>\n  ) {\n    const {\n      cmd,\n      flags = '',\n      stdin,\n      expectError = false,\n      env,\n      exec = defaultExec,\n    } = {\n      ...preBoundOptions,\n      ...options,\n    };\n    const p = exec(`${cmd} ${flags}`, {\n      env: { ...process.env, ...env },\n    });\n    if (stdin !== undefined) {\n      p.child.stdin!.end(stdin);\n    }\n    const r = await p;\n    if (expectError) {\n      expect(r.err).toBeDefined();\n    } else {\n      expect(r.err).toBeNull();\n    }\n    return r;\n  };\n}\n"
  },
  {
    "path": "src/test/helpers/index.ts",
    "content": "export * from './misc';\nexport * from './ctx-tmp-dir';\nexport * from './ctx-ts-node';\nexport * from './paths';\nexport * from './command-lines';\nexport * from './reset-node-environment';\nexport * from './version-checks';\nexport * from './exec';\n"
  },
  {
    "path": "src/test/helpers/misc.ts",
    "content": "/** types from ts-node under test */\nimport type * as tsNodeTypes from '../../index';\nimport { TEST_DIR } from './paths';\nimport { join } from 'path';\nimport { promisify } from 'util';\nimport { createRequire } from 'module';\nexport { tsNodeTypes };\n\nexport const testsDirRequire = createRequire(join(TEST_DIR, 'index.js'));\n\nexport const ts = testsDirRequire('typescript') as typeof import('typescript');\n\nexport const delay = promisify(setTimeout);\n\n/** Essentially Array:includes, but with tweaked types for checks on enums */\nexport function isOneOf<V>(value: V, arrayOfPossibilities: ReadonlyArray<V>) {\n  return arrayOfPossibilities.includes(value as any);\n}\n"
  },
  {
    "path": "src/test/helpers/paths.ts",
    "content": "import { setFixturesRootDir } from '@TypeStrong/fs-fixture-builder';\nimport { join, resolve } from 'path';\n\n//#region Paths\nexport const ROOT_DIR = resolve(__dirname, '../../..');\nexport const DIST_DIR = resolve(__dirname, '../..');\nexport const TEST_DIR = join(__dirname, '../../../tests');\nexport const PROJECT = join(TEST_DIR, 'tsconfig.json');\nexport const PROJECT_TRANSPILE_ONLY = join(TEST_DIR, 'tsconfig-transpile-only.json');\nexport const BIN_PATH = join(TEST_DIR, 'node_modules/.bin/ts-node');\nexport const BIN_PATH_JS = join(TEST_DIR, 'node_modules/ts-node/dist/bin.js');\nexport const BIN_SCRIPT_PATH = join(TEST_DIR, 'node_modules/.bin/ts-node-script');\nexport const BIN_CWD_PATH = join(TEST_DIR, 'node_modules/.bin/ts-node-cwd');\nexport const BIN_ESM_PATH = join(TEST_DIR, 'node_modules/.bin/ts-node-esm');\n\nprocess.chdir(TEST_DIR);\nsetFixturesRootDir(TEST_DIR);\n//#endregion\n"
  },
  {
    "path": "src/test/helpers/reset-node-environment.ts",
    "content": "import { has, mapValues, sortBy } from 'lodash';\n\n// Reset node environment\n// Useful because ts-node installation necessarily must mutate the node environment.\n// Yet we want to run tests in-process for speed.\n// So we need to reliably reset everything changed by ts-node installation.\n\nconst defaultRequireExtensions = captureObjectState(require.extensions);\n// Avoid node deprecation warning for accessing _channel\nconst defaultProcess = captureObjectState(process, ['_channel']);\nconst defaultModule = captureObjectState(require('module'));\nconst defaultError = captureObjectState(Error);\nconst defaultGlobal = captureObjectState(global);\n\n/**\n * Undo all of ts-node & co's installed hooks, resetting the node environment to default\n * so we can run multiple test cases which `.register()` ts-node.\n *\n * Must also play nice with `nyc`'s environmental mutations.\n */\nexport function resetNodeEnvironment() {\n  const sms = require('@cspotcode/source-map-support') as typeof import('@cspotcode/source-map-support');\n  // We must uninstall so that it resets its internal state; otherwise it won't know it needs to reinstall in the next test.\n  sms.uninstall();\n  // Must remove handlers to avoid a memory leak\n  sms.resetRetrieveHandlers();\n\n  // Modified by ts-node hooks\n  resetObject(require.extensions, defaultRequireExtensions, undefined, undefined, undefined, true);\n\n  // ts-node attaches a property when it registers an instance\n  // source-map-support monkey-patches the emit function\n  // Avoid node deprecation warnings for setting process.config or accessing _channel\n  resetObject(process, defaultProcess, undefined, ['_channel'], ['config']);\n\n  // source-map-support swaps out the prepareStackTrace function\n  resetObject(Error, defaultError);\n\n  // _resolveFilename et.al. are modified by ts-node, tsconfig-paths, source-map-support, yarn, maybe other things?\n  resetObject(require('module'), defaultModule, undefined, ['wrap', 'wrapper']);\n\n  // May be modified by REPL tests, since the REPL sets globals.\n  // Avoid deleting nyc's coverage data.\n  resetObject(global, defaultGlobal, ['__coverage__']);\n\n  // Reset our ESM hooks\n  process.__test_setloader__?.(undefined);\n}\n\nfunction captureObjectState(object: any, avoidGetters: string[] = []) {\n  const descriptors = Object.getOwnPropertyDescriptors(object);\n  const values = mapValues(descriptors, (_d, key) => {\n    if (avoidGetters.includes(key)) return descriptors[key].value;\n    return object[key];\n  });\n  return {\n    descriptors,\n    values,\n  };\n}\n// Redefine all property descriptors and delete any new properties\nfunction resetObject(\n  object: any,\n  state: ReturnType<typeof captureObjectState>,\n  doNotDeleteTheseKeys: string[] = [],\n  doNotSetTheseKeys: true | string[] = [],\n  avoidSetterIfUnchanged: string[] = [],\n  reorderProperties = false\n) {\n  const currentDescriptors = Object.getOwnPropertyDescriptors(object);\n  for (const key of Object.keys(currentDescriptors)) {\n    if (doNotDeleteTheseKeys.includes(key)) continue;\n    if (has(state.descriptors, key)) continue;\n    delete object[key];\n  }\n  // Trigger nyc's setter functions\n  for (const [key, value] of Object.entries(state.values)) {\n    try {\n      if (doNotSetTheseKeys === true || doNotSetTheseKeys.includes(key)) continue;\n      if (avoidSetterIfUnchanged.includes(key) && object[key] === value) continue;\n      state.descriptors[key].set?.call(object, value);\n    } catch {}\n  }\n  // Reset descriptors\n  Object.defineProperties(object, state.descriptors);\n\n  if (reorderProperties) {\n    // Delete and re-define each property so that they are in original order\n    const originalOrder = Object.keys(state.descriptors);\n    const properties = Object.getOwnPropertyDescriptors(object);\n    const sortedKeys = sortBy(Object.keys(properties), (name) =>\n      originalOrder.includes(name) ? originalOrder.indexOf(name) : 999\n    );\n    for (const key of sortedKeys) {\n      delete object[key];\n      Object.defineProperty(object, key, properties[key]);\n    }\n  }\n}\n"
  },
  {
    "path": "src/test/helpers/version-checks.ts",
    "content": "import semver = require('semver');\nimport { ts } from './misc';\n\n// Version checks, used to conditionally enable tests.\n\nexport const nodeUsesNewHooksApi = semver.gte(process.version, '16.12.0');\n// 16.14.0: https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V16.md#notable-changes-4\n// 17.1.0: https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V17.md#2021-11-09-version-1710-current-targos\nexport const nodeSupportsImportAssertions =\n  (semver.gte(process.version, '16.14.0') && semver.lt(process.version, '17.0.0')) ||\n  semver.gte(process.version, '17.1.0');\n// These versions do not require `--experimental-json-modules`\n// 16.15.0: https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V16.md#2022-04-26-version-16150-gallium-lts-danielleadams\n// 17.5.0: https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V17.md#2022-02-10-version-1750-current-ruyadorno\nexport const nodeSupportsUnflaggedJsonImports =\n  (semver.gte(process.version, '16.15.0') && semver.lt(process.version, '17.0.0')) ||\n  semver.gte(process.version, '17.5.0');\n// Node 14.13.0 has a bug where it tries to lex CJS files to discover named exports *before*\n// we transform the code.\n// In other words, it tries to parse raw TS as CJS and balks at `export const foo =`, expecting to see `exports.foo =`\n// This lexing only happens when CJS TS is imported from the ESM loader.\nexport const nodeSupportsImportingTransformedCjsFromEsm = semver.gte(process.version, '14.13.1');\n/** Supports module:nodenext and module:node16 as *stable* features */\nexport const tsSupportsStableNodeNextNode16 = ts.version.startsWith('4.7.') || semver.gte(ts.version, '4.7.0');\n// TS 4.5 is first version to understand .cts, .mts, .cjs, and .mjs extensions\nexport const tsSupportsMtsCtsExtensions = semver.gte(ts.version, '4.5.0');\nexport const tsSupportsImportAssertions = semver.gte(ts.version, '4.5.0');\n// TS 4.1 added jsx=react-jsx and react-jsxdev: https://devblogs.microsoft.com/typescript/announcing-typescript-4-1/#react-17-jsx-factories\nexport const tsSupportsReact17JsxFactories = semver.gte(ts.version, '4.1.0');\n// TS 5.0 added \"allowImportingTsExtensions\"\nexport const tsSupportsAllowImportingTsExtensions = semver.gte(ts.version, '4.999.999');\n// TS 5.0 adds ability for tsconfig to `\"extends\": []` an array of configs\nexport const tsSupportsExtendsArray = semver.gte(ts.version, '4.999.999');\n// TS 5.0 adds verbatimModuleSyntax\nexport const tsSupportsVerbatimModuleSyntax = semver.gte(ts.version, '5.0.0');\n// Relevant when @tsconfig/bases refers to es2021 and we run tests against\n// old TS versions.\nexport const tsSupportsEs2021 = semver.gte(ts.version, '4.3.0');\nexport const tsSupportsEs2022 = semver.gte(ts.version, '4.6.0');\nexport const tsSupportsLibEs2023 = semver.gte(ts.version, '5.0.0');\n"
  },
  {
    "path": "src/test/index.spec.ts",
    "content": "import { context } from './testlib';\nimport * as expect from 'expect';\nimport { join, resolve, sep as pathSep } from 'path';\nimport {\n  BIN_PATH_JS,\n  CMD_TS_NODE_WITH_PROJECT_TRANSPILE_ONLY_FLAG,\n  tsSupportsMtsCtsExtensions,\n  BIN_PATH,\n  ROOT_DIR,\n  TEST_DIR,\n  testsDirRequire,\n  ctxTsNode,\n  CMD_TS_NODE_WITH_PROJECT_FLAG,\n  CMD_TS_NODE_WITHOUT_PROJECT_FLAG,\n  CMD_ESM_LOADER_WITHOUT_PROJECT,\n  createExec,\n} from './helpers';\n\nconst exec = createExec({\n  cwd: TEST_DIR,\n});\n\nconst test = context(ctxTsNode);\n\ntest.suite('ts-node', (test) => {\n  test('should not load typescript outside of loadConfig', async () => {\n    const r = await exec(\n      `node -e \"require('ts-node'); console.dir(Object.keys(require.cache).filter(k => k.includes('node_modules/typescript')).length)\"`\n    );\n    expect(r.err).toBe(null);\n    expect(r.stdout).toBe('0\\n');\n  });\n\n  test.suite('cli', (test) => {\n    test('should execute cli', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_FLAG} hello-world`);\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('Hello, world!\\n');\n    });\n\n    test('shows usage via --help', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} --help`);\n      expect(r.err).toBe(null);\n      expect(r.stdout).toMatch(/Usage: ts-node /);\n    });\n    test('shows version via -v', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} -v`);\n      expect(r.err).toBe(null);\n      expect(r.stdout.trim()).toBe('v' + testsDirRequire('ts-node/package').version);\n    });\n    test('shows version of compiler via -vv', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} -vv`);\n      expect(r.err).toBe(null);\n      expect(r.stdout.trim()).toBe(\n        `ts-node v${testsDirRequire('ts-node/package').version}\\n` +\n          `node ${process.version}\\n` +\n          `compiler v${testsDirRequire('typescript/package').version}`\n      );\n    });\n\n    test('should register via cli', async () => {\n      const r = await exec(`node -r ts-node/register hello-world.ts`, {\n        cwd: TEST_DIR,\n      });\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('Hello, world!\\n');\n    });\n\n    test('should execute cli with absolute path', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_TRANSPILE_ONLY_FLAG} \"${join(TEST_DIR, 'hello-world')}\"`);\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('Hello, world!\\n');\n    });\n\n    test('should print scripts', async () => {\n      const r = await exec(\n        `${CMD_TS_NODE_WITH_PROJECT_FLAG} -pe \"import { example } from './complex/index';example()\"`\n      );\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('example\\n');\n    });\n\n    test(\"should expose ts-node Service as a symbol property on Node's `process` object\", async () => {\n      const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_TRANSPILE_ONLY_FLAG} env`);\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('object\\n');\n    });\n\n    test('should allow js', async () => {\n      const r = await exec(\n        [\n          CMD_TS_NODE_WITH_PROJECT_TRANSPILE_ONLY_FLAG,\n          '-O \"{\\\\\"allowJs\\\\\":true}\"',\n          '-pe \"import { main } from \\'./allow-js/run\\';main()\"',\n        ].join(' ')\n      );\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('hello world\\n');\n    });\n\n    test('should include jsx when `allow-js` true', async () => {\n      const r = await exec(\n        [\n          CMD_TS_NODE_WITH_PROJECT_TRANSPILE_ONLY_FLAG,\n          '-O \"{\\\\\"allowJs\\\\\":true}\"',\n          '-pe \"import { Foo2 } from \\'./allow-js/with-jsx\\'; Foo2.sayHi()\"',\n        ].join(' ')\n      );\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('hello world\\n');\n    });\n\n    test.suite('should support cts when module = CommonJS', (test) => {\n      test.if(tsSupportsMtsCtsExtensions);\n      test('test', async (t) => {\n        const r = await exec(\n          [CMD_TS_NODE_WITHOUT_PROJECT_FLAG, '-pe \"import { main } from \\'./index.cjs\\';main()\"'].join(' '),\n          {\n            cwd: join(TEST_DIR, 'ts45-ext/ext-cts'),\n          }\n        );\n        expect(r.err).toBe(null);\n        expect(r.stdout).toBe('hello world\\n');\n      });\n    });\n\n    test.suite('should support mts when module = ESNext', (test) => {\n      test.if(tsSupportsMtsCtsExtensions);\n      test('test', async () => {\n        const r = await exec([CMD_TS_NODE_WITHOUT_PROJECT_FLAG, './entrypoint.mjs'].join(' '), {\n          cwd: join(TEST_DIR, 'ts45-ext/ext-mts'),\n        });\n        expect(r.err).toBe(null);\n        expect(r.stdout).toBe('hello world\\n');\n      });\n    });\n\n    test('should eval code', async () => {\n      const r = await exec(\n        `${CMD_TS_NODE_WITH_PROJECT_TRANSPILE_ONLY_FLAG} -e \"import * as m from './module';console.log(m.example('test'))\"`\n      );\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('TEST\\n');\n    });\n\n    test('should import empty files', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_TRANSPILE_ONLY_FLAG} -e \"import './empty'\"`);\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('');\n    });\n\n    test('should throw typechecking errors', async () => {\n      const r = await exec(\n        `${CMD_TS_NODE_WITH_PROJECT_FLAG} -e \"import * as m from './module';console.log(m.example(123))\"`\n      );\n      if (r.err === null) {\n        throw new Error('Command was expected to fail, but it succeeded.');\n      }\n\n      expect(r.err.message).toMatch(\n        new RegExp(\"TS2345: Argument of type '(?:number|123)' \" + \"is not assignable to parameter of type 'string'\\\\.\")\n      );\n    });\n\n    test('should be able to ignore diagnostic', async () => {\n      const r = await exec(\n        `${CMD_TS_NODE_WITH_PROJECT_FLAG} --ignore-diagnostics 2345 -e \"import * as m from './module';console.log(m.example(123))\"`\n      );\n      if (r.err === null) {\n        throw new Error('Command was expected to fail, but it succeeded.');\n      }\n\n      expect(r.err.message).toMatch(\n        /TypeError: (?:(?:undefined|foo\\.toUpperCase) is not a function|.*has no method \\'toUpperCase\\')/\n      );\n    });\n\n    test('should work with source maps', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_FLAG} \"throw error\"`);\n      if (r.err === null) {\n        throw new Error('Command was expected to fail, but it succeeded.');\n      }\n\n      expect(r.err.message).toMatch(\n        [\n          `${join(TEST_DIR, 'throw error.ts')}:100`,\n          \"  bar() { throw new Error('this is a demo'); }\",\n          '                ^',\n          'Error: this is a demo',\n        ].join('\\n')\n      );\n    });\n\n    test('should work with source maps in --transpile-only mode', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_FLAG} --transpile-only \"throw error\"`);\n      if (r.err === null) {\n        throw new Error('Command was expected to fail, but it succeeded.');\n      }\n\n      expect(r.err.message).toMatch(\n        [\n          `${join(TEST_DIR, 'throw error.ts')}:100`,\n          \"  bar() { throw new Error('this is a demo'); }\",\n          '                ^',\n          'Error: this is a demo',\n        ].join('\\n')\n      );\n    });\n\n    test('eval should work with source maps', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_FLAG} -pe \"import './throw error'\"`);\n      if (r.err === null) {\n        throw new Error('Command was expected to fail, but it succeeded.');\n      }\n\n      expect(r.err.message).toMatch(\n        [\n          `${join(TEST_DIR, 'throw error.ts')}:100`,\n          \"  bar() { throw new Error('this is a demo'); }\",\n          '                ^',\n        ].join('\\n')\n      );\n    });\n\n    for (const flavor of [\n      '--transpiler ts-node/transpilers/swc transpile-only-swc',\n      '--transpiler ts-node/transpilers/swc-experimental transpile-only-swc',\n      '--swc transpile-only-swc',\n      'transpile-only-swc-via-tsconfig',\n      'transpile-only-swc-shorthand-via-tsconfig',\n    ]) {\n      test(`should support swc and third-party transpilers: ${flavor}`, async () => {\n        const r = await exec(`${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} ${flavor}`, {\n          env: {\n            ...process.env,\n            NODE_OPTIONS: `${process.env.NODE_OPTIONS || ''} --require ${require.resolve(\n              '../../tests/spy-swc-transpiler'\n            )}`,\n          },\n        });\n        expect(r.err).toBe(null);\n        expect(r.stdout).toMatch('Hello World! swc transpiler invocation count: 1\\n');\n      });\n    }\n\n    test.suite('should support `traceResolution` compiler option', (test) => {\n      test('prints traces before running code when enabled', async () => {\n        const r = await exec(`${BIN_PATH} --compiler-options=\"{ \\\\\"traceResolution\\\\\": true }\" -e \"console.log('ok')\"`);\n        expect(r.err).toBeNull();\n        expect(r.stdout).toContain('======== Resolving module');\n        expect(r.stdout.endsWith('ok\\n')).toBe(true);\n      });\n\n      test('does NOT print traces when not enabled', async () => {\n        const r = await exec(`${BIN_PATH} -e \"console.log('ok')\"`);\n        expect(r.err).toBeNull();\n        expect(r.stdout).not.toContain('======== Resolving module');\n        expect(r.stdout.endsWith('ok\\n')).toBe(true);\n      });\n    });\n\n    test('swc transpiler supports native ESM emit', async () => {\n      const r = await exec(`${CMD_ESM_LOADER_WITHOUT_PROJECT} ./index.ts`, {\n        cwd: resolve(TEST_DIR, 'transpile-only-swc-native-esm'),\n      });\n      expect(r.err).toBe(null);\n      expect(r.stdout).toMatch('Hello file://');\n    });\n\n    test('should pipe into `ts-node` and evaluate', async () => {\n      const p = exec(CMD_TS_NODE_WITH_PROJECT_TRANSPILE_ONLY_FLAG);\n      p.child.stdin!.end(\"console.log('hello')\");\n      const r = await p;\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('hello\\n');\n    });\n\n    test('should pipe into `ts-node`', async () => {\n      const p = exec(`${CMD_TS_NODE_WITH_PROJECT_TRANSPILE_ONLY_FLAG} -p`);\n      p.child.stdin!.end('true');\n      const r = await p;\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('true\\n');\n    });\n\n    test('should pipe into an eval script', async () => {\n      const p = exec(`${CMD_TS_NODE_WITH_PROJECT_FLAG} --transpile-only -pe \"process.stdin.isTTY\"`);\n      p.child.stdin!.end('true');\n      const r = await p;\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('undefined\\n');\n    });\n\n    test('should support require flags', async () => {\n      const r = await exec(\n        `${CMD_TS_NODE_WITH_PROJECT_TRANSPILE_ONLY_FLAG} -r ./hello-world -pe \"console.log('success')\"`\n      );\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('Hello, world!\\nsuccess\\nundefined\\n');\n    });\n\n    test('should support require from node modules', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_TRANSPILE_ONLY_FLAG} -r typescript -e \"console.log('success')\"`);\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('success\\n');\n    });\n\n    test('should use source maps with react tsx', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_FLAG} \"throw error react tsx.tsx\"`);\n      expect(r.err).not.toBe(null);\n      expect(r.err!.message).toMatch(\n        [\n          `${join(TEST_DIR, './throw error react tsx.tsx')}:100`,\n          \"  bar() { throw new Error('this is a demo'); }\",\n          '                ^',\n          'Error: this is a demo',\n        ].join('\\n')\n      );\n    });\n\n    test('should use source maps with react tsx in --transpile-only mode', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_FLAG} --transpile-only \"throw error react tsx.tsx\"`);\n      expect(r.err).not.toBe(null);\n      expect(r.err!.message).toMatch(\n        [\n          `${join(TEST_DIR, './throw error react tsx.tsx')}:100`,\n          \"  bar() { throw new Error('this is a demo'); }\",\n          '                ^',\n          'Error: this is a demo',\n        ].join('\\n')\n      );\n    });\n\n    test('should allow custom typings', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_FLAG} custom-types`);\n      // This error comes from *node*, meaning TypeScript respected the custom types (good) but *node* could not find the non-existent module (expected)\n      expect(r.err?.message).toMatch(/Error: Cannot find module 'does-not-exist'/);\n    });\n\n    test('should import js before ts by default', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_TRANSPILE_ONLY_FLAG} import-order/compiled`);\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('Hello, JavaScript!\\n');\n    });\n\n    test('should import ts before js when --prefer-ts-exts flag is present', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_TRANSPILE_ONLY_FLAG} --prefer-ts-exts import-order/compiled`);\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('Hello, TypeScript!\\n');\n    });\n\n    test('should import ts before js when TS_NODE_PREFER_TS_EXTS env is present', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_TRANSPILE_ONLY_FLAG} import-order/compiled`, {\n        env: { ...process.env, TS_NODE_PREFER_TS_EXTS: 'true' },\n      });\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('Hello, TypeScript!\\n');\n    });\n\n    test('should ignore .d.ts files', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_TRANSPILE_ONLY_FLAG} import-order/importer`);\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('Hello, World!\\n');\n    });\n\n    test.suite('issue #884', (test) => {\n      test('should compile', async (t) => {\n        const r = await exec(`\"${BIN_PATH}\" --project issue-884/tsconfig.json issue-884`);\n        expect(r.err).toBe(null);\n        expect(r.stdout).toBe('');\n      });\n    });\n\n    test.suite('issue #986', (test) => {\n      test('should not compile', async () => {\n        const r = await exec(`\"${BIN_PATH}\" --project issue-986/tsconfig.json issue-986`);\n        expect(r.err).not.toBe(null);\n        expect(r.stderr).toMatch(\"Cannot find name 'TEST'\"); // TypeScript error.\n        expect(r.stdout).toBe('');\n      });\n\n      test('should compile with `--files`', async () => {\n        const r = await exec(`\"${BIN_PATH}\" --files --project issue-986/tsconfig.json issue-986`);\n        expect(r.err).not.toBe(null);\n        expect(r.stderr).toMatch('ReferenceError: TEST is not defined'); // Runtime error.\n        expect(r.stdout).toBe('');\n      });\n    });\n\n    test('should have the correct working directory in the user entry-point', async () => {\n      const r = await exec(`${BIN_PATH} --cwd ./cjs index.ts`, {\n        cwd: resolve(TEST_DIR, 'working-dir'),\n      });\n\n      expect(r.err).toBe(null);\n      expect(r.stdout.trim()).toBe('Passing');\n      expect(r.stderr).toBe('');\n    });\n\n    // Disabled due to bug:\n    // --cwd is passed to forked children when not using --esm, erroneously affects their entrypoint resolution.\n    // tracked/fixed by either https://github.com/TypeStrong/ts-node/issues/1834\n    // or https://github.com/TypeStrong/ts-node/issues/1831\n    test.skip('should be able to fork into a nested TypeScript script with a modified working directory', async () => {\n      const r = await exec(`${BIN_PATH} --cwd ./working-dir/forking/ index.ts`);\n\n      expect(r.err).toBe(null);\n      expect(r.stdout.trim()).toBe('Passing: from main');\n      expect(r.stderr).toBe('');\n    });\n\n    test.suite('compiler host', (test) => {\n      test('should execute cli', async () => {\n        const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_FLAG} --compiler-host hello-world`);\n        expect(r.err).toBe(null);\n        expect(r.stdout).toBe('Hello, world!\\n');\n      });\n    });\n\n    test('should transpile files inside a node_modules directory when not ignored', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} from-node-modules/from-node-modules`);\n      if (r.err) throw new Error(`Unexpected error: ${r.err}\\nstdout:\\n${r.stdout}\\nstderr:\\n${r.stderr}`);\n      expect(JSON.parse(r.stdout)).toEqual({\n        external: {\n          tsmri: { name: 'typescript-module-required-internally' },\n          jsmri: { name: 'javascript-module-required-internally' },\n          tsmii: { name: 'typescript-module-imported-internally' },\n          jsmii: { name: 'javascript-module-imported-internally' },\n        },\n        tsmie: { name: 'typescript-module-imported-externally' },\n        jsmie: { name: 'javascript-module-imported-externally' },\n        tsmre: { name: 'typescript-module-required-externally' },\n        jsmre: { name: 'javascript-module-required-externally' },\n      });\n    });\n\n    test.suite('should respect maxNodeModulesJsDepth', (test) => {\n      test('for unscoped modules', async () => {\n        const r = await exec(`${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} maxnodemodulesjsdepth`);\n        expect(r.err).not.toBe(null);\n        expect(r.stderr.replace(/\\r\\n/g, '\\n')).toMatch(\n          'TSError: ⨯ Unable to compile TypeScript:\\n' +\n            \"maxnodemodulesjsdepth/other.ts(4,7): error TS2322: Type 'string' is not assignable to type 'boolean'.\\n\" +\n            '\\n'\n        );\n      });\n\n      test('for @scoped modules', async () => {\n        const r = await exec(`${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} maxnodemodulesjsdepth-scoped`);\n        expect(r.err).not.toBe(null);\n        expect(r.stderr.replace(/\\r\\n/g, '\\n')).toMatch(\n          'TSError: ⨯ Unable to compile TypeScript:\\n' +\n            \"maxnodemodulesjsdepth-scoped/other.ts(7,7): error TS2322: Type 'string' is not assignable to type 'boolean'.\\n\" +\n            '\\n'\n        );\n      });\n    });\n\n    test('--showConfig should log resolved configuration', async (t) => {\n      function native(path: string) {\n        return path.replace(/\\/|\\\\/g, pathSep);\n      }\n      function posix(path: string) {\n        return path.replace(/\\/|\\\\/g, '/');\n      }\n      const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_FLAG} --showConfig`);\n      expect(r.err).toBe(null);\n      t.is(\n        r.stdout,\n        JSON.stringify(\n          {\n            'ts-node': {\n              cwd: native(`${ROOT_DIR}/tests`),\n              projectSearchDir: native(`${ROOT_DIR}/tests`),\n              project: native(`${ROOT_DIR}/tests/tsconfig.json`),\n            },\n            compilerOptions: {\n              target: 'es6',\n              jsx: 'react',\n              noEmit: false,\n              strict: true,\n              typeRoots: [posix(`${ROOT_DIR}/tests/typings`), posix(`${ROOT_DIR}/node_modules/@types`)],\n              sourceMap: true,\n              inlineSourceMap: false,\n              inlineSources: true,\n              declaration: false,\n              outDir: './.ts-node',\n              module: 'commonjs',\n            },\n          },\n          null,\n          2\n        ) + '\\n'\n      );\n    });\n\n    test('should support compiler scope specified via tsconfig.json', async (t) => {\n      const r = await exec(\n        `${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} --project ./scope/c/config/tsconfig.json ./scope/c/index.js`\n      );\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe(`value\\nFailures: 0\\n`);\n    });\n  });\n});\n\ntest('Falls back to transpileOnly when ts compiler returns emitSkipped', async () => {\n  const r = await exec(`${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} --project tsconfig.json ./outside-rootDir/foo.js`, {\n    cwd: join(TEST_DIR, 'emit-skipped-fallback'),\n  });\n  expect(r.err).toBe(null);\n  expect(r.stdout).toBe('foo\\n');\n});\n\ntest.suite('node environment', (test) => {\n  test.suite('Sets argv and execArgv correctly in forked processes', (test) => {\n    forkTest(`node --no-warnings ${BIN_PATH_JS}`, BIN_PATH_JS, '--no-warnings');\n    forkTest(`${BIN_PATH}`, process.platform === 'win32' ? BIN_PATH_JS : BIN_PATH);\n\n    function forkTest(command: string, expectParentArgv0: string, nodeFlag?: string) {\n      test(command, async (t) => {\n        const r = await exec(`${command} --skipIgnore ./recursive-fork/index.ts argv2`);\n        expect(r.err).toBeNull();\n        expect(r.stderr).toBe('');\n        const generations = r.stdout.split('\\n');\n        const expectation = {\n          execArgv: [nodeFlag, BIN_PATH_JS, '--skipIgnore'].filter((v) => v),\n          argv: [\n            // Note: argv[0] is *always* BIN_PATH_JS in child & grandchild\n            expectParentArgv0,\n            resolve(TEST_DIR, 'recursive-fork/index.ts'),\n            'argv2',\n          ],\n        };\n        expect(JSON.parse(generations[0])).toMatchObject(expectation);\n        expectation.argv[0] = BIN_PATH_JS;\n        expect(JSON.parse(generations[1])).toMatchObject(expectation);\n        expect(JSON.parse(generations[2])).toMatchObject(expectation);\n      });\n    }\n  });\n});\n"
  },
  {
    "path": "src/test/module-node/1778.spec.ts",
    "content": "import { createExec } from '../helpers/exec';\nimport { ctxTsNode, TEST_DIR, tsSupportsStableNodeNextNode16, CMD_TS_NODE_WITHOUT_PROJECT_FLAG } from '../helpers';\nimport { context, expect } from '../testlib';\nimport { join } from 'path';\n\nconst exec = createExec({\n  cwd: TEST_DIR,\n});\n\nconst test = context(ctxTsNode);\n\ntest.suite(\n  'Issue #1778: typechecker resolver should take importer\\'s module type -- cjs or esm -- into account when resolving package.json \"exports\"',\n  (test) => {\n    test.if(tsSupportsStableNodeNextNode16);\n    test('test', async () => {\n      const r = await exec(`${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} ./index.ts`, {\n        cwd: join(TEST_DIR, '1778'),\n      });\n      expect(r.err).toBe(null);\n      expect(r.stdout).toBe('{ esm: true }\\n');\n    });\n  }\n);\n"
  },
  {
    "path": "src/test/module-node/module-node.spec.ts",
    "content": "import { expect, context } from '../testlib';\nimport {\n  CMD_TS_NODE_WITHOUT_PROJECT_FLAG,\n  isOneOf,\n  nodeSupportsImportingTransformedCjsFromEsm,\n  resetNodeEnvironment,\n  tsSupportsStableNodeNextNode16,\n} from '../helpers';\nimport * as Path from 'path';\nimport { ctxTsNode } from '../helpers';\nimport { exec } from '../helpers/exec';\nimport { file, project, ProjectAPI as ProjectAPI, StringFile } from '@TypeStrong/fs-fixture-builder';\n\nconst test = context(ctxTsNode);\ntest.beforeEach(async () => {\n  resetNodeEnvironment();\n});\ntype Test = typeof test;\n\n// Declare one test case for each permutations of project configuration\ntest.suite('TypeScript module=NodeNext and Node16', (test) => {\n  test.if(tsSupportsStableNodeNextNode16 && nodeSupportsImportingTransformedCjsFromEsm);\n\n  for (const allowJs of [true, false]) {\n    for (const typecheckMode of ['typecheck', 'transpileOnly', 'swc'] as const) {\n      for (const packageJsonType of [undefined, 'commonjs', 'module'] as const) {\n        for (const tsModuleMode of ['NodeNext', 'Node16'] as const) {\n          declareTest(test, {\n            allowJs,\n            packageJsonType,\n            typecheckMode,\n            tsModuleMode,\n          });\n        }\n      }\n    }\n  }\n});\n\nfunction declareTest(test: Test, testParams: TestParams) {\n  const name = `package-json-type=${testParams.packageJsonType} allowJs=${testParams.allowJs} ${testParams.typecheckMode} tsconfig-module=${testParams.tsModuleMode}`;\n\n  test(name, async (t) => {\n    const proj = writeFixturesToFilesystem(name, testParams);\n\n    t.log(`Running this command: ( cd ${proj.cwd} ; ${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} --esm ./index.mjs )`);\n\n    // All assertions happen within the fixture scripts\n    // Zero exit code indicates a passing test\n    const r = await exec(`${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} --esm ./index.mjs`, {\n      cwd: proj.cwd,\n    });\n    t.log(r.stdout);\n    t.log(r.stderr);\n    expect(r.err).toBe(null);\n    expect(r.stdout).toMatch(/done\\n$/);\n  });\n}\n\ntype PackageJsonType = typeof packageJsonTypes[number];\nconst packageJsonTypes = [undefined, 'commonjs', 'module'] as const;\nconst typecheckModes = ['typecheck', 'transpileOnly', 'swc'] as const;\nconst importStyles = ['static import', 'require', 'dynamic import', 'import = require'] as const;\nconst importExtension = ['js', 'ts', 'omitted'] as const;\n\ninterface Extension {\n  ext: string;\n  jsEquivalentExt?: string;\n  forcesCjs?: boolean;\n  forcesEsm?: boolean;\n  isJs?: boolean;\n  supportsJsx?: boolean;\n  isJsxExt?: boolean;\n  cjsAllowsOmittingExt?: boolean;\n}\nconst extensions: Extension[] = [\n  {\n    ext: 'cts',\n    jsEquivalentExt: 'cjs',\n    forcesCjs: true,\n  },\n  {\n    ext: 'cjs',\n    forcesCjs: true,\n    isJs: true,\n  },\n  {\n    ext: 'mts',\n    jsEquivalentExt: 'mjs',\n    forcesEsm: true,\n  },\n  {\n    ext: 'mjs',\n    forcesEsm: true,\n    isJs: true,\n  },\n  {\n    ext: 'ts',\n    jsEquivalentExt: 'js',\n    cjsAllowsOmittingExt: true,\n  },\n  {\n    ext: 'tsx',\n    jsEquivalentExt: 'js',\n    supportsJsx: true,\n    isJsxExt: true,\n    cjsAllowsOmittingExt: true,\n  },\n  {\n    ext: 'jsx',\n    jsEquivalentExt: 'js',\n    isJs: true,\n    supportsJsx: true,\n    isJsxExt: true,\n    cjsAllowsOmittingExt: true,\n  },\n  {\n    ext: 'js',\n    isJs: true,\n    cjsAllowsOmittingExt: true,\n  },\n];\n/**\n * Describe how a given project config handles files with this extension.\n * For example, projects with allowJs:false do not like .jsx\n */\nfunction getExtensionTreatment(ext: Extension, testParams: TestParams) {\n  // JSX and any TS extensions get compiled.  Everything is compiled in allowJs mode\n  const isCompiled = testParams.allowJs || !ext.isJs || ext.isJsxExt;\n  const isExecutedAsEsm = ext.forcesEsm || (!ext.forcesCjs && testParams.packageJsonType === 'module');\n  const isExecutedAsCjs = !isExecutedAsEsm;\n  // if allowJs:false, then .jsx files are not allowed\n  const isAllowed = !ext.isJsxExt || !ext.isJs || testParams.allowJs;\n  const canHaveJsxSyntax = ext.isJsxExt || (ext.supportsJsx && isCompiled);\n  return {\n    isCompiled,\n    isExecutedAsCjs,\n    isExecutedAsEsm,\n    isAllowed,\n    canHaveJsxSyntax,\n  };\n}\n\ninterface TestParams {\n  packageJsonType: PackageJsonType;\n  typecheckMode: typeof typecheckModes[number];\n  allowJs: boolean;\n  tsModuleMode: 'NodeNext' | 'Node16';\n}\n\ninterface ImporterParams {\n  importStyle: typeof importStyles[number];\n  importerExtension: typeof extensions[number];\n}\n\ninterface ImporteeParams {\n  importeeExtension: typeof extensions[number];\n}\n\nfunction writeFixturesToFilesystem(name: string, testParams: TestParams) {\n  const { packageJsonType, allowJs, typecheckMode, tsModuleMode } = testParams;\n\n  const proj = project(name.replace(/ /g, '_'));\n\n  proj.addJsonFile('package.json', {\n    type: packageJsonType,\n  });\n\n  proj.addJsonFile('tsconfig.json', {\n    compilerOptions: {\n      allowJs,\n      target: 'esnext',\n      module: tsModuleMode,\n      jsx: 'react',\n    },\n    'ts-node': {\n      transpileOnly: typecheckMode === 'transpileOnly' || undefined,\n      swc: typecheckMode === 'swc',\n      experimentalResolver: true,\n    },\n  });\n\n  const indexFile = file('index.mjs', ``);\n  proj.add(indexFile);\n\n  for (const importStyle of importStyles) {\n    for (const importerExtension of extensions) {\n      const importer = createImporter(proj, testParams, {\n        importStyle,\n        importerExtension,\n      });\n      if (!importer) continue;\n\n      let importSpecifier = `./${Path.relative(proj.cwd, importer.path)}`;\n      importSpecifier = replaceExtension(importSpecifier, importerExtension.jsEquivalentExt ?? importerExtension.ext);\n      indexFile.content += `await import('${importSpecifier}');\\n`;\n    }\n  }\n\n  indexFile.content += `console.log('done');\\n`;\n\n  proj.rm();\n  proj.write();\n  return proj;\n}\n\nfunction createImporter(proj: ProjectAPI, testParams: TestParams, importerParams: ImporterParams) {\n  const { importStyle, importerExtension } = importerParams;\n  const name = `${importStyle} from ${importerExtension.ext}`;\n\n  const importerTreatment = getExtensionTreatment(importerExtension, testParams);\n\n  if (!importerTreatment.isAllowed) return;\n  // import = require only allowed in non-js files\n  if (importStyle === 'import = require' && importerExtension.isJs) return;\n  // const = require not allowed in ESM\n  if (importStyle === 'require' && importerTreatment.isExecutedAsEsm) return;\n  // swc bug: import = require will not work in ESM, because swc does not emit necessary `__require = createRequire()`\n  if (testParams.typecheckMode === 'swc' && importStyle === 'import = require' && importerTreatment.isExecutedAsEsm)\n    return;\n\n  const importer = {\n    type: 'string',\n    path: `${name.replace(/ /g, '_')}.${importerExtension.ext}`,\n    imports: '',\n    assertions: '',\n    get content() {\n      return `\n          ${this.imports}\n          async function main() {\n            ${this.assertions}\n          }\n          main();\n        `;\n    },\n  };\n  proj.add(importer as StringFile);\n\n  if (!importerExtension.isJs) importer.imports += `export {};\\n`;\n\n  for (const importeeExtension of extensions) {\n    const ci = createImportee(testParams, { importeeExtension });\n    if (!ci) continue;\n    const { importee, treatment: importeeTreatment } = ci;\n    proj.add(importee);\n\n    // dynamic import is the only way to import ESM from CJS\n    if (importeeTreatment.isExecutedAsEsm && importerTreatment.isExecutedAsCjs && importStyle !== 'dynamic import')\n      continue;\n    // Cannot import = require an ESM file\n    if (importeeTreatment.isExecutedAsEsm && importStyle === 'import = require') continue;\n    // Cannot use static imports in non-compiled non-ESM\n    if (importStyle === 'static import' && !importerTreatment.isCompiled && importerTreatment.isExecutedAsCjs) continue;\n\n    let importSpecifier = `./${importeeExtension.ext}`;\n    if (!importeeExtension.cjsAllowsOmittingExt || isOneOf(importStyle, ['dynamic import', 'static import']))\n      importSpecifier += '.' + (importeeExtension.jsEquivalentExt ?? importeeExtension.ext);\n\n    switch (importStyle) {\n      case 'dynamic import':\n        importer.assertions += `const ${importeeExtension.ext} = await import('${importSpecifier}');\\n`;\n        break;\n      case 'import = require':\n        importer.imports += `import ${importeeExtension.ext} = require('${importSpecifier}');\\n`;\n        break;\n      case 'require':\n        importer.imports += `const ${importeeExtension.ext} = require('${importSpecifier}');\\n`;\n        break;\n      case 'static import':\n        importer.imports += `import * as ${importeeExtension.ext} from '${importSpecifier}';\\n`;\n        break;\n    }\n\n    // Check both namespace.ext and namespace.default.ext, because node can't detect named exports from files we transform\n    const namespaceAsAny = importerExtension.isJs ? importeeExtension.ext : `(${importeeExtension.ext} as any)`;\n    importer.assertions += `if((${importeeExtension.ext}.ext ?? ${namespaceAsAny}.default.ext) !== '${importeeExtension.ext}')\\n`;\n    importer.assertions += `  throw new Error('Wrong export from importee: expected ${importeeExtension.ext} but got ' + ${importeeExtension.ext}.ext + '(importee has these keys: ' + Object.keys(${importeeExtension.ext}) + ')');\\n`;\n  }\n  return importer;\n}\nfunction createImportee(testParams: TestParams, importeeParams: ImporteeParams) {\n  const { importeeExtension } = importeeParams;\n  const importee = file(`${importeeExtension.ext}.${importeeExtension.ext}`);\n  const treatment = getExtensionTreatment(importeeExtension, testParams);\n  if (!treatment.isAllowed) return;\n  if (treatment.isCompiled || treatment.isExecutedAsEsm) {\n    importee.content += `export const ext = '${importeeExtension.ext}';\\n`;\n  } else {\n    importee.content += `exports.ext = '${importeeExtension.ext}';\\n`;\n  }\n  if (!importeeExtension.isJs) {\n    importee.content += `const testTsTypeSyntax: string = 'a string';\\n`;\n  }\n  if (treatment.isExecutedAsCjs) {\n    importee.content += `if(typeof __filename !== 'string') throw new Error('expected file to be CJS but __filename is not declared');\\n`;\n  } else {\n    importee.content += `if(typeof __filename !== 'undefined') throw new Error('expected file to be ESM but __filename is declared');\\n`;\n    importee.content += `if(typeof import.meta.url !== 'string') throw new Error('expected file to be ESM but import.meta.url is not declared');\\n`;\n  }\n  if (treatment.canHaveJsxSyntax) {\n    importee.content += `\n          const React = {\n            createElement(tag, dunno, content) {\n              return {props: {children: [content]}};\n            }\n          };\n          const jsxTest = <a>Hello World</a>;\n          if(jsxTest?.props?.children[0] !== 'Hello World') throw new Error('Expected ${importeeExtension.ext} to support JSX but it did not.');\n        `;\n  }\n  return { importee, treatment };\n}\n\nfunction replaceExtension(path: string, ext: string) {\n  return Path.posix.format({\n    ...Path.parse(path),\n    ext: '.' + ext,\n    base: undefined,\n  });\n}\n"
  },
  {
    "path": "src/test/package.spec.ts",
    "content": "// Verify the shape of the published tarball:\n// valid import specifiers\n// CLI commands on PATH\n// named exports\n\nimport { ctxTsNode, testsDirRequire } from './helpers';\nimport { context, expect } from './testlib';\n\nconst test = context(ctxTsNode);\n\ntest('should export the correct version', (t) => {\n  expect(t.context.tsNodeUnderTest.VERSION).toBe(require('../../package.json').version);\n});\ntest('should export all CJS entrypoints', () => {\n  // Ensure our package.json \"exports\" declaration allows `require()`ing all our entrypoints\n  // https://github.com/TypeStrong/ts-node/pull/1026\n\n  testsDirRequire.resolve('ts-node');\n\n  // only reliably way to ask node for the root path of a dependency is Path.resolve(require.resolve('ts-node/package'), '..')\n  testsDirRequire.resolve('ts-node/package');\n  testsDirRequire.resolve('ts-node/package.json');\n\n  // All bin entrypoints for people who need to augment our CLI: `node -r otherstuff ./node_modules/ts-node/dist/bin`\n  testsDirRequire.resolve('ts-node/dist/bin');\n  testsDirRequire.resolve('ts-node/dist/bin.js');\n  testsDirRequire.resolve('ts-node/dist/bin-transpile');\n  testsDirRequire.resolve('ts-node/dist/bin-transpile.js');\n  testsDirRequire.resolve('ts-node/dist/bin-script');\n  testsDirRequire.resolve('ts-node/dist/bin-script.js');\n  testsDirRequire.resolve('ts-node/dist/bin-cwd');\n  testsDirRequire.resolve('ts-node/dist/bin-cwd.js');\n\n  // Must be `require()`able obviously\n  testsDirRequire.resolve('ts-node/register');\n  testsDirRequire.resolve('ts-node/register/files');\n  testsDirRequire.resolve('ts-node/register/transpile-only');\n  testsDirRequire.resolve('ts-node/register/type-check');\n\n  // `node --loader ts-node/esm`\n  testsDirRequire.resolve('ts-node/esm');\n  testsDirRequire.resolve('ts-node/esm.mjs');\n  testsDirRequire.resolve('ts-node/esm/transpile-only');\n  testsDirRequire.resolve('ts-node/esm/transpile-only.mjs');\n\n  testsDirRequire.resolve('ts-node/transpilers/swc');\n  testsDirRequire.resolve('ts-node/transpilers/swc-experimental');\n\n  testsDirRequire.resolve('ts-node/node14/tsconfig.json');\n  testsDirRequire.resolve('ts-node/node16/tsconfig.json');\n  testsDirRequire.resolve('ts-node/node18/tsconfig.json');\n  testsDirRequire.resolve('ts-node/node20/tsconfig.json');\n});\n"
  },
  {
    "path": "src/test/pluggable-dep-resolution.spec.ts",
    "content": "import { context } from './testlib';\nimport { ctxTsNode, resetNodeEnvironment, TEST_DIR } from './helpers';\nimport * as expect from 'expect';\nimport { resolve } from 'path';\n\nconst test = context(ctxTsNode);\n\ntest.suite(\n  'Pluggable dependency (compiler, transpiler, swc backend) is require()d relative to the tsconfig file that declares it',\n  (test) => {\n    test.serial();\n\n    // The use-case we want to support:\n    //\n    // User shares their tsconfig across multiple projects as an npm module named \"shared-config\", similar to @tsconfig/bases\n    // In their npm module\n    //     They have tsconfig.json with `swc: true` or `compiler: \"ts-patch\"` or something like that\n    //     The module declares a dependency on a known working version of @swc/core, or ts-patch, or something like that.\n    // They use this reusable config via `npm install shared-config` and `\"extends\": \"shared-config/tsconfig.json\"`\n    //\n    // ts-node should resolve ts-patch or @swc/core relative to the extended tsconfig\n    // to ensure we use the known working versions.\n\n    const macro = test.macro((config: string, expected: string) => [\n      `${config} uses ${expected}`,\n      async (t) => {\n        t.teardown(resetNodeEnvironment);\n\n        // A bit hacky: we've monkey-patched the various dependencies to either:\n        // a) return transpiled output we expect\n        // b) throw an error that we expect\n        // Either way, we've proven that the correct dependency is used, which\n        // is our goal.\n        let output: string;\n        try {\n          output = t.context.tsNodeUnderTest\n            .create({\n              project: resolve(TEST_DIR, 'pluggable-dep-resolution', config),\n            })\n            .compile('', 'index.ts');\n        } catch (e) {\n          expect(e).toBe(`emit from ${expected}`);\n          return;\n        }\n\n        expect(output).toContain(`emit from ${expected}\\n`);\n      },\n    ]);\n\n    test(macro, 'tsconfig-custom-compiler.json', 'root custom compiler');\n    test(macro, 'tsconfig-custom-transpiler.json', 'root custom transpiler');\n    test(macro, 'tsconfig-swc-custom-backend.json', 'root custom swc backend');\n    test(macro, 'tsconfig-swc-core.json', 'root @swc/core');\n    test(macro, 'tsconfig-swc-wasm.json', 'root @swc/wasm');\n    test(macro, 'tsconfig-swc.json', 'root @swc/core');\n\n    test(macro, 'node_modules/shared-config/tsconfig-custom-compiler.json', 'shared-config custom compiler');\n    test(macro, 'node_modules/shared-config/tsconfig-custom-transpiler.json', 'shared-config custom transpiler');\n    test(macro, 'node_modules/shared-config/tsconfig-swc-custom-backend.json', 'shared-config custom swc backend');\n    test(macro, 'node_modules/shared-config/tsconfig-swc-core.json', 'shared-config @swc/core');\n    test(macro, 'node_modules/shared-config/tsconfig-swc-wasm.json', 'shared-config @swc/wasm');\n    test(macro, 'node_modules/shared-config/tsconfig-swc.json', 'shared-config @swc/core');\n\n    test.suite('\"extends\"', (test) => {\n      test(macro, 'tsconfig-extend-custom-compiler.json', 'shared-config custom compiler');\n      test(macro, 'tsconfig-extend-custom-transpiler.json', 'shared-config custom transpiler');\n      test(macro, 'tsconfig-extend-swc-custom-backend.json', 'shared-config custom swc backend');\n      test(macro, 'tsconfig-extend-swc-core.json', 'shared-config @swc/core');\n      test(macro, 'tsconfig-extend-swc-wasm.json', 'shared-config @swc/wasm');\n      test(macro, 'tsconfig-extend-swc.json', 'shared-config @swc/core');\n    });\n  }\n);\n"
  },
  {
    "path": "src/test/register.spec.ts",
    "content": "import { once } from 'lodash';\nimport { ctxTsNode, PROJECT_TRANSPILE_ONLY, resetNodeEnvironment, TEST_DIR, tsNodeTypes } from './helpers';\nimport { context, expect } from './testlib';\nimport * as exp from 'expect';\nimport { join, resolve } from 'path';\nimport proxyquire = require('proxyquire');\n\nconst SOURCE_MAP_REGEXP = /\\/\\/# sourceMappingURL=data:application\\/json;charset=utf\\-8;base64,[\\w\\+]+=*$/;\n\nconst createOptions: tsNodeTypes.CreateOptions = {\n  project: PROJECT_TRANSPILE_ONLY,\n  compilerOptions: {\n    jsx: 'preserve',\n  },\n};\n\nconst test = context(ctxTsNode).context(async (t) => {\n  return {\n    moduleTestPath: resolve(__dirname, '../../tests/module.ts'),\n    service: t.context.tsNodeUnderTest.create(createOptions),\n  };\n});\ntest.beforeEach(async (t) => {\n  // Un-install all hook and remove our test module from cache\n  resetNodeEnvironment();\n  delete require.cache[t.context.moduleTestPath];\n  // Paranoid check that we are truly uninstalled\n  exp(() => require(t.context.moduleTestPath)).toThrow(\"Unexpected token 'export'\");\n});\ntest.serial();\n\ntest('create() does not register()', async (t) => {\n  // nyc sets its own `require.extensions` hooks; to truly detect if we're\n  // installed we must attempt to load a TS file\n  t.context.tsNodeUnderTest.create(createOptions);\n  // This error indicates node attempted to run the code as .js\n  exp(() => require(t.context.moduleTestPath)).toThrow(\"Unexpected token 'export'\");\n});\n\ntest('register(options) is shorthand for register(create(options))', (t) => {\n  t.context.tsNodeUnderTest.register(createOptions);\n  require(t.context.moduleTestPath);\n});\n\ntest('register(service) registers a previously-created service', (t) => {\n  t.context.tsNodeUnderTest.register(t.context.service);\n  require(t.context.moduleTestPath);\n});\n\ntest.suite('register(create(options))', (test) => {\n  test.beforeEach(async (t) => {\n    // Re-enable project for every test.\n    t.context.service.enabled(true);\n    t.context.tsNodeUnderTest.register(t.context.service);\n    t.context.service.installSourceMapSupport();\n  });\n\n  test('should be able to require typescript', ({ context: { moduleTestPath } }) => {\n    const m = require(moduleTestPath);\n\n    expect(m.example('foo')).toBe('FOO');\n  });\n\n  test('should support dynamically disabling', ({ context: { service, moduleTestPath } }) => {\n    delete require.cache[moduleTestPath];\n\n    expect(service.enabled(false)).toBe(false);\n    expect(() => require(moduleTestPath)).toThrow(/Unexpected token/);\n\n    delete require.cache[moduleTestPath];\n\n    expect(service.enabled()).toBe(false);\n    expect(() => require(moduleTestPath)).toThrow(/Unexpected token/);\n\n    delete require.cache[moduleTestPath];\n\n    expect(service.enabled(true)).toBe(true);\n    expect(() => require(moduleTestPath)).not.toThrow();\n\n    delete require.cache[moduleTestPath];\n\n    expect(service.enabled()).toBe(true);\n    expect(() => require(moduleTestPath)).not.toThrow();\n  });\n\n  test('should compile through js and ts', () => {\n    const m = require('../../tests/complex');\n\n    expect(m.example()).toBe('example');\n  });\n\n  test('should work with proxyquire', () => {\n    const m = proxyquire('../../tests/complex', {\n      './example': 'hello',\n    });\n\n    expect(m.example()).toBe('hello');\n  });\n\n  test('should work with `require.cache`', () => {\n    const { example1, example2 } = require('../../tests/require-cache');\n\n    expect(example1).not.toBe(example2);\n  });\n\n  test('should use source maps', async () => {\n    try {\n      require('../../tests/throw error');\n    } catch (error: any) {\n      exp(error.stack).toMatch(\n        ['Error: this is a demo', `    at Foo.bar (${join(TEST_DIR, './throw error.ts')}:100:17)`].join('\\n')\n      );\n    }\n  });\n\n  test.suite('JSX preserve', (test) => {\n    let compiled: string;\n\n    test.before(async () => {\n      const old = require.extensions['.tsx']!;\n      require.extensions['.tsx'] = (m: any, fileName) => {\n        const _compile = m._compile;\n\n        m._compile = function (code: string, fileName: string) {\n          compiled = code;\n          return _compile.call(this, code, fileName);\n        };\n\n        return old(m, fileName);\n      };\n    });\n\n    test('should use source maps', async (t) => {\n      try {\n        require('../../tests/with-jsx.tsx');\n      } catch (error: any) {\n        expect(error.stack).toMatch('SyntaxError: Unexpected token');\n      }\n\n      expect(compiled).toMatch(SOURCE_MAP_REGEXP);\n    });\n  });\n});\n\ntest('should support compiler scopes w/multiple registered compiler services at once', (t) => {\n  const { moduleTestPath, tsNodeUnderTest } = t.context;\n  const calls: string[] = [];\n\n  const compilers = [\n    tsNodeUnderTest.register({\n      projectSearchDir: join(TEST_DIR, 'scope/a'),\n      scopeDir: join(TEST_DIR, 'scope/a'),\n      scope: true,\n    }),\n    tsNodeUnderTest.register({\n      projectSearchDir: join(TEST_DIR, 'scope/a'),\n      scopeDir: join(TEST_DIR, 'scope/b'),\n      scope: true,\n    }),\n  ];\n\n  compilers.forEach((c) => {\n    const old = c.compile;\n    c.compile = (code, fileName, lineOffset) => {\n      calls.push(fileName);\n\n      return old(code, fileName, lineOffset);\n    };\n  });\n\n  try {\n    expect(require('../../tests/scope/a').ext).toBe('.ts');\n    expect(require('../../tests/scope/b').ext).toBe('.ts');\n  } finally {\n    compilers.forEach((c) => c.enabled(false));\n  }\n\n  expect(calls).toEqual([join(TEST_DIR, 'scope/a/index.ts'), join(TEST_DIR, 'scope/b/index.ts')]);\n\n  delete require.cache[moduleTestPath];\n\n  expect(() => require(moduleTestPath)).toThrow();\n});\n"
  },
  {
    "path": "src/test/regression.spec.ts",
    "content": "// Misc regression tests go here if they do not have a better home\n\nimport * as exp from 'expect';\nimport { join } from 'path';\nimport type { CreateOptions } from '..';\nimport { createExec, createExecTester } from './helpers/exec';\nimport { CMD_TS_NODE_WITHOUT_PROJECT_FLAG, ctxTsNode, DIST_DIR, TEST_DIR, tsSupportsMtsCtsExtensions } from './helpers';\nimport { context, ExecutionContext, expect } from './testlib';\n\nconst test = context(ctxTsNode);\nconst exec = createExecTester({\n  exec: createExec({\n    cwd: TEST_DIR,\n  }),\n});\n\ntest('#2076 regression test', async () => {\n  const r = await exec({\n    exec: createExec({\n      cwd: join(TEST_DIR, '2076'),\n    }),\n    cmd: `${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} --showConfig`,\n  });\n\n  exp(r.err).toBeNull();\n});\n\ntest('#1488 regression test', async () => {\n  // Scenario that caused the bug:\n  // `allowJs` turned on\n  // `skipIgnore` turned on so that ts-node tries to compile itself (not ideal but theoretically we should be ok with this)\n  // Attempt to `require()` a `.js` file\n  // `assertScriptCanLoadAsCJS` is triggered within `require()`\n  // `./package.json` needs to be fetched into cache via `assertScriptCanLoadAsCJS` which caused a recursive `require()` call\n  // Circular dependency warning is emitted by node\n\n  const r = await exec({\n    exec: createExec({\n      cwd: join(TEST_DIR, '1488'),\n    }),\n    cmd: `${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} ./index.js`,\n  });\n\n  exp(r.err).toBeNull();\n\n  // Assert that we do *not* get `Warning: Accessing non-existent property 'getOptionValue' of module exports inside circular dependency`\n  exp(r.stdout).toBe('foo\\n'); // prove that it ran\n  exp(r.stderr).toBe(''); // prove that no warnings\n});\n\ntest.suite('issue #1098', (test) => {\n  function testAllowedExtensions(\n    t: ExecutionContext<ctxTsNode.Ctx>,\n    compilerOptions: CreateOptions['compilerOptions'],\n    allowed: string[]\n  ) {\n    const disallowed = allExtensions.filter((ext) => !allowed.includes(ext));\n    const { ignored } = t.context.tsNodeUnderTest.create({\n      compilerOptions,\n      skipProject: true,\n    });\n    for (const ext of allowed) {\n      t.log(`Testing that ${ext} files are allowed`);\n      expect(ignored(join(DIST_DIR, `index${ext}`))).toBe(false);\n    }\n    for (const ext of disallowed) {\n      t.log(`Testing that ${ext} files are ignored`);\n      expect(ignored(join(DIST_DIR, `index${ext}`))).toBe(true);\n    }\n  }\n\n  const allExtensions = [\n    '.ts',\n    '.js',\n    '.d.ts',\n    '.mts',\n    '.cts',\n    '.d.mts',\n    '.d.cts',\n    '.mjs',\n    '.cjs',\n    '.tsx',\n    '.jsx',\n    '.xyz',\n    '',\n  ];\n  const mtsCts = tsSupportsMtsCtsExtensions ? ['.mts', '.cts', '.d.mts', '.d.cts'] : [];\n  const mjsCjs = tsSupportsMtsCtsExtensions ? ['.mjs', '.cjs'] : [];\n\n  test('correctly filters file extensions from the compiler when allowJs=false and jsx=false', (t) => {\n    testAllowedExtensions(t, {}, ['.ts', '.d.ts', ...mtsCts]);\n  });\n  test('correctly filters file extensions from the compiler when allowJs=true and jsx=false', (t) => {\n    testAllowedExtensions(t, { allowJs: true }, ['.ts', '.js', '.d.ts', ...mtsCts, ...mjsCjs]);\n  });\n  test('correctly filters file extensions from the compiler when allowJs=false and jsx=true', (t) => {\n    testAllowedExtensions(t, { allowJs: false, jsx: 'preserve' }, ['.ts', '.tsx', '.d.ts', ...mtsCts]);\n  });\n  test('correctly filters file extensions from the compiler when allowJs=true and jsx=true', (t) => {\n    testAllowedExtensions(t, { allowJs: true, jsx: 'preserve' }, [\n      '.ts',\n      '.tsx',\n      '.js',\n      '.jsx',\n      '.d.ts',\n      ...mtsCts,\n      ...mjsCjs,\n    ]);\n  });\n});\n"
  },
  {
    "path": "src/test/reminders.spec.ts",
    "content": "// Reminders about chores to stay up-to-date with the ecosystem\n\nimport { ts, tsSupportsStableNodeNextNode16 } from './helpers';\nimport { expect, test } from './testlib';\n\ntest('Detect when typescript adds new ModuleKind values; flag as a failure so we can update our code flagged [MUST_UPDATE_FOR_NEW_MODULEKIND]', async () => {\n  // We have marked a few places in our code with MUST_UPDATE_FOR_NEW_MODULEKIND to make it easier to update them when TS adds new ModuleKinds\n  const foundKeys: string[] = [];\n  function check(value: number, name: string, required: boolean) {\n    if (required) expect(ts.ModuleKind[name as any]).toBe(value);\n    if (ts.ModuleKind[value] === undefined) {\n      expect(ts.ModuleKind[name as any]).toBeUndefined();\n    } else {\n      expect(ts.ModuleKind[value]).toBe(name);\n      foundKeys.push(name, `${value}`);\n    }\n  }\n  check(0, 'None', true);\n  check(1, 'CommonJS', true);\n  check(2, 'AMD', true);\n  check(3, 'UMD', true);\n  check(4, 'System', true);\n  check(5, 'ES2015', true);\n  try {\n    check(6, 'ES2020', false);\n    check(99, 'ESNext', true);\n  } catch {\n    // the value changed: is `99` now, but was `6` in TS 2.7\n    check(6, 'ESNext', true);\n    expect(ts.ModuleKind[99]).toBeUndefined();\n  }\n  check(7, 'ES2022', false);\n  if (tsSupportsStableNodeNextNode16) {\n    check(100, 'Node16', true);\n  } else {\n    check(100, 'Node12', false);\n  }\n  check(199, 'NodeNext', false);\n  const actualKeys = Object.keys(ts.ModuleKind);\n  actualKeys.sort();\n  foundKeys.sort();\n  expect(actualKeys).toEqual(foundKeys);\n});\n"
  },
  {
    "path": "src/test/remove-env-var-force-color.js",
    "content": "// Eagerly load `expect` so it picks up the env var\nrequire('expect');\ndelete process.env.FORCE_COLOR;\n"
  },
  {
    "path": "src/test/repl/helpers/ctx-repl.ts",
    "content": "import type { ExecutionContext } from '@cspotcode/ava-lib';\nimport { expectStream } from '@cspotcode/expect-stream';\nimport { PassThrough } from 'stream';\nimport type { ctxTsNode } from '../../helpers/ctx-ts-node';\nimport { delay, tsNodeTypes } from '../../helpers/misc';\nimport { TEST_DIR } from '../../helpers/paths';\n\nexport interface CreateReplViaApiOptions {\n  registerHooks: boolean;\n  createReplOpts?: Partial<tsNodeTypes.CreateReplOptions>;\n  createServiceOpts?: Partial<tsNodeTypes.CreateOptions>;\n}\n\nexport interface ExecuteInReplOptions extends CreateReplViaApiOptions {\n  waitMs?: number;\n  waitPattern?: string | RegExp;\n  /** When specified, calls `startInternal` instead of `start` and passes options */\n  startInternalOptions?: Parameters<tsNodeTypes.ReplService['startInternal']>[0];\n}\n\nexport namespace ctxRepl {\n  export type Ctx = ctxTsNode.Ctx & Awaited<ReturnType<typeof ctxRepl>>;\n  export type T = ExecutionContext<Ctx>;\n}\n\n/**\n * pass to test.context() to get REPL testing helper functions\n */\nexport async function ctxRepl(t: ctxTsNode.T) {\n  const { tsNodeUnderTest } = t.context;\n  return { createReplViaApi, executeInRepl };\n\n  function createReplViaApi({ registerHooks, createReplOpts, createServiceOpts }: CreateReplViaApiOptions) {\n    const stdin = new PassThrough();\n    const stdout = new PassThrough();\n    const stderr = new PassThrough();\n    const replService = tsNodeUnderTest.createRepl({\n      stdin,\n      stdout,\n      stderr,\n      ...createReplOpts,\n    });\n    const service = (registerHooks ? tsNodeUnderTest.register : tsNodeUnderTest.create)({\n      ...replService.evalAwarePartialHost,\n      project: `${TEST_DIR}/tsconfig.json`,\n      ...createServiceOpts,\n      tsTrace: replService.console.log.bind(replService.console),\n    });\n    replService.setService(service);\n    t.teardown(async () => {\n      service.enabled(false);\n    });\n\n    return { stdin, stdout, stderr, replService, service };\n  }\n\n  async function executeInRepl(input: string, options: ExecuteInReplOptions) {\n    const {\n      waitPattern,\n      // Wait longer if there's a signal to end it early\n      waitMs = waitPattern != null ? 20e3 : 1e3,\n      startInternalOptions,\n      ...rest\n    } = options;\n    const { stdin, stdout, stderr, replService } = createReplViaApi(rest);\n\n    if (startInternalOptions) {\n      replService.startInternal(startInternalOptions);\n    } else {\n      replService.start();\n    }\n\n    stdin.write(input);\n    stdin.end();\n    const stdoutPromise = expectStream(stdout);\n    const stderrPromise = expectStream(stderr);\n    // Wait for expected output pattern or timeout, whichever comes first\n    await Promise.race([\n      delay(waitMs),\n      waitPattern != null ? stdoutPromise.wait(waitPattern) : stdoutPromise,\n      waitPattern != null ? stderrPromise.wait(waitPattern) : stderrPromise,\n    ]);\n    stdout.end();\n    stderr.end();\n\n    return {\n      stdin,\n      stdout: await stdoutPromise,\n      stderr: await stderrPromise,\n    };\n  }\n}\n"
  },
  {
    "path": "src/test/repl/helpers/macros.ts",
    "content": "import type { ctxRepl, ExecuteInReplOptions } from './ctx-repl';\nimport { expect, test } from '../../testlib';\n\nexport const macroReplNoErrorsAndStdoutContains = test.macro(\n  (script: string, contains: string, options?: Partial<ExecuteInReplOptions>) => async (t: ctxRepl.T) => {\n    macroReplInternal(t, script, contains, undefined, contains, options);\n  }\n);\nexport const macroReplStderrContains = test.macro(\n  (script: string, errorContains: string, options?: Partial<ExecuteInReplOptions>) => async (t: ctxRepl.T) => {\n    macroReplInternal(t, script, undefined, errorContains, errorContains, options);\n  }\n);\n\nasync function macroReplInternal(\n  t: ctxRepl.T,\n  script: string,\n  stdoutContains: string | undefined,\n  stderrContains: string | undefined,\n  waitPattern: string,\n  options?: Partial<ExecuteInReplOptions>\n) {\n  const r = await t.context.executeInRepl(script, {\n    registerHooks: true,\n    startInternalOptions: { useGlobal: false },\n    waitPattern,\n    ...options,\n  });\n  if (stderrContains) expect(r.stderr).toContain(stderrContains);\n  else expect(r.stderr).toBe('');\n  if (stdoutContains) expect(r.stdout).toContain(stdoutContains);\n}\n"
  },
  {
    "path": "src/test/repl/helpers/misc.ts",
    "content": "import { tsNodeTypes, tsSupportsMtsCtsExtensions } from '../../helpers';\n\nexport const replFile = tsSupportsMtsCtsExtensions ? '<repl>.cts' : '<repl>.ts';\n"
  },
  {
    "path": "src/test/repl/node-repl-tla.ts",
    "content": "import { expect } from '../testlib';\nimport type { Key } from 'readline';\nimport { Stream } from 'stream';\nimport semver = require('semver');\nimport { ts } from '../helpers';\nimport type { ctxTsNode } from '../helpers';\n\ninterface SharedObjects extends ctxTsNode.Ctx {\n  TEST_DIR: string;\n}\n\n// Based on https://github.com/nodejs/node/blob/88799930794045795e8abac874730f9eba7e2300/test/parallel/test-repl-top-level-await.js\nexport async function upstreamTopLevelAwaitTests({ TEST_DIR, tsNodeUnderTest }: SharedObjects) {\n  const PROMPT = 'await repl > ';\n\n  const putIn = new REPLStream();\n  const replService = tsNodeUnderTest.createRepl({\n    // @ts-ignore\n    stdin: putIn,\n    // @ts-ignore\n    stdout: putIn,\n    // @ts-ignore\n    stderr: putIn,\n  });\n  const service = tsNodeUnderTest.create({\n    ...replService.evalAwarePartialHost,\n    project: `${TEST_DIR}/tsconfig.json`,\n    experimentalReplAwait: true,\n    transpileOnly: true,\n    compilerOptions: {\n      target: 'es2018',\n    },\n  });\n  replService.setService(service);\n  (\n    replService.stdout as NodeJS.WritableStream & {\n      isTTY: boolean;\n    }\n  ).isTTY = true;\n  const replServer = replService.startInternal({\n    prompt: PROMPT,\n    terminal: true,\n    useColors: true,\n    useGlobal: false,\n  });\n\n  function runAndWait(cmds: Array<string | Key>) {\n    const promise = putIn.wait();\n    for (const cmd of cmds) {\n      if (typeof cmd === 'string') {\n        putIn.run([cmd]);\n      } else {\n        replServer.write('', cmd);\n      }\n    }\n    return promise;\n  }\n\n  await runAndWait(['function foo(x) { return x; }', 'function koo() { return Promise.resolve(4); }']);\n\n  const testCases = [\n    ['await Promise.resolve(0)', '0'],\n\n    // issue: { a: await Promise.resolve(1) } is being interpreted as a block\n    // remove surrounding parenthesis once issue is fixed\n    ['({ a: await Promise.resolve(1) })', '{ a: 1 }'],\n\n    ['_', '{ a: 1 }'],\n    ['let { aa, bb } = await Promise.resolve({ aa: 1, bb: 2 }), f = 5;'],\n    ['aa', '1'],\n    ['bb', '2'],\n    ['f', '5'],\n    ['let cc = await Promise.resolve(2)'],\n    ['cc', '2'],\n    ['let dd;'],\n    ['dd'],\n    ['let [ii, { abc: { kk } }] = [0, { abc: { kk: 1 } }];'],\n    ['ii', '0'],\n    ['kk', '1'],\n    ['var ll = await Promise.resolve(2);'],\n    ['ll', '2'],\n    ['foo(await koo())', '4'],\n    ['_', '4'],\n    ['const m = foo(await koo());'],\n    ['m', '4'],\n\n    // issue: REPL doesn't recognize end of input\n    // compile is returning TS1005 after second line even though\n    // it's valid syntax\n    // [\n    //   'const n = foo(await\\nkoo());',\n    //   ['const n = foo(await\\r', '... koo());\\r', 'undefined'],\n    // ],\n\n    ['`status: ${(await Promise.resolve({ status: 200 })).status}`', \"'status: 200'\"],\n    ['for (let i = 0; i < 2; ++i) await i'],\n    ['for (let i = 0; i < 2; ++i) { await i }'],\n    ['await 0', '0'],\n    ['await 0; function foo() {}'],\n    ['foo', '[Function: foo]'],\n    ['class Foo {}; await 1;', '1'],\n\n    ['Foo', '[class Foo]'],\n    ['if (await true) { function fooz() {}; }'],\n    ['fooz', '[Function: fooz]'],\n    ['if (await true) { class Bar {}; }'],\n\n    [\n      'Bar',\n      'Uncaught ReferenceError: Bar is not defined',\n      // Line increased due to TS added lines\n      {\n        line: 4,\n      },\n    ],\n\n    ['await 0; function* gen(){}'],\n    ['for (var i = 0; i < 10; ++i) { await i; }'],\n    ['i', '10'],\n    ['for (let j = 0; j < 5; ++j) { await j; }'],\n\n    [\n      'j',\n      'Uncaught ReferenceError: j is not defined',\n      // Line increased due to TS added lines\n      {\n        line: 4,\n      },\n    ],\n\n    ['gen', '[GeneratorFunction: gen]'],\n\n    [\n      'return 42; await 5;',\n      'Uncaught SyntaxError: Illegal return statement',\n      // Line increased due to TS added lines\n      {\n        line: 4,\n      },\n    ],\n\n    ['let o = await 1, p'],\n    ['p'],\n    ['let q = 1, s = await 2'],\n    ['s', '2'],\n    [\n      'for await (let i of [1,2,3]) console.log(i)',\n      ['for await (let i of [1,2,3]) console.log(i)\\r', '1', '2', '3', 'undefined'],\n    ],\n\n    // issue: REPL is expecting more input to finish execution\n    // compiler is returning TS1003 error\n    // [\n    //   'await Promise..resolve()',\n    //   [\n    //     'await Promise..resolve()\\r',\n    //     'Uncaught SyntaxError: ',\n    //     'await Promise..resolve()',\n    //     '              ^',\n    //     '',\n    //     \"Unexpected token '.'\",\n    //   ],\n    // ],\n\n    [\n      'for (const x of [1,2,3]) {\\nawait x\\n}',\n      ['for (const x of [1,2,3]) {\\r', '... await x\\r', '... }\\r', 'undefined'],\n    ],\n    [\n      'for (const x of [1,2,3]) {\\nawait x;\\n}',\n      ['for (const x of [1,2,3]) {\\r', '... await x;\\r', '... }\\r', 'undefined'],\n    ],\n    [\n      'for await (const x of [1,2,3]) {\\nconsole.log(x)\\n}',\n      ['for await (const x of [1,2,3]) {\\r', '... console.log(x)\\r', '... }\\r', '1', '2', '3', 'undefined'],\n    ],\n    [\n      'for await (const x of [1,2,3]) {\\nconsole.log(x);\\n}',\n      ['for await (const x of [1,2,3]) {\\r', '... console.log(x);\\r', '... }\\r', '1', '2', '3', 'undefined'],\n    ],\n  ] as const;\n\n  for (const [input, expected = [`${input}\\r`], options = {} as { line?: number }] of testCases) {\n    const toBeRun = input.split('\\n');\n    const lines = await runAndWait(toBeRun);\n    if (Array.isArray(expected)) {\n      if (expected.length === 1) expected.push('undefined');\n      if (lines[0] === input) lines.shift();\n      expect(lines).toEqual([...expected, PROMPT]);\n    } else if ('line' in options) {\n      expect(lines[toBeRun.length + options.line!]).toEqual(expected);\n    } else {\n      const echoed = toBeRun.map((a, i) => `${i > 0 ? '... ' : ''}${a}\\r`);\n      expect(lines).toEqual([...echoed, expected, PROMPT]);\n    }\n  }\n}\n\n// copied from https://github.com/nodejs/node/blob/88799930794045795e8abac874730f9eba7e2300/lib/internal/util/inspect.js#L220-L227\n// Regex used for ansi escape code splitting\n// Adopted from https://github.com/chalk/ansi-regex/blob/HEAD/index.js\n// License: MIT, authors: @sindresorhus, Qix-, arjunmehta and LitoMore\n// Matches all ansi escape code sequences in a string\nconst ansiPattern =\n  '[\\\\u001B\\\\u009B][[\\\\]()#;?]*' +\n  '(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)' +\n  '|(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))';\nconst ansi = new RegExp(ansiPattern, 'g');\n\n// copied from https://github.com/nodejs/node/blob/88799930794045795e8abac874730f9eba7e2300/lib/internal/util/inspect.js#L2112-L2117\n/**\n * Remove all VT control characters. Use to estimate displayed string width.\n */\nfunction stripVTControlCharacters(str: string) {\n  return str.replace(ansi, '');\n}\n\n// copied from https://github.com/nodejs/node/blob/88799930794045795e8abac874730f9eba7e2300/test/parallel/test-repl-top-level-await.js\nclass ArrayStream extends Stream {\n  readable = true;\n  writable = true;\n\n  run(data: string[]) {\n    data.forEach((line) => {\n      this.emit('data', `${line}\\n`);\n    });\n  }\n\n  pause() {}\n  resume() {}\n  write(_chunk: Buffer | string, _encoding: string, _callback: () => {}) {}\n}\n\nexport class REPLStream extends ArrayStream {\n  waitingForResponse = false;\n  lines = [''];\n\n  constructor() {\n    super();\n  }\n\n  write(chunk: Buffer | string, encoding: string, callback: () => void) {\n    if (Buffer.isBuffer(chunk)) {\n      chunk = chunk.toString(encoding);\n    }\n    const chunkLines = stripVTControlCharacters(chunk).split('\\n');\n    this.lines[this.lines.length - 1] += chunkLines[0];\n    if (chunkLines.length > 1) {\n      this.lines.push(...chunkLines.slice(1));\n    }\n    this.emit('line');\n    if (callback) callback();\n    return true;\n  }\n\n  wait(): Promise<string[]> {\n    if (this.waitingForResponse) {\n      throw new Error('Currently waiting for response to another command');\n    }\n    this.lines = [''];\n    return new Promise((resolve, reject) => {\n      const onError = (err: any) => {\n        this.removeListener('line', onLine);\n        reject(err);\n      };\n      const onLine = () => {\n        if (this.lines[this.lines.length - 1].includes('> ')) {\n          this.removeListener('error', onError);\n          this.removeListener('line', onLine);\n          resolve(this.lines);\n        }\n      };\n      this.once('error', onError);\n      this.on('line', onLine);\n    });\n  }\n}\n"
  },
  {
    "path": "src/test/repl/repl-environment.spec.ts",
    "content": "/*\n * Tests that the REPL environment is setup correctly:\n * globals, __filename, builtin module accessors.\n */\n\nimport { context, expect } from '../testlib';\nimport { expectStream } from '@cspotcode/expect-stream';\nimport { CMD_TS_NODE_WITH_PROJECT_FLAG, ctxTsNode, delay, TEST_DIR } from '../helpers';\nimport { dirname, join } from 'path';\nimport { createExec, createExecTester } from '../helpers/exec';\nimport { homedir } from 'os';\nimport { replFile } from './helpers/misc';\nimport { ctxRepl } from './helpers/ctx-repl';\n\nconst test = context(ctxTsNode).contextEach(ctxRepl);\n\nconst exec = createExec({\n  cwd: TEST_DIR,\n});\nconst execTester = createExecTester({\n  cmd: CMD_TS_NODE_WITH_PROJECT_FLAG,\n  exec,\n});\n\ntest.suite('[eval], <repl>, and [stdin] execute with correct globals', (test) => {\n  interface GlobalInRepl extends NodeJS.Global {\n    testReport: any;\n    replReport: any;\n    stdinReport: any;\n    evalReport: any;\n    module: any;\n    exports: any;\n    fs: any;\n    __filename: any;\n    __dirname: any;\n  }\n  const globalInRepl = global as GlobalInRepl;\n  const programmaticTest = test.macro(\n    (\n        {\n          evalCodeBefore,\n          stdinCode,\n          waitFor,\n        }: {\n          evalCodeBefore: string | null;\n          stdinCode: string;\n          waitFor?: () => boolean;\n        },\n        assertions: (stdout: string) => Promise<void> | void\n      ) =>\n      async (t) => {\n        delete globalInRepl.testReport;\n        delete globalInRepl.replReport;\n        delete globalInRepl.stdinReport;\n        delete globalInRepl.evalReport;\n        delete globalInRepl.module;\n        delete globalInRepl.exports;\n        delete globalInRepl.fs;\n        delete globalInRepl.__filename;\n        delete globalInRepl.__dirname;\n        const { stdin, stderr, stdout, replService } = t.context.createReplViaApi({\n          registerHooks: true,\n        });\n        if (typeof evalCodeBefore === 'string') {\n          replService.evalCode(evalCodeBefore);\n        }\n        replService.start();\n        stdin.write(stdinCode);\n        stdin.end();\n        let done = false;\n        await Promise.race([\n          delay(20e3),\n          (async () => {\n            while (!done && !waitFor?.()) {\n              await delay(1e3);\n            }\n          })(),\n        ]);\n        done = true;\n        stdout.end();\n        stderr.end();\n        expect(await expectStream(stderr)).toBe('');\n        await assertions(await expectStream(stdout));\n      }\n  );\n\n  const declareGlobals = `declare var replReport: any, stdinReport: any, evalReport: any, restReport: any, global: any, __filename: any, __dirname: any, module: any, exports: any;`;\n  function setReportGlobal(type: 'repl' | 'stdin' | 'eval') {\n    return `\n            ${declareGlobals}\n            global.${type}Report = {\n              __filename: typeof __filename !== 'undefined' && __filename,\n              __dirname: typeof __dirname !== 'undefined' && __dirname,\n              moduleId: typeof module !== 'undefined' && module.id,\n              modulePath: typeof module !== 'undefined' && module.path,\n              moduleFilename: typeof module !== 'undefined' && module.filename,\n              modulePaths: typeof module !== 'undefined' && [...module.paths],\n              exportsTest: typeof exports !== 'undefined' && typeof module !== 'undefined' ? module.exports === exports : null,\n              stackTest: new Error().stack!.split('\\\\n')[1],\n              moduleAccessorsTest: eval('typeof fs') === 'undefined' ? null : eval('fs') === require('fs'),\n              argv: [...process.argv]\n            };\n          `.replace(/\\n/g, '');\n  }\n  const reportsObject = `\n          {\n            stdinReport: typeof stdinReport !== 'undefined' && stdinReport,\n            evalReport: typeof evalReport !== 'undefined' && evalReport,\n            replReport: typeof replReport !== 'undefined' && replReport\n          }\n        `;\n  const printReports = `\n          ${declareGlobals}\n          console.log(JSON.stringify(${reportsObject}));\n        `.replace(/\\n/g, '');\n  const saveReportsAsGlobal = `\n          ${declareGlobals}\n          global.testReport = ${reportsObject};\n        `.replace(/\\n/g, '');\n\n  function parseStdoutStripReplPrompt(stdout: string) {\n    // Strip node's welcome header, only uncomment if running these tests manually against vanilla node\n    // stdout = stdout.replace(/^Welcome to.*\\nType \"\\.help\" .*\\n/, '');\n    expect(stdout.slice(0, 2)).toBe('> ');\n    expect(stdout.slice(-12)).toBe('undefined\\n> ');\n    return parseStdout(stdout.slice(2, -12));\n  }\n  function parseStdout(stdout: string) {\n    return JSON.parse(stdout);\n  }\n\n  /** Every possible ./node_modules directory ascending upwards starting with ./tests/node_modules */\n  const modulePaths = createModulePaths(TEST_DIR);\n  function createModulePaths(dir: string) {\n    const modulePaths: string[] = [];\n    for (let path = dir; ; path = dirname(path)) {\n      modulePaths.push(join(path, 'node_modules'));\n      if (dirname(path) === path) break;\n    }\n    return modulePaths;\n  }\n\n  // Executable is `ts-node` on Posix, `bin.js` on Windows due to Windows shimming limitations (this is determined by package manager)\n  const tsNodeExe = expect.stringMatching(/\\b(ts-node|bin.js)$/);\n\n  test('stdin', async (t) => {\n    const r = await execTester({\n      stdin: `${setReportGlobal('stdin')};${printReports}`,\n      flags: '',\n    });\n    const report = parseStdout(r.stdout);\n    expect(report).toMatchObject({\n      stdinReport: {\n        __filename: '[stdin]',\n        __dirname: '.',\n        moduleId: '[stdin]',\n        modulePath: '.',\n        // Note: vanilla node does does not have file extension\n        moduleFilename: join(TEST_DIR, `[stdin].ts`),\n        modulePaths,\n        exportsTest: true,\n        // Note: vanilla node uses different name. See #1360\n        stackTest: expect.stringContaining(`    at ${join(TEST_DIR, `[stdin].ts`)}:1:`),\n        moduleAccessorsTest: null,\n        argv: [tsNodeExe],\n      },\n      evalReport: false,\n      replReport: false,\n    });\n  });\n  test('repl', async (t) => {\n    const r = await execTester({\n      stdin: `${setReportGlobal('repl')};${printReports}`,\n      flags: '-i',\n    });\n    const report = parseStdoutStripReplPrompt(r.stdout);\n    expect(report).toMatchObject({\n      stdinReport: false,\n      evalReport: false,\n      replReport: {\n        __filename: false,\n        __dirname: false,\n        moduleId: '<repl>',\n        modulePath: '.',\n        moduleFilename: null,\n        modulePaths: expect.objectContaining({\n          ...[join(TEST_DIR, `repl/node_modules`), ...modulePaths],\n        }),\n        // Note: vanilla node REPL does not set exports\n        exportsTest: true,\n        // Note: vanilla node uses different name. See #1360\n        stackTest: expect.stringContaining(`    at ${join(TEST_DIR, replFile)}:4:`),\n        moduleAccessorsTest: true,\n        argv: [tsNodeExe],\n      },\n    });\n    // Prior to these, nyc adds another entry on Windows; we need to ignore it\n    expect(report.replReport.modulePaths.slice(-3)).toMatchObject([\n      join(homedir(), `.node_modules`),\n      join(homedir(), `.node_libraries`),\n      // additional entry goes to node's install path\n      expect.any(String),\n    ]);\n  });\n\n  // Should ignore -i and run the entrypoint\n  test('-i w/entrypoint ignores -i', async (t) => {\n    const r = await execTester({\n      stdin: `${setReportGlobal('repl')};${printReports}`,\n      flags: '-i ./repl/script.js',\n    });\n    const report = parseStdout(r.stdout);\n    expect(report).toMatchObject({\n      stdinReport: false,\n      evalReport: false,\n      replReport: false,\n    });\n  });\n\n  // Should not execute stdin\n  // Should not interpret positional arg as an entrypoint script\n  test('-e', async (t) => {\n    const r = await execTester({\n      stdin: `throw new Error()`,\n      flags: `-e \"${setReportGlobal('eval')};${printReports}\"`,\n    });\n    const report = parseStdout(r.stdout);\n    expect(report).toMatchObject({\n      stdinReport: false,\n      evalReport: {\n        __filename: '[eval]',\n        __dirname: '.',\n        moduleId: '[eval]',\n        modulePath: '.',\n        // Note: vanilla node does does not have file extension\n        moduleFilename: join(TEST_DIR, `[eval].ts`),\n        modulePaths: [...modulePaths],\n        exportsTest: true,\n        // Note: vanilla node uses different name. See #1360\n        stackTest: expect.stringContaining(`    at ${join(TEST_DIR, `[eval].ts`)}:1:`),\n        moduleAccessorsTest: true,\n        argv: [tsNodeExe],\n      },\n      replReport: false,\n    });\n  });\n  test('-e w/entrypoint arg does not execute entrypoint', async (t) => {\n    const r = await execTester({\n      stdin: `throw new Error()`,\n      flags: `-e \"${setReportGlobal('eval')};${printReports}\" ./repl/script.js`,\n    });\n    const report = parseStdout(r.stdout);\n    expect(report).toMatchObject({\n      stdinReport: false,\n      evalReport: {\n        __filename: '[eval]',\n        __dirname: '.',\n        moduleId: '[eval]',\n        modulePath: '.',\n        // Note: vanilla node does does not have file extension\n        moduleFilename: join(TEST_DIR, `[eval].ts`),\n        modulePaths,\n        exportsTest: true,\n        // Note: vanilla node uses different name. See #1360\n        stackTest: expect.stringContaining(`    at ${join(TEST_DIR, `[eval].ts`)}:1:`),\n        moduleAccessorsTest: true,\n        argv: [tsNodeExe, './repl/script.js'],\n      },\n      replReport: false,\n    });\n  });\n  test('-e w/non-path arg', async (t) => {\n    const r = await execTester({\n      stdin: `throw new Error()`,\n      flags: `-e \"${setReportGlobal('eval')};${printReports}\" ./does-not-exist.js`,\n    });\n    const report = parseStdout(r.stdout);\n    expect(report).toMatchObject({\n      stdinReport: false,\n      evalReport: {\n        __filename: '[eval]',\n        __dirname: '.',\n        moduleId: '[eval]',\n        modulePath: '.',\n        // Note: vanilla node does does not have file extension\n        moduleFilename: join(TEST_DIR, `[eval].ts`),\n        modulePaths,\n        exportsTest: true,\n        // Note: vanilla node uses different name. See #1360\n        stackTest: expect.stringContaining(`    at ${join(TEST_DIR, `[eval].ts`)}:1:`),\n        moduleAccessorsTest: true,\n        argv: [tsNodeExe, './does-not-exist.js'],\n      },\n      replReport: false,\n    });\n  });\n  test('-e -i', async (t) => {\n    const r = await execTester({\n      stdin: `${setReportGlobal('repl')};${printReports}`,\n      flags: `-e \"${setReportGlobal('eval')}\" -i`,\n    });\n    const report = parseStdoutStripReplPrompt(r.stdout);\n    expect(report).toMatchObject({\n      stdinReport: false,\n      evalReport: {\n        __filename: '[eval]',\n        __dirname: '.',\n        moduleId: '[eval]',\n        modulePath: '.',\n        // Note: vanilla node does does not have file extension\n        moduleFilename: join(TEST_DIR, `[eval].ts`),\n        modulePaths,\n        exportsTest: true,\n        // Note: vanilla node uses different name. See #1360\n        stackTest: expect.stringContaining(`    at ${join(TEST_DIR, `[eval].ts`)}:1:`),\n        moduleAccessorsTest: true,\n        argv: [tsNodeExe],\n      },\n      replReport: {\n        __filename: '[eval]',\n        __dirname: '.',\n        moduleId: '<repl>',\n        modulePath: '.',\n        moduleFilename: null,\n        modulePaths: expect.objectContaining({\n          ...[join(TEST_DIR, `repl/node_modules`), ...modulePaths],\n        }),\n        // Note: vanilla node REPL does not set exports, so this would be false\n        exportsTest: true,\n        // Note: vanilla node uses different name. See #1360\n        stackTest: expect.stringContaining(`    at ${join(TEST_DIR, replFile)}:4:`),\n        moduleAccessorsTest: true,\n        argv: [tsNodeExe],\n      },\n    });\n    // Prior to these, nyc adds another entry on Windows; we need to ignore it\n    expect(report.replReport.modulePaths.slice(-3)).toMatchObject([\n      join(homedir(), `.node_modules`),\n      join(homedir(), `.node_libraries`),\n      // additional entry goes to node's install path\n      expect.any(String),\n    ]);\n  });\n\n  test('-e -i w/entrypoint ignores -e and -i, runs entrypoint', async (t) => {\n    const r = await execTester({\n      stdin: `throw new Error()`,\n      flags: '-e \"throw new Error()\" -i ./repl/script.js',\n    });\n    const report = parseStdout(r.stdout);\n    expect(report).toMatchObject({\n      stdinReport: false,\n      evalReport: false,\n      replReport: false,\n    });\n  });\n\n  test('-e -i when -e throws error, -i does not run', async (t) => {\n    const r = await execTester({\n      stdin: `console.log('hello')`,\n      flags: `-e \"throw new Error('error from -e')\" -i`,\n      expectError: true,\n    });\n    expect(r.err).toBeDefined();\n    expect(r.stdout).toBe('');\n    expect(r.stderr).toContain('error from -e');\n  });\n\n  // Serial because it's timing-sensitive\n  test.serial(\n    'programmatically, eval-ing before starting REPL',\n    programmaticTest,\n    {\n      evalCodeBefore: `${setReportGlobal('repl')};${saveReportsAsGlobal}`,\n      stdinCode: '',\n      waitFor: () => !!globalInRepl.testReport,\n    },\n    (stdout) => {\n      expect(globalInRepl.testReport).toMatchObject({\n        stdinReport: false,\n        evalReport: false,\n        replReport: {\n          __filename: false,\n          __dirname: false,\n\n          // Due to limitations in node's REPL API, we can't really expose\n          // the `module` prior to calling repl.start() which also sends\n          // output to stdout.\n          // For now, leaving this as unsupported / undefined behavior.\n\n          // moduleId: '<repl>',\n          // modulePath: '.',\n          // moduleFilename: null,\n          // modulePaths: [\n          //   join(ROOT_DIR, `repl/node_modules`),\n          //   ...rootModulePaths,\n          //   join(homedir(), `.node_modules`),\n          //   join(homedir(), `.node_libraries`),\n          //   // additional entry goes to node's install path\n          //   exp.any(String),\n          // ],\n          // // Note: vanilla node REPL does not set exports\n          // exportsTest: true,\n          // moduleAccessorsTest: true,\n\n          // Note: vanilla node uses different name. See #1360\n          stackTest: expect.stringContaining(`    at ${join(TEST_DIR, replFile)}:1:`),\n        },\n      });\n    }\n  );\n  test.serial(\n    'programmatically, passing code to stdin after starting REPL',\n    programmaticTest,\n    {\n      evalCodeBefore: null,\n      stdinCode: `${setReportGlobal('repl')};${saveReportsAsGlobal}`,\n      waitFor: () => !!globalInRepl.testReport,\n    },\n    (stdout) => {\n      expect(globalInRepl.testReport).toMatchObject({\n        stdinReport: false,\n        evalReport: false,\n        replReport: {\n          __filename: false,\n          __dirname: false,\n          moduleId: '<repl>',\n          modulePath: '.',\n          moduleFilename: null,\n          modulePaths: expect.objectContaining({\n            ...[join(TEST_DIR, `repl/node_modules`), ...modulePaths],\n          }),\n          // Note: vanilla node REPL does not set exports\n          exportsTest: true,\n          // Note: vanilla node uses different name. See #1360\n          stackTest: expect.stringContaining(`    at ${join(TEST_DIR, replFile)}:1:`),\n          moduleAccessorsTest: true,\n        },\n      });\n      // Prior to these, nyc adds another entry on Windows; we need to ignore it\n      expect(globalInRepl.testReport.replReport.modulePaths.slice(-3)).toMatchObject([\n        join(homedir(), `.node_modules`),\n        join(homedir(), `.node_libraries`),\n        // additional entry goes to node's install path\n        expect.any(String),\n      ]);\n    }\n  );\n});\n"
  },
  {
    "path": "src/test/repl/repl.spec.ts",
    "content": "import { context, expect } from '../testlib';\nimport {\n  CMD_TS_NODE_WITHOUT_PROJECT_FLAG,\n  delay,\n  resetNodeEnvironment,\n  ts,\n  tsSupportsMtsCtsExtensions,\n} from '../helpers';\nimport semver = require('semver');\nimport { CMD_TS_NODE_WITH_PROJECT_FLAG, ctxTsNode, TEST_DIR } from '../helpers';\nimport { createExec, createExecTester } from '../helpers/exec';\nimport { upstreamTopLevelAwaitTests } from './node-repl-tla';\nimport { replFile } from './helpers/misc';\nimport { expectStream } from '@cspotcode/expect-stream';\nimport { join } from 'path';\nimport { ctxRepl } from './helpers/ctx-repl';\nimport { macroReplNoErrorsAndStdoutContains, macroReplStderrContains } from './helpers/macros';\n\nconst test = context(ctxTsNode).contextEach(ctxRepl);\ntest.serial();\ntest.beforeEach(async (t) => {\n  t.teardown(() => {\n    resetNodeEnvironment();\n    // Useful for debugging memory leaks.  Leaving in case I need it again.\n    // global.gc(); // Requires adding nodeArguments: ['--expose-gc'] to ava config\n    // console.dir(process.memoryUsage().heapUsed / 1000 / 1000);\n  });\n});\n\nconst exec = createExec({\n  cwd: TEST_DIR,\n});\n\nconst execTester = createExecTester({\n  cmd: CMD_TS_NODE_WITH_PROJECT_FLAG,\n  exec,\n});\n\ntest('should run REPL when --interactive passed and stdin is not a TTY', async () => {\n  const p = exec(`${CMD_TS_NODE_WITH_PROJECT_FLAG} --interactive`);\n  p.child.stdin!.end('console.log(\"123\")\\n');\n  const r = await p;\n  expect(r.err).toBe(null);\n  expect(r.stdout).toBe('> 123\\n' + 'undefined\\n' + '> ');\n});\n\ntest('should echo a value when using the swc transpiler', async () => {\n  const p = exec(`${CMD_TS_NODE_WITH_PROJECT_FLAG} --interactive  --transpiler ts-node/transpilers/swc-experimental`);\n  p.child.stdin!.end('400\\n401\\n');\n  const r = await p;\n  expect(r.err).toBe(null);\n  expect(r.stdout).toBe('> 400\\n> 401\\n> ');\n});\n\ntest('REPL has command to get type information', async () => {\n  const p = exec(`${CMD_TS_NODE_WITH_PROJECT_FLAG} --interactive`);\n  p.child.stdin!.end('\\nconst a = 123\\n.type a');\n  const r = await p;\n  expect(r.err).toBe(null);\n  expect(r.stdout).toBe('> undefined\\n' + '> undefined\\n' + '> const a: 123\\n' + '> ');\n});\n\n// Serial because it's timing-sensitive\ntest.serial('REPL can be configured on `start`', async (t) => {\n  const prompt = '#> ';\n\n  const r = await t.context.executeInRepl(`const x = 3\\n'done'`, {\n    waitPattern: \"'done'\\n#> \",\n    registerHooks: true,\n    startInternalOptions: {\n      prompt,\n      ignoreUndefined: true,\n    },\n  });\n\n  expect(r.stderr).toBe('');\n  expect(r.stdout).toBe(`${prompt}${prompt}'done'\\n#> `);\n});\n\n// Serial because it's timing-sensitive\ntest.serial('REPL uses a different context when `useGlobal` is false', async (t) => {\n  const r = await t.context.executeInRepl(\n    // No error when re-declaring x\n    'const x = 3\\n' +\n      // console.log ouput will end up in the stream and not in test output\n      'console.log(1)\\n',\n    {\n      registerHooks: true,\n      waitPattern: `> undefined\\n> 1\\nundefined\\n> `,\n      startInternalOptions: {\n        useGlobal: false,\n      },\n    }\n  );\n\n  expect(r.stderr).toBe('');\n  expect(r.stdout).toBe(`> undefined\\n> 1\\nundefined\\n> `);\n});\n\n// Serial because it's timing-sensitive\ntest.serial('REPL can be created via API', async (t) => {\n  const r = await t.context.executeInRepl(`\\nconst a = 123\\n.type a\\n`, {\n    registerHooks: true,\n    waitPattern: '123\\n> ',\n  });\n  expect(r.stderr).toBe('');\n  expect(r.stdout).toBe('> undefined\\n' + '> undefined\\n' + '> const a: 123\\n' + '> ');\n});\n\ntest.suite('top level await', ({ contextEach }) => {\n  const compilerOptions = {\n    target: 'es2018',\n  };\n  const test = contextEach(async (t) => {\n    return { executeInTlaRepl };\n\n    function executeInTlaRepl(input: string, waitPattern?: string | RegExp) {\n      return t.context.executeInRepl(\n        input\n          .split('\\n')\n          .map((line) => line.trim())\n          // Restore newline once https://github.com/nodejs/node/pull/39392 is merged\n          .join(''),\n        {\n          registerHooks: true,\n          waitPattern,\n          createServiceOpts: {\n            experimentalReplAwait: true,\n            compilerOptions,\n          },\n          startInternalOptions: { useGlobal: false },\n        }\n      );\n    }\n  });\n\n  // Serial because it's timing-sensitive\n  test.serial('should allow evaluating top level await', async (t) => {\n    const script = `\n        const x: number = await new Promise((r) => r(1));\n        for await (const x of [1,2,3]) { console.log(x) };\n        for (const x of ['a', 'b']) { await x; console.log(x) };\n        class Foo {}; await 1;\n        function Bar() {}; await 2;\n        const {y} = await ({y: 2});\n        const [z] = await [3];\n        x + y + z;\n      `;\n\n    const r = await t.context.executeInTlaRepl(script, '6\\n> ');\n    expect(r.stderr).toBe('');\n    expect(r.stdout).toBe('> 1\\n2\\n3\\na\\nb\\n6\\n> ');\n  });\n\n  // Serial because it's timing-sensitive\n  test.serial('should wait until promise is settled when awaiting at top level', async (t) => {\n    const awaitMs = 500;\n    const script = `\n          const startTime = new Date().getTime();\n          await new Promise((r) => setTimeout(() => r(1), ${awaitMs}));\n          const endTime = new Date().getTime();\n          endTime - startTime;\n        `;\n    const r = await t.context.executeInTlaRepl(script, /\\d+\\n/);\n\n    expect(r.stderr).toBe('');\n\n    const elapsedTimeString = r.stdout.split('\\n')[0].replace('> ', '').trim();\n    expect(elapsedTimeString).toMatch(/^\\d+$/);\n    const elapsedTime = Number(elapsedTimeString);\n    expect(elapsedTime).toBeGreaterThanOrEqual(awaitMs - 50);\n    // When CI is taxed, the time may be *much* greater than expected.\n    // I can't think of a case where the time being *too high* is a bug\n    // that this test can catch.  So I've made this check very loose.\n    expect(elapsedTime).toBeLessThanOrEqual(awaitMs + 10e3);\n  });\n\n  // Serial because it's timing-sensitive\n  test.serial('should not wait until promise is settled when not using await at top level', async (t) => {\n    const script = `\n          const startTime = new Date().getTime();\n          (async () => await new Promise((r) => setTimeout(() => r(1), ${5000})))();\n          const endTime = new Date().getTime();\n          endTime - startTime;\n        `;\n    const r = await t.context.executeInTlaRepl(script, /\\d+\\n/);\n\n    expect(r.stderr).toBe('');\n\n    const ellapsedTime = Number(r.stdout.split('\\n')[0].replace('> ', '').trim());\n    expect(ellapsedTime).toBeGreaterThanOrEqual(0);\n    // Should ideally be instantaneous; leave wiggle-room for slow CI\n    expect(ellapsedTime).toBeLessThanOrEqual(100);\n  });\n\n  // Serial because it's timing-sensitive\n  test.serial('should error with typing information when awaited result has type mismatch', async (t) => {\n    const r = await t.context.executeInTlaRepl('const x: string = await 1', 'error');\n\n    expect(r.stdout).toBe('> > ');\n    expect(r.stderr.replace(/\\r\\n/g, '\\n')).toBe(\n      `${replFile}(4,7): error TS2322: ` +\n        (semver.gte(ts.version, '4.0.0')\n          ? `Type 'number' is not assignable to type 'string'.\\n`\n          : `Type '1' is not assignable to type 'string'.\\n`) +\n        '\\n'\n    );\n  });\n\n  // Serial because it's timing-sensitive\n  test.serial('should error with typing information when importing a file with type errors', async (t) => {\n    const r = await t.context.executeInTlaRepl(`const {foo} = await import('./repl/tla-import');`, 'error');\n\n    expect(r.stdout).toBe('> > ');\n    expect(r.stderr.replace(/\\r\\n/g, '\\n')).toBe(\n      'repl/tla-import.ts(1,14): error TS2322: ' +\n        (semver.gte(ts.version, '4.0.0')\n          ? `Type 'number' is not assignable to type 'string'.\\n`\n          : `Type '1' is not assignable to type 'string'.\\n`) +\n        '\\n'\n    );\n  });\n\n  test('should pass upstream test cases', async (t) => {\n    const { tsNodeUnderTest } = t.context;\n    await upstreamTopLevelAwaitTests({ TEST_DIR, tsNodeUnderTest });\n  });\n});\n\ntest.suite('REPL ignores diagnostics that are annoying in interactive sessions', (test) => {\n  const code = `function foo() {};\\nfunction foo() {return 123};\\nconsole.log(foo());\\n`;\n  const diagnosticMessage = `Duplicate function implementation`;\n  test('interactive repl should ignore them', async (t) => {\n    const r = await execTester({\n      flags: '-i',\n      stdin: code,\n    });\n    expect(r.stdout).not.toContain(diagnosticMessage);\n  });\n  test('interactive repl should not ignore them if they occur in other files', async (t) => {\n    const r = await execTester({\n      flags: '-i',\n      stdin: `import './repl-ignored-diagnostics/index';\\n`,\n    });\n    expect(r.stderr).toContain(diagnosticMessage);\n  });\n  test('[stdin] should not ignore them', async (t) => {\n    const r = await execTester({\n      stdin: code,\n      expectError: true,\n    });\n    expect(r.stderr).toContain(diagnosticMessage);\n  });\n  test('[eval] should not ignore them', async (t) => {\n    const r = await execTester({\n      flags: `-e \"${code.replace(/\\n/g, '')}\"`,\n      expectError: true,\n    });\n    expect(r.stderr).toContain(diagnosticMessage);\n  });\n});\n\ntest.suite('REPL inputs are syntactically independent of each other', (test) => {\n  // Serial because they're timing-sensitive\n  test.serial();\n\n  test('arithmetic operators are independent of previous values', async (t) => {\n    const r = await t.context.executeInRepl(\n      `9\n          + 3\n          7\n          - 3\n          3\n          * 7\\n.break\n          100\n          / 2\\n.break\n          5\n          ** 2\\n.break\n          console.log('done!')\n          `,\n      {\n        registerHooks: true,\n        startInternalOptions: { useGlobal: false },\n        waitPattern: 'done!\\nundefined\\n>',\n      }\n    );\n    expect(r.stdout).not.toContain('12');\n    expect(r.stdout).not.toContain('4');\n    expect(r.stdout).not.toContain('21');\n    expect(r.stdout).not.toContain('50');\n    expect(r.stdout).not.toContain('25');\n    expect(r.stdout).toContain('3');\n    expect(r.stdout).toContain('-3');\n  });\n\n  test('automatically inserted semicolons do not appear in error messages at the end', async (t) => {\n    const r = await t.context.executeInRepl(\n      `(\n          a\n          console.log('done!')`,\n      {\n        registerHooks: true,\n        startInternalOptions: { useGlobal: false },\n        waitPattern: 'done!\\nundefined\\n>',\n      }\n    );\n    expect(r.stderr).toContain(\"error TS1005: ')' expected.\");\n    expect(r.stderr).not.toContain(';');\n  });\n\n  test('automatically inserted semicolons do not appear in error messages at the start', async (t) => {\n    const r = await t.context.executeInRepl(\n      `)\n          console.log('done!')`,\n      {\n        registerHooks: true,\n        startInternalOptions: { useGlobal: false },\n        waitPattern: 'done!\\nundefined\\n>',\n      }\n    );\n    expect(r.stderr).toContain('error TS1128: Declaration or statement expected.');\n    expect(r.stderr).toContain(')');\n    expect(r.stderr).not.toContain(';');\n  });\n\n  test('automatically inserted semicolons do not break function calls', async (t) => {\n    const r = await t.context.executeInRepl(\n      `function foo(a: number) {\n              return a + 1;\n          }\n          foo(\n            1\n          )`,\n      {\n        registerHooks: true,\n        startInternalOptions: { useGlobal: false },\n        waitPattern: '2\\n>',\n      }\n    );\n    expect(r.stderr).toBe('');\n    expect(r.stdout).toContain('2');\n  });\n\n  test('automatically inserted semicolons do not affect subsequent line numbers', async (t) => {\n    // If first line of input ends in a semicolon, should not add a second semicolon.\n    // That will cause an extra blank line in the compiled output which will\n    // offset the stack line number.\n    const r = await t.context.executeInRepl(\n      `1;\n          new Error().stack!.split('\\\\n')[1]\n          console.log('done!')`,\n      {\n        registerHooks: true,\n        startInternalOptions: { useGlobal: false },\n        waitPattern: 'done!',\n      }\n    );\n    expect(r.stderr).toBe('');\n    expect(r.stdout).toContain(\":1:1'\\n\");\n  });\n});\n\ntest.suite('Multiline inputs and RECOVERY_CODES', (test) => {\n  test.serial();\n  test(\n    'multiline function args declaration',\n    macroReplNoErrorsAndStdoutContains,\n    `\n      function myFn(\n        a: string,\n        b: string\n      ) {\n        return a + ' ' + b\n      }\n      myFn('test', '!')\n    `,\n    'test !'\n  );\n\n  test(\n    'Conditional recovery codes: this one-liner *should* raise an error; should not be recoverable',\n    macroReplStderrContains,\n    `\n      (a: any) => a = null;\n    `,\n    'error TS',\n    {\n      createServiceOpts: { compilerOptions: { strictNullChecks: false } },\n    }\n  );\n});\n\ntest.suite('REPL works with traceResolution', (test) => {\n  test.serial('startup traces should print before the prompt appears when traceResolution is enabled', async (t) => {\n    const repl = t.context.createReplViaApi({\n      registerHooks: false,\n      createServiceOpts: {\n        compilerOptions: {\n          traceResolution: true,\n        },\n      },\n    });\n\n    repl.replService.start();\n\n    repl.stdin.end();\n\n    await delay(3e3);\n\n    repl.stdout.end();\n    const stdout = await expectStream(repl.stdout);\n\n    expect(stdout).toContain('======== Resolving module');\n    expect(stdout.endsWith('> ')).toBe(true);\n  });\n\n  test.serial('traces should NOT appear when traceResolution is not enabled', async (t) => {\n    const r = await t.context.executeInRepl('1', {\n      registerHooks: true,\n      startInternalOptions: { useGlobal: false },\n      waitPattern: '1\\n>',\n    });\n    expect(r.stderr).toBe('');\n    expect(r.stdout).not.toContain('======== Resolving module');\n  });\n});\n\ntest.suite('REPL declares types for node built-ins within REPL', (test) => {\n  test.serial();\n  test('enabled when typechecking', async (t) => {\n    const r = await t.context.executeInRepl(\n      `util.promisify(setTimeout)(\"should not be a string\" as string)\n      type Duplex = stream.Duplex\n      const s = stream\n      'done'`,\n      {\n        registerHooks: true,\n        waitPattern: `done`,\n        startInternalOptions: {\n          useGlobal: false,\n        },\n      }\n    );\n\n    // Assert that we receive a typechecking error about improperly using\n    // `util.promisify` but *not* an error about the absence of `util`\n    expect(r.stderr).not.toMatch(\"Cannot find name 'util'\");\n    expect(r.stderr).toMatch(\"Argument of type 'string' is not assignable to parameter of type 'number'\");\n    // Assert that both types and values can be used without error\n    expect(r.stderr).not.toMatch(\"Cannot find namespace 'stream'\");\n    expect(r.stderr).not.toMatch(\"Cannot find name 'stream'\");\n    expect(r.stdout).toMatch(`done`);\n  });\n\n  test('disabled in transpile-only mode, to avoid breaking third-party SWC transpiler which rejects `declare import` syntax', async (t) => {\n    const r = await t.context.executeInRepl(\n      `type Duplex = stream.Duplex\n      const s = stream\n      'done'`,\n      {\n        createServiceOpts: {\n          swc: true,\n        },\n        registerHooks: true,\n        waitPattern: `'done'\\n> `,\n        startInternalOptions: {\n          useGlobal: false,\n        },\n      }\n    );\n\n    // Assert that we do not get errors about `declare import` syntax from swc\n    expect(r.stdout).toBe(\"> undefined\\n> undefined\\n> 'done'\\n> \");\n    expect(r.stderr).toBe('');\n  });\n});\n\ntest.suite('REPL treats object literals and block scopes correctly', (test) => {\n  test(\n    'repl should treat { key: 123 } as object literal',\n    macroReplNoErrorsAndStdoutContains,\n    '{ key: 123 }',\n    '{ key: 123 }'\n  );\n  test(\n    'repl should treat ({ key: 123 }) as object literal',\n    macroReplNoErrorsAndStdoutContains,\n    '({ key: 123 })',\n    '{ key: 123 }'\n  );\n  test(\n    'repl should treat ({ let v = 0; v; }) as object literal and error',\n    macroReplStderrContains,\n    '({ let v = 0; v; })',\n    'No value exists in scope for the shorthand property'\n  );\n  test(\n    'repl should treat { let v = 0; v; } as block scope',\n    macroReplNoErrorsAndStdoutContains,\n    '{ let v = 0; v; }',\n    '0'\n  );\n  test.suite('extra', (test) => {\n    test('repl should treat { key: 123 }; as block scope', macroReplNoErrorsAndStdoutContains, '{ key: 123 };', '123');\n    test(\n      'repl should treat {\\\\nkey: 123\\\\n}; as block scope',\n      macroReplNoErrorsAndStdoutContains,\n      '{\\nkey: 123\\n};',\n      '123'\n    );\n    test(\n      'repl should treat { key: 123 }[] as block scope (edge case)',\n      macroReplNoErrorsAndStdoutContains,\n      '{ key: 123 }[]',\n      '[]'\n    );\n  });\n  test.suite('multiline', (test) => {\n    test(\n      'repl should treat {\\\\nkey: 123\\\\n} as object literal',\n      macroReplNoErrorsAndStdoutContains,\n      '{\\nkey: 123\\n}',\n      '{ key: 123 }'\n    );\n    test(\n      'repl should treat ({\\\\nkey: 123\\\\n}) as object literal',\n      macroReplNoErrorsAndStdoutContains,\n      '({\\nkey: 123\\n})',\n      '{ key: 123 }'\n    );\n    test(\n      'repl should treat ({\\\\nlet v = 0;\\\\nv;\\\\n}) as object literal and error',\n      macroReplStderrContains,\n      '({\\nlet v = 0;\\nv;\\n})',\n      'No value exists in scope for the shorthand property'\n    );\n    test(\n      'repl should treat {\\\\nlet v = 0;\\\\nv;\\\\n} as block scope',\n      macroReplNoErrorsAndStdoutContains,\n      '{\\nlet v = 0;\\nv;\\n}',\n      '0'\n    );\n  });\n  test.suite('property access', (test) => {\n    test(\n      'repl should treat { key: 123 }.key as object literal property access',\n      macroReplNoErrorsAndStdoutContains,\n      '{ key: 123 }.key',\n      '123'\n    );\n    test(\n      'repl should treat { key: 123 }[\"key\"] as object literal indexed access',\n      macroReplNoErrorsAndStdoutContains,\n      '{ key: 123 }[\"key\"]',\n      '123'\n    );\n    test(\n      'repl should treat { key: 123 }.foo as object literal non-existent property access',\n      macroReplStderrContains,\n      '{ key: 123 }.foo',\n      \"Property 'foo' does not exist on type\"\n    );\n    test(\n      'repl should treat { key: 123 }[\"foo\"] as object literal non-existent indexed access',\n      macroReplStderrContains,\n      '{ key: 123 }[\"foo\"]',\n      \"Property 'foo' does not exist on type\"\n    );\n  });\n});\n\ntest.suite('repl executes input as cjs even in esm projects', (test) => {\n  test.if(tsSupportsMtsCtsExtensions);\n  test('test', async (t) => {\n    // Must exec child process, because we need a different cwd.\n    const p = exec(`${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} -i`, {\n      cwd: join(TEST_DIR, 'repl-in-esm-package'),\n    });\n    p.child.stdin!.write('import fs2 from \"fs\"; fs2.existsSync(\"does not exist\")');\n    p.child.stdin!.end();\n    const r = await p;\n    expect(r.stdout).toBe('> false\\n> ');\n    expect(r.stderr).toBe('');\n  });\n});\n"
  },
  {
    "path": "src/test/resolver.spec.ts",
    "content": "import { context, ExecutionContext, expect, TestInterface } from './testlib';\nimport {\n  ctxTsNode,\n  isOneOf,\n  resetNodeEnvironment,\n  ts,\n  tsSupportsMtsCtsExtensions,\n  tsSupportsStableNodeNextNode16,\n} from './helpers';\nimport { project as fsProject, Project as FsProject } from '@TypeStrong/fs-fixture-builder';\nimport { join } from 'path';\nimport * as semver from 'semver';\nimport { padStart } from 'lodash';\nimport _ = require('lodash');\nimport { pathToFileURL } from 'url';\nimport type { RegisterOptions } from '..';\nimport * as fs from 'fs';\nimport * as Path from 'path';\n\n/*\n * Each test case is a separate TS project, with a different permutation of\n * project options.  The project is written to disc, then ts-node is installed,\n * then several entrypoint-* files are imported to test our resolver.\n *\n * High-level structure of these tests:\n *   package.json, tsconfig.json, src/, and out/\n *   entrypoint-* files are the entrypoints\n *   they import a bunch of target files / directories / node_modules\n *\n * The heart of this test is every time an entrypoint imports a target.\n * We are testing if the resolver figures out the correct target file to import.\n *\n * To better understand the emitted projects, run the tests, then look in `tests/tmp/resolver-*`\n *\n * Whenever a test fails, the error will log a command you can paste into your terminal to re-run\n * that project *outside* of this test suite.  This may be helpful in understanding and debugging\n * these tests.\n */\n\n// Test a bunch of permutations of:\n\n// import permutations:\n\n//   - [x] Relative import of file\n//   - [x] Relative import of index\n//   - [x] rootless library import of main\n//   - [x] rootless library import of index\n//   - [x] rootless library import of exports sub-path\n//   - [x] rootless self-import of main\n//   - [x] rootless self-import of index\n//   - [x] rootless self-import of exports sub-path\n\n//     - [x] Require with extension\n//     - [x] Require without extension\n\n//     - Require from dist to dist\n//     - Require from dist to src\n//     - Require from src to dist\n//     - [x] Require from src to src\n\n// lib permutations:\n\n//   - [x] module exists in both src and dist (precompilation ran)\n//   - [x] module exists in only dist (came from elsewhere)\n//   - [x] module exists only in src (did not precompile)\n\n//   - .ts / .js extension\n//   - .tsx / .js extension\n//   - .cts / .cjs extension\n//   - .mts / .mjs extension\n//   - .js / .js extension\n//   - .jsx / .js extension\n//   - .cjs / .cjs extension\n//   - .mjs / .mjs extension\n\n// Side-step compiler transformation of import() into require()\nconst dynamicImport = new Function('specifier', 'return import(specifier)');\n// For some reason `new Function` was triggering what *might* be a node bug,\n// where `context.parentURL` passed into loader `resolve()` was wrong.\n// eval works for unknown reasons.  This may change in future node releases.\nconst declareDynamicImportFunction = `const dynamicImport = eval('(specifier) => import(specifier)');`;\n\nconst test = context(ctxTsNode);\ntype Test = TestInterface<ctxTsNode.Ctx>;\ntype T = ExecutionContext<ctxTsNode.Ctx>;\n\nconst projectSeq = seqGenerator();\nconst entrypointSeq = seqGenerator();\nconst targetSeq = seqGenerator();\n\ninterface Project {\n  identifier: string;\n  allowJs: boolean;\n  preferSrc: boolean;\n  typeModule: boolean;\n  /** Use TS's new module: `nodenext` option */\n  useTsNodeNext: boolean;\n  experimentalSpecifierResolutionNode: boolean;\n  skipIgnore: boolean;\n}\ninterface EntrypointPermutation {\n  entrypointExt: 'cjs' | 'mjs';\n  withExt: boolean;\n  entrypointLocation: 'src' | 'out';\n  entrypointTargetting: 'src' | 'out';\n}\ntype Entrypoint = string;\ninterface GenerateTargetOptions {\n  inSrc: boolean;\n  inOut: boolean;\n  srcExt: string;\n  /** If true, is an index.* file within a directory */\n  isIndex: boolean;\n  targetPackageStyle: TargetPackageStyle;\n  packageTypeModule: boolean;\n}\ninterface Target {\n  targetIdentifier: string;\n  outName: string;\n  srcName: string;\n  srcExt: string;\n  outExt: string;\n  inSrc: boolean;\n  inOut: boolean;\n  /** If true, is neither an index.* nor a package */\n  isNamedFile: boolean;\n  /** If true, is an index.* file within a directory */\n  isIndex: boolean;\n  /** If true, should be imported as an npm package, not relative import */\n  isPackage: boolean;\n  packageStyle: TargetPackageStyle;\n  typeModule: boolean;\n}\n\n/** When target is actually a mini node_modules package */\ntype TargetPackageStyle = typeof targetPackageStyles[number];\nconst targetPackageStyles = [\n  false,\n  // test that the package contains /index.*\n  'empty-manifest',\n  // \"main\": \"src/target.<ext>\"\n  'main-src-with-extension',\n  // \"main\": \"src/target.<output ext>\"\n  'main-src-with-out-extension',\n  // \"main\": \"out/target.<output ext>\"\n  'main-out-with-extension',\n  // \"main\": \"src/target\"\n  'main-src-extensionless',\n  // \"main\": \"out/target\"\n  'main-out-extensionless',\n  // \"exports\": {\".\": \"src/target.<ext>\"}\n  'exports-src-with-extension',\n  // \"exports\": {\".\": \"src/target.<output ext>\"}\n  'exports-src-with-out-extension',\n  // \"exports\": {\".\": \"out/target.<output ext>\"}\n  'exports-out-with-extension',\n] as const;\n\ntest.suite('Resolver hooks', (test) => {\n  test.serial();\n  test.if(tsSupportsMtsCtsExtensions);\n\n  //\n  // Generate all permutations of projects\n  //\n  for (const preferSrc of [false, true]) {\n    for (const typeModule of [false, true]) {\n      for (const allowJs of [false, true]) {\n        for (const useTsNodeNext of [false, true]) {\n          // TODO test against skipIgnore: false, where imports of third-party deps in `node_modules` should not get our mapping behaviors\n          for (const skipIgnore of [/*false, */ true]) {\n            for (const experimentalSpecifierResolutionNode of [false, true]) {\n              let identifier = `resolver-${projectSeq()}`;\n              identifier += preferSrc ? '-preferSrc' : '-preferOut';\n              identifier += typeModule ? '-typeModule' : '-typeCjs---';\n              identifier += allowJs ? '-allowJs' : '--------';\n              identifier += useTsNodeNext ? '-useTsNodenext' : '--------------';\n              identifier += skipIgnore ? '-skipIgnore' : '-----------';\n              identifier += experimentalSpecifierResolutionNode ? '-experimentalSpecifierResolutionNode' : '';\n\n              const project: Project = {\n                identifier,\n                allowJs,\n                preferSrc,\n                typeModule,\n                useTsNodeNext,\n                experimentalSpecifierResolutionNode,\n                skipIgnore,\n              };\n              declareProject(test, project);\n            }\n          }\n        }\n      }\n    }\n  }\n});\n\nfunction declareProject(_test: Test, project: Project) {\n  const test = project.useTsNodeNext && !tsSupportsStableNodeNextNode16 ? _test.skip : _test;\n  test(`${project.identifier}`, async (t) => {\n    t.teardown(() => {\n      resetNodeEnvironment();\n    });\n\n    const p = fsProject(project.identifier);\n    p.rm();\n\n    p.addJsonFile('package.json', {\n      type: project.typeModule ? 'module' : undefined,\n    });\n    p.addJsonFile('tsconfig.json', {\n      'ts-node': {\n        experimentalResolver: true,\n        preferTsExts: project.preferSrc,\n        transpileOnly: true,\n        experimentalSpecifierResolution: project.experimentalSpecifierResolutionNode ? 'node' : undefined,\n        skipIgnore: project.skipIgnore,\n      } as RegisterOptions,\n      compilerOptions: {\n        allowJs: project.allowJs,\n        skipLibCheck: true,\n        // TODO add nodenext permutation\n        module: project.useTsNodeNext ? 'NodeNext' : project.typeModule ? 'esnext' : 'commonjs',\n        jsx: 'react',\n        target: 'esnext',\n      },\n    });\n\n    const targets = generateTargets(project, p);\n    const entrypoints = generateEntrypoints(project, p, targets);\n    p.write();\n    await execute(t, p, entrypoints);\n  });\n}\n\n//\n// Generate all target-* files\n//\nfunction generateTargets(project: Project, p: FsProject) {\n  /** Array of metadata about target files to be imported */\n  const targets: Array<Target> = [];\n  // TODO does allowJs matter?\n  for (const inOut of [false, true]) {\n    for (const inSrc of [false, true]) {\n      for (const srcExt of ['ts', 'tsx', 'cts', 'mts', 'jsx', 'js', 'cjs', 'mjs']) {\n        for (const targetPackageStyle of targetPackageStyles) {\n          const packageTypeModulePermutations = targetPackageStyle ? [true, false] : [project.typeModule];\n          for (const packageTypeModule of packageTypeModulePermutations) {\n            const isIndexPermutations = targetPackageStyle ? [false] : [true, false];\n            // TODO test main pointing to a directory containing an `index.` file?\n            for (const isIndex of isIndexPermutations) {\n              //#region SKIPPING\n              if (!inSrc && !inOut) continue;\n\n              // Don't bother with jsx if we don't have allowJs enabled\n              // TODO Get rid of this?  \"Just work\" in this case?\n              if (srcExt === 'jsx' && !project.allowJs) continue;\n              // Don't bother with src-only extensions when only emitting to `out`\n              if (!inSrc && ['ts', 'tsx', 'cts', 'mts', 'jsx'].includes(srcExt)) continue;\n\n              // TODO re-enable with src <-> out mapping\n              if (\n                !inOut &&\n                isOneOf(targetPackageStyle, [\n                  'main-out-with-extension',\n                  'main-out-extensionless',\n                  'exports-out-with-extension',\n                ])\n              )\n                continue;\n              if (\n                !inSrc &&\n                isOneOf(targetPackageStyle, [\n                  'main-src-with-extension',\n                  'main-src-extensionless',\n                  'exports-src-with-extension',\n                ])\n              )\n                continue;\n              if (\n                isOneOf(targetPackageStyle, [\n                  'main-out-with-extension',\n                  'main-out-extensionless',\n                  'exports-out-with-extension',\n                ])\n              )\n                continue;\n              //#endregion\n\n              targets.push(\n                generateTarget(project, p, {\n                  inSrc,\n                  inOut,\n                  srcExt,\n                  targetPackageStyle,\n                  packageTypeModule,\n                  isIndex,\n                })\n              );\n            }\n          }\n        }\n      }\n    }\n  }\n  return targets;\n}\n\nfunction generateTarget(project: Project, p: FsProject, options: GenerateTargetOptions) {\n  const { inSrc, inOut, srcExt, targetPackageStyle, packageTypeModule, isIndex } = options;\n\n  const outExt = srcExt.replace('ts', 'js').replace('x', '');\n  let targetIdentifier = `target-${targetSeq()}-${inOut && inSrc ? 'inboth' : inOut ? 'onlyout' : 'onlysrc'}-${srcExt}`;\n\n  if (targetPackageStyle)\n    targetIdentifier = `${targetIdentifier}-${targetPackageStyle}-${packageTypeModule ? 'module' : 'commonjs'}`;\n  let prefix = targetPackageStyle ? `node_modules/${targetIdentifier}/` : '';\n  let suffix = targetPackageStyle === 'empty-manifest' ? 'index' : targetPackageStyle ? 'target' : targetIdentifier;\n  if (isIndex) suffix += '-dir/index';\n  const srcDirInfix = targetPackageStyle === 'empty-manifest' ? '' : 'src/';\n  const outDirInfix = targetPackageStyle === 'empty-manifest' ? '' : 'out/';\n  const srcName = `${prefix}${srcDirInfix}${suffix}.${srcExt}`;\n  const srcDirOutExtName = `${prefix}${srcDirInfix}${suffix}.${outExt}`;\n  const outName = `${prefix}${outDirInfix}${suffix}.${outExt}`;\n  const selfImporterCjsName = `${prefix}self-import-cjs.cjs`;\n  const selfImporterMjsName = `${prefix}self-import-mjs.mjs`;\n  const target: Target = {\n    targetIdentifier,\n    srcName,\n    outName,\n    srcExt,\n    outExt,\n    inSrc,\n    inOut,\n    isNamedFile: !isIndex && !targetPackageStyle,\n    isIndex,\n    isPackage: !!targetPackageStyle,\n    packageStyle: targetPackageStyle,\n    typeModule: packageTypeModule,\n  };\n  const { isMjs: targetIsMjs } = fileInfo('.' + srcExt, packageTypeModule, project.allowJs);\n  function targetContent(loc: string) {\n    let content = '';\n    if (targetIsMjs) {\n      content += String.raw`\n        const {fileURLToPath} = await import('url');\n        const filenameNative = fileURLToPath(import.meta.url);\n        export const directory = filenameNative.replace(/.*[\\\\\\/](.*?)[\\\\\\/]/, '$1');\n        export const filename = filenameNative.replace(/.*[\\\\\\/]/, '');\n        export const targetIdentifier = '${targetIdentifier}';\n        export const ext = filenameNative.replace(/.*\\./, '');\n        export const loc = '${loc}';\n      `;\n    } else {\n      content += String.raw`\n        const filenameNative = __filename;\n        exports.filename = filenameNative.replace(/.*[\\\\\\/]/, '');\n        exports.directory = filenameNative.replace(/.*[\\\\\\/](.*?)[\\\\\\/].*/, '$1');\n        exports.targetIdentifier = '${targetIdentifier}';\n        exports.ext = filenameNative.replace(/.*\\./, '');\n        exports.loc = '${loc}';\n      `;\n    }\n    return content;\n  }\n  if (inOut) {\n    p.addFile(outName, targetContent('out'));\n    // TODO so we can test multiple file extensions in a single directory, preferTsExt\n    p.addFile(srcDirOutExtName, targetContent('out'));\n  }\n  if (inSrc) {\n    p.addFile(srcName, targetContent('src'));\n  }\n  if (targetPackageStyle) {\n    const selfImporterIsCompiled = project.allowJs;\n    const cjsSelfImporterMustUseDynamicImportHack = !project.useTsNodeNext && selfImporterIsCompiled && targetIsMjs;\n    p.addFile(\n      selfImporterCjsName,\n      targetIsMjs\n        ? cjsSelfImporterMustUseDynamicImportHack\n          ? `${declareDynamicImportFunction}\\nmodule.exports = dynamicImport('${targetIdentifier}');`\n          : `module.exports = import(\"${targetIdentifier}\");`\n        : `module.exports = require(\"${targetIdentifier}\");`\n    );\n    p.addFile(\n      selfImporterMjsName,\n      `\n        export * from \"${targetIdentifier}\";\n      `\n    );\n    function writePackageJson(obj: any) {\n      p.addJsonFile(`${prefix}/package.json`, {\n        name: targetIdentifier,\n        type: packageTypeModule ? 'module' : undefined,\n        ...obj,\n      });\n    }\n    switch (targetPackageStyle) {\n      case 'empty-manifest':\n        writePackageJson({});\n        break;\n      case 'exports-src-with-extension':\n        writePackageJson({\n          exports: {\n            '.': `./src/${suffix}.${srcExt}`,\n          },\n        });\n        break;\n      case 'exports-src-with-out-extension':\n        writePackageJson({\n          exports: {\n            '.': `./src/${suffix}.${outExt}`,\n          },\n        });\n        break;\n      case 'exports-out-with-extension':\n        writePackageJson({\n          exports: {\n            '.': `./out/${suffix}.${outExt}`,\n          },\n        });\n        break;\n      case 'main-src-extensionless':\n        writePackageJson({\n          main: `src/${suffix}`,\n        });\n        break;\n      case 'main-out-extensionless':\n        writePackageJson({\n          main: `out/${suffix}`,\n        });\n        break;\n      case 'main-src-with-extension':\n        writePackageJson({\n          main: `src/${suffix}.${srcExt}`,\n        });\n        break;\n      case 'main-src-with-out-extension':\n        writePackageJson({\n          main: `src/${suffix}.${outExt}`,\n        });\n        break;\n      case 'main-out-with-extension':\n        writePackageJson({\n          main: `src/${suffix}.${outExt}`,\n        });\n        break;\n      default:\n        const _assert: never = targetPackageStyle;\n    }\n  }\n  return target;\n}\n\n/**\n * Generate all entrypoint-* files\n */\nfunction generateEntrypoints(project: Project, p: FsProject, targets: Target[]) {\n  /** Array of entrypoint files to be imported during the test */\n  let entrypoints: string[] = [];\n  for (const entrypointExt of ['cjs', 'mjs'] as const) {\n    // TODO consider removing this logic; deferring to conditionals in the generateEntrypoint which emit meaningful comments\n    const withExtPermutations =\n      entrypointExt == 'mjs' && project.experimentalSpecifierResolutionNode === false ? [true] : [false, true];\n    for (const withExt of withExtPermutations) {\n      // Location of the entrypoint\n      for (const entrypointLocation of ['src', 'out'] as const) {\n        // Target of the entrypoint's import statements\n        for (const entrypointTargetting of ['src', 'out'] as const) {\n          // TODO re-enable when we have out <-> src mapping\n          if (entrypointLocation !== 'src') continue;\n          if (entrypointTargetting !== 'src') continue;\n\n          entrypoints.push(\n            generateEntrypoint(project, p, targets, {\n              entrypointExt,\n              withExt,\n              entrypointLocation,\n              entrypointTargetting,\n            })\n          );\n        }\n      }\n    }\n  }\n  return entrypoints;\n}\n\nfunction generateEntrypoint(project: Project, p: FsProject, targets: Target[], opts: EntrypointPermutation) {\n  const { entrypointExt, withExt, entrypointLocation, entrypointTargetting } = opts;\n  const entrypointFilename = `entrypoint-${entrypointSeq()}-${entrypointLocation}-to-${entrypointTargetting}${\n    withExt ? '-withext' : ''\n  }.${entrypointExt}`;\n  const { isMjs: entrypointIsMjs, isCompiled: entrypointIsCompiled } = fileInfo(\n    entrypointFilename,\n    project.typeModule,\n    project.allowJs\n  );\n  let entrypointContent = 'let mod;\\n';\n  entrypointContent += 'let testsRun = 0;\\n';\n  if (entrypointIsMjs) {\n    entrypointContent += `import assert from 'assert';\\n`;\n  } else {\n    entrypointContent += `const assert = require('assert');\\n`;\n    entrypointContent += `${declareDynamicImportFunction}\\n`;\n  }\n  entrypointContent += `async function main() {\\n`;\n\n  for (const target of targets) {\n    // TODO re-enable these when we have outDir <-> rootDir mapping\n    if (target.srcName.includes('onlyout') && entrypointTargetting === 'src') continue;\n    if (target.srcName.includes('onlysrc') && entrypointTargetting === 'out') continue;\n\n    const {\n      ext: targetSrcExt,\n      isMjs: targetIsMjs,\n      isCompiled: targetIsCompiled,\n    } = fileInfo(target.srcName, target.typeModule, project.allowJs);\n\n    let targetExtPermutations = [''];\n    if (!target.isPackage) {\n      if (entrypointTargetting === 'out' && target.outExt !== target.srcExt) {\n        // TODO re-enable when we have out <-> src mapping\n        targetExtPermutations = [target.outExt];\n      } else if (target.srcExt !== target.outExt) {\n        targetExtPermutations = [target.srcExt, target.outExt];\n      } else {\n        targetExtPermutations = [target.srcExt];\n      }\n    }\n    const externalPackageSelfImportPermutations = target.isPackage ? [false, true] : [false];\n    for (const targetExt of targetExtPermutations) {\n      for (const externalPackageSelfImport of externalPackageSelfImportPermutations) {\n        entrypointContent += `\\n// ${target.targetIdentifier}`;\n        if (target.isPackage) {\n          entrypointContent += ` node_modules package`;\n          if (externalPackageSelfImport) {\n            entrypointContent += ` self-import`;\n          }\n        } else {\n          entrypointContent += `.${targetExt}`;\n        }\n        entrypointContent += '\\n';\n\n        // should specifier be relative or absolute?\n        let specifier: string;\n        if (externalPackageSelfImport) {\n          specifier = `../node_modules/${target.targetIdentifier}/self-import-${entrypointExt}.${entrypointExt}`;\n        } else if (target.isPackage) {\n          specifier = target.targetIdentifier;\n        } else {\n          if (entrypointTargetting === entrypointLocation) specifier = './';\n          else specifier = `../${entrypointTargetting}/`;\n          specifier += target.targetIdentifier;\n          if (target.isIndex) specifier += '-dir';\n          if (!target.isIndex && withExt) specifier += '.' + targetExt;\n        }\n\n        //#region SKIPPING\n        if (target.isNamedFile && !withExt) {\n          // Do not try to import cjs/cts without extension; node always requires these extensions\n          if (target.outExt === 'cjs') {\n            entrypointContent += `// skipping ${specifier} because we cannot omit extension from cjs / cts files; node always requires them\\n`;\n            continue;\n          }\n          // Do not try to import mjs/mts unless experimental-specifier-resolution is turned on\n          if (target.outExt === 'mjs' && !project.experimentalSpecifierResolutionNode) {\n            entrypointContent += `// skipping ${specifier} because we cannot omit extension from mjs/mts unless experimental-specifier-resolution=node\\n`;\n            continue;\n          }\n          // Do not try to import anything extensionless via ESM loader unless experimental-specifier-resolution is turned on\n          if ((targetIsMjs || entrypointIsMjs) && !project.experimentalSpecifierResolutionNode) {\n            entrypointContent += `// skipping ${specifier} because we cannot omit extension via esm loader unless experimental-specifier-resolution=node\\n`;\n            continue;\n          }\n        }\n        if (\n          target.isPackage &&\n          isOneOf(target.packageStyle, ['empty-manifest', 'main-out-extensionless', 'main-src-extensionless']) &&\n          isOneOf(target.outExt, ['cjs', 'mjs'])\n        ) {\n          entrypointContent += `// skipping ${specifier} because it points to a node_modules package that tries to omit file extension, and node does not allow omitting cjs/mjs extension\\n`;\n          continue;\n        }\n\n        // Do not try to import a transpiled file if compiler options disagree with node's extension-based classification\n        if (!project.useTsNodeNext && targetIsCompiled) {\n          if (targetIsMjs && !project.typeModule) {\n            entrypointContent += `// skipping ${specifier} because it is compiled and compiler options disagree with node's module classification: extension=${targetSrcExt}, tsconfig module=commonjs\\n`;\n            continue;\n          }\n          if (!targetIsMjs && project.typeModule) {\n            entrypointContent += `// skipping ${specifier} because it is compiled and compiler options disagree with node's module classification: extension=${targetSrcExt}, tsconfig module=esnext\\n`;\n            continue;\n          }\n        }\n\n        // Do not try to import index from a directory if is forbidden by node's ESM resolver\n        if (target.isIndex) {\n          if ((targetIsMjs || entrypointIsMjs) && !project.experimentalSpecifierResolutionNode) {\n            entrypointContent += `// skipping ${specifier} because esm loader does not allow directory ./index imports unless experimental-specifier-resolution=node\\n`;\n            continue;\n          }\n          if (target.outExt === 'cjs') {\n            entrypointContent += `// skipping ${specifier} because it relies on node automatically resolving a directory to index.cjs/cts , but node does not support those extensions for index.* files, only .js (and equivalents), .node, .json\\n`;\n            continue;\n          }\n        }\n        //#endregion\n\n        // NOTE: if you try to explicitly import foo.ts, we will load foo.ts, EVEN IF you have `preferTsExts` off\n        const assertIsSrcOrOut = !target.inSrc\n          ? 'out'\n          : !target.inOut\n          ? 'src'\n          : project.preferSrc ||\n            (!target.isIndex && targetExt === target.srcExt && withExt) ||\n            target.srcExt === target.outExt || // <-- TODO re-enable when we have src <-> out mapping\n            (target.isPackage &&\n              isOneOf(target.packageStyle, ['main-src-with-extension', 'exports-src-with-extension']))\n          ? 'src'\n          : 'out';\n        const assertHasExt = assertIsSrcOrOut === 'src' ? target.srcExt : target.outExt;\n\n        // If entrypoint is compiled as CJS, and *not* with TS's nodenext, then TS transforms `import` into `require`,\n        // so we must hack around the compiler to get a true `import`.\n        const entrypointMustUseDynamicImportHack =\n          !project.useTsNodeNext && entrypointIsCompiled && !entrypointIsMjs && !externalPackageSelfImport;\n        entrypointContent +=\n          entrypointExt === 'cjs' && (externalPackageSelfImport || !targetIsMjs)\n            ? `  mod = await require('${specifier}');\\n`\n            : entrypointMustUseDynamicImportHack\n            ? `  mod = await dynamicImport('${specifier}');\\n`\n            : `  mod = await import('${specifier}');\\n`;\n        entrypointContent += `  assert.equal(mod.loc, '${assertIsSrcOrOut}');\\n`;\n        entrypointContent += `  assert.equal(mod.targetIdentifier, '${target.targetIdentifier}');\\n`;\n        entrypointContent += `  assert.equal(mod.ext, '${assertHasExt}');\\n`;\n        entrypointContent += `  testsRun++;\\n`;\n      }\n    }\n  }\n  entrypointContent += `}\\n`;\n  entrypointContent += `const result = main().then(() => {return testsRun});\\n`;\n  entrypointContent += `result.mark = 'marked';\\n`;\n  if (entrypointIsMjs) {\n    entrypointContent += `export {result};\\n`;\n  } else {\n    entrypointContent += `exports.result = result;\\n`;\n  }\n  p.dir(entrypointLocation).addFile(entrypointFilename, entrypointContent);\n  return entrypointLocation + '/' + entrypointFilename;\n}\n\n/**\n * Assertions happen here\n */\nasync function execute(t: T, p: FsProject, entrypoints: Entrypoint[]) {\n  //\n  // Install ts-node and try to import all the index-* files\n  //\n\n  const service = t.context.tsNodeUnderTest.register({\n    projectSearchDir: p.cwd,\n  });\n  process.__test_setloader__(t.context.tsNodeUnderTest.createEsmHooks(service));\n\n  for (const entrypoint of entrypoints) {\n    t.log(`Importing ${join(p.cwd, entrypoint)}`);\n    try {\n      const { result } = await dynamicImport(pathToFileURL(join(p.cwd, entrypoint)));\n      expect(result).toBeInstanceOf(Promise);\n      expect(result.mark).toBe('marked');\n      const testsRun = await result;\n      t.log(`Entrypoint ran ${testsRun} tests.`);\n    } catch (e) {\n      try {\n        const launchJsonPath = Path.resolve(__dirname, '../../.vscode/launch.json');\n        const launchJson = JSON.parse(fs.readFileSync(launchJsonPath, 'utf8'));\n        const config = launchJson.configurations.find((c: any) => c.name === 'Debug resolver test');\n        config.cwd = Path.join('${workspaceFolder}', Path.relative(Path.resolve(__dirname, '../..'), p.cwd));\n        config.program = `./${entrypoint}`;\n        fs.writeFileSync(launchJsonPath, JSON.stringify(launchJson, null, 2));\n      } catch {}\n      throw new Error(\n        [\n          (e as Error).message,\n          (e as Error).stack,\n          '',\n          'This is an error in a resolver test. It might be easier to investigate by running outside of the test suite.',\n          'To do that, try pasting this into your bash shell (windows invocation will be similar but maybe not identical):',\n          `    ( cd ${p.cwd} ; node --loader ../../../esm.mjs ./${entrypoint} )`,\n        ].join('\\n')\n      );\n    }\n  }\n}\n\nfunction fileInfo(filename: string, typeModule: boolean, allowJs: boolean) {\n  const ext = filename.match(/\\.(.*)$/)?.[1] ?? filename;\n  // ['ts', 'tsx', 'cts', 'mts', 'js', 'jsx', 'cjs', 'mjs']\n  return {\n    ext,\n    isMjs: ['mts', 'mjs'].includes(ext) ? true : ['cts', 'cjs'].includes(ext) ? false : typeModule,\n    isCompiled: allowJs || ['ts', 'tsx', 'jsx', 'mts', 'cts'].includes(ext),\n  };\n}\n\nfunction seqGenerator() {\n  let next = 0;\n  return function () {\n    return padStart('' + next++, 4, '0');\n  };\n}\n"
  },
  {
    "path": "src/test/sourcemaps.spec.ts",
    "content": "import * as expect from 'expect';\nimport { createExec, createExecTester, CMD_TS_NODE_WITH_PROJECT_FLAG, ctxTsNode, TEST_DIR } from './helpers';\nimport { context } from './testlib';\nconst test = context(ctxTsNode);\n\nconst exec = createExecTester({\n  cmd: CMD_TS_NODE_WITH_PROJECT_FLAG,\n  exec: createExec({\n    cwd: TEST_DIR,\n  }),\n});\n\ntest('Redirects source-map-support to @cspotcode/source-map-support so that third-party libraries get correct source-mapped locations', async () => {\n  const r = await exec({\n    flags: `./legacy-source-map-support-interop/index.ts`,\n  });\n  expect(r.err).toBeNull();\n  expect(r.stdout.split('\\n')).toMatchObject([\n    expect.stringContaining('.ts:2 '),\n    'true',\n    'true',\n    expect.stringContaining('.ts:100:'),\n    expect.stringContaining('.ts:101 '),\n    '',\n  ]);\n});\n"
  },
  {
    "path": "src/test/test-loader.d.ts",
    "content": "export {};\ndeclare global {\n  namespace NodeJS {\n    interface Process {\n      __test_setloader__(hooks: any): void;\n    }\n  }\n}\n"
  },
  {
    "path": "src/test/test-loader.mjs",
    "content": "// Grant ourselves the ability to install ESM loader behaviors in-process during tests\nimport semver from 'semver';\n\nconst newHooksAPI = semver.gte(process.versions.node, '16.12.0');\n\nlet hooks = undefined;\nprocess.__test_setloader__ = function (_hooks) {\n  hooks = _hooks;\n};\nfunction createHook(name) {\n  return function (a, b, c) {\n    const target = (hooks && hooks[name]) || c;\n    return target(...arguments);\n  };\n}\nexport const resolve = createHook('resolve');\nexport const load = newHooksAPI ? createHook('load') : null;\nexport const getFormat = !newHooksAPI ? createHook('getFormat') : null;\nexport const transformSource = !newHooksAPI ? createHook('transformSource') : null;\n"
  },
  {
    "path": "src/test/testlib.ts",
    "content": "// HACK ensure ts-node-specific bootstrapping is executed\nimport './helpers';\n\nexport * from '@cspotcode/ava-lib';\n"
  },
  {
    "path": "src/test/transpile-only.spec.ts",
    "content": "import { createExec } from './helpers/exec';\nimport { ctxTsNode, tsSupportsVerbatimModuleSyntax } from './helpers';\nimport { CMD_TS_NODE_WITH_PROJECT_FLAG } from './helpers/command-lines';\nimport { TEST_DIR } from './helpers/paths';\nimport { expect, context } from './testlib';\n\nconst test = context(ctxTsNode);\n\nconst exec = createExec({\n  cwd: TEST_DIR,\n});\n\ntest('should support transpile only mode', async () => {\n  const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_FLAG} --transpile-only -pe \"x\"`);\n  if (r.err === null) {\n    throw new Error('Command was expected to fail, but it succeeded.');\n  }\n\n  expect(r.err.message).toMatch('ReferenceError: x is not defined');\n});\n\ntest('should throw error even in transpileOnly mode', async () => {\n  const r = await exec(`${CMD_TS_NODE_WITH_PROJECT_FLAG} --transpile-only -pe \"console.\"`);\n  if (r.err === null) {\n    throw new Error('Command was expected to fail, but it succeeded.');\n  }\n\n  expect(r.err.message).toMatch('error TS1003: Identifier expected');\n});\n\ntest.suite('verbatimModuleSyntax w/transpileOnly should not raise configuration diagnostic', (test) => {\n  test.if(tsSupportsVerbatimModuleSyntax);\n  test('test', async (t) => {\n    // Mixing verbatimModuleSyntax w/transpileOnly\n    // https://github.com/TypeStrong/ts-node/issues/1971\n    // We should *not* get:\n    // \"error TS5104: Option 'isolatedModules' is redundant and cannot be specified with option 'verbatimModuleSyntax'.\"\n    const service = t.context.tsNodeUnderTest.create({\n      transpileOnly: true,\n      compilerOptions: { verbatimModuleSyntax: true },\n    });\n    service.compile('const foo: string = 123', 'module.ts');\n  });\n});\n"
  },
  {
    "path": "src/test/transpilers.spec.ts",
    "content": "// third-party transpiler and swc transpiler tests\n// TODO: at the time of writing, other transpiler tests have not been moved into this file.\n// Should consolidate them here.\n\nimport { context } from './testlib';\nimport {\n  CMD_TS_NODE_WITHOUT_PROJECT_FLAG,\n  createExec,\n  ctxTsNode,\n  testsDirRequire,\n  TEST_DIR,\n  tsSupportsImportAssertions,\n  tsSupportsReact17JsxFactories,\n  tsSupportsEs2022,\n} from './helpers';\nimport { createSwcOptions } from '../transpilers/swc';\nimport * as expect from 'expect';\nimport { outdent } from 'outdent';\nimport { join } from 'path';\n\nconst test = context(ctxTsNode);\n\ntest.suite('swc', (test) => {\n  test('verify that TS->SWC target mappings suppport all possible values from both TS and SWC', async (t) => {\n    const swcTranspiler = testsDirRequire(\n      'ts-node/transpilers/swc-experimental'\n    ) as typeof import('../transpilers/swc');\n\n    // Detect when mapping is missing any ts.ScriptTargets\n    const ts = testsDirRequire('typescript') as typeof import('typescript');\n    for (const key of Object.keys(ts.ScriptTarget)) {\n      if (/^\\d+$/.test(key)) continue;\n      if (key === 'JSON') continue;\n      expect(swcTranspiler.targetMapping.has(ts.ScriptTarget[key as any] as any)).toBe(true);\n    }\n\n    // Detect when mapping is missing any swc targets\n    // Assuming that tests/package.json declares @swc/core: latest\n    const swc = testsDirRequire('@swc/core');\n    let msg: string | undefined = undefined;\n    try {\n      swc.transformSync('', { jsc: { target: 'invalid' } });\n    } catch (e) {\n      msg = (e as Error).message;\n    }\n    expect(msg).toBeDefined();\n    // Error looks like:\n    // unknown variant `invalid`, expected one of `es3`, `es5`, `es2015`, `es2016`, `es2017`, `es2018`, `es2019`, `es2020`, `es2021` at line 1 column 28\n    const match = msg!.match(/unknown variant.*, expected one of (.*) at line/);\n    expect(match).toBeDefined();\n    const targets = match![1].split(', ').map((v: string) => v.slice(1, -1));\n\n    for (const target of targets) {\n      expect([...swcTranspiler.targetMapping.values()]).toContain(target);\n    }\n  });\n\n  test.suite('converts TS config to swc config', (test) => {\n    test.suite('jsx', (test) => {\n      const macro = test.macro((jsx: string, runtime?: string, development?: boolean) => [\n        () => `jsx=${jsx}`,\n        async (t) => {\n          const tsNode = t.context.tsNodeUnderTest.create({\n            compilerOptions: {\n              jsx,\n            },\n          });\n          const swcOptions = createSwcOptions(tsNode.config.options, undefined, require('@swc/core'), '@swc/core');\n          expect(swcOptions.tsxOptions.jsc?.transform?.react).toBeDefined();\n          expect(swcOptions.tsxOptions.jsc?.transform?.react?.development).toBe(development);\n          expect(swcOptions.tsxOptions.jsc?.transform?.react?.runtime).toBe(runtime);\n        },\n      ]);\n\n      test(macro, 'react', undefined, undefined);\n      test.suite('react 17 jsx factories', (test) => {\n        test.if(tsSupportsReact17JsxFactories);\n        test(macro, 'react-jsx', 'automatic', undefined);\n        test(macro, 'react-jsxdev', 'automatic', true);\n      });\n    });\n  });\n\n  const compileMacro = test.macro((compilerOptions: object, input: string, expectedOutput: string) => [\n    (title?: string) => title ?? `${JSON.stringify(compilerOptions)}`,\n    async (t) => {\n      const code = t.context.tsNodeUnderTest\n        .create({\n          swc: true,\n          skipProject: true,\n          compilerOptions,\n        })\n        .compile(input, 'input.tsx');\n      expect(code.replace(/\\/\\/# sourceMappingURL.*/, '').trim()).toBe(expectedOutput);\n    },\n  ]);\n\n  test.suite('transforms various forms of jsx', (test) => {\n    const input = outdent`\n      const div = <div></div>;\n    `;\n\n    test(\n      compileMacro,\n      { module: 'esnext', target: 'es2020', jsx: 'react' },\n      input,\n      `const div = /*#__PURE__*/ React.createElement(\"div\", null);`\n    );\n    test.suite('react 17 jsx factories', (test) => {\n      test.if(tsSupportsReact17JsxFactories);\n      test(\n        compileMacro,\n        { module: 'esnext', target: 'es2020', jsx: 'react-jsx' },\n        input,\n        outdent`\n          import { jsx as _jsx } from \"react/jsx-runtime\";\n          const div = /*#__PURE__*/ _jsx(\"div\", {});\n        `\n      );\n      test(\n        compileMacro,\n        { module: 'esnext', target: 'es2020', jsx: 'react-jsxdev' },\n        input,\n        outdent`\n          import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n          const div = /*#__PURE__*/ _jsxDEV(\"div\", {}, void 0, false, {\n              fileName: \"input.tsx\",\n              lineNumber: 1,\n              columnNumber: 13\n          }, this);\n        `\n      );\n    });\n  });\n\n  test.suite('preserves import assertions for json imports', (test) => {\n    test.if(tsSupportsImportAssertions);\n    test(\n      'basic json import',\n      compileMacro,\n      { module: 'esnext' },\n      outdent`\n        import document from './document.json' assert {type: 'json'};\n        document;\n      `,\n      outdent`\n        import document from './document.json' assert {\n            type: 'json'\n        };\n        document;\n      `\n    );\n  });\n\n  test.suite('useDefineForClassFields', (test) => {\n    const input = outdent`\n      class Foo {\n        bar = 1;\n      }\n    `;\n    const outputNative = outdent`\n      let Foo = class Foo {\n          bar = 1;\n      };\n    `;\n    const outputCtorAssignment = outdent`\n      let Foo = class Foo {\n          constructor(){\n              this.bar = 1;\n          }\n      };\n    `;\n    const outputCtorAssignmentInEs5Class = outdent`\n      function _class_call_check(instance, Constructor) {\n          if (!(instance instanceof Constructor)) {\n              throw new TypeError(\"Cannot call a class as a function\");\n          }\n      }\n      var Foo = function Foo() {\n          \"use strict\";\n          _class_call_check(this, Foo);\n          this.bar = 1;\n      };\n    `;\n    const outputDefine = outdent`\n      function _define_property(obj, key, value) {\n          if (key in obj) {\n              Object.defineProperty(obj, key, {\n                  value: value,\n                  enumerable: true,\n                  configurable: true,\n                  writable: true\n              });\n          } else {\n              obj[key] = value;\n          }\n          return obj;\n      }\n      let Foo = class Foo {\n          constructor(){\n              _define_property(this, \"bar\", 1);\n          }\n      };\n    `;\n    const outputDefineInEs5Class = outdent`\n      function _class_call_check(instance, Constructor) {\n          if (!(instance instanceof Constructor)) {\n              throw new TypeError(\"Cannot call a class as a function\");\n          }\n      }\n      function _define_property(obj, key, value) {\n          if (key in obj) {\n              Object.defineProperty(obj, key, {\n                  value: value,\n                  enumerable: true,\n                  configurable: true,\n                  writable: true\n              });\n          } else {\n              obj[key] = value;\n          }\n          return obj;\n      }\n      var Foo = function Foo() {\n          \"use strict\";\n          _class_call_check(this, Foo);\n          _define_property(this, \"bar\", 1);\n      };\n    `;\n    test(\n      'useDefineForClassFields unset, `next` target, should default to true and emit native property assignment',\n      compileMacro,\n      { module: 'esnext', target: 'ESNext' },\n      input,\n      outputNative\n    );\n    test.suite(\n      'useDefineForClassFields unset, new target, should default to true and emit native property assignment',\n      (test) => {\n        test.if(tsSupportsEs2022);\n        test(compileMacro, { module: 'esnext', target: 'ES2022' }, input, outputNative);\n      }\n    );\n    test(\n      'useDefineForClassFields unset, should default to false b/c old target',\n      compileMacro,\n      { module: 'esnext', target: 'ES2021' },\n      input,\n      outputCtorAssignment\n    );\n    test.suite('useDefineForClassFields=true, new target, should emit native property assignment', (test) => {\n      test.if(tsSupportsEs2022);\n      test(\n        compileMacro,\n        {\n          module: 'esnext',\n          target: 'ES2022',\n          useDefineForClassFields: true,\n        },\n        input,\n        outputNative\n      );\n    });\n    test(\n      'useDefineForClassFields=true, old target, should emit define',\n      compileMacro,\n      {\n        module: 'esnext',\n        target: 'ES2021',\n        useDefineForClassFields: true,\n      },\n      input,\n      outputDefine\n    );\n    test.suite(\n      'useDefineForClassFields=false, new target, should still emit legacy property assignment in ctor',\n      (test) => {\n        test.if(tsSupportsEs2022);\n        test(\n          compileMacro,\n          {\n            module: 'esnext',\n            target: 'ES2022',\n            useDefineForClassFields: false,\n          },\n          input,\n          outputCtorAssignment\n        );\n      }\n    );\n    test(\n      'useDefineForClassFields=false, old target, should emit legacy property assignment in ctor',\n      compileMacro,\n      {\n        module: 'esnext',\n        target: 'ES2021',\n        useDefineForClassFields: false,\n      },\n      input,\n      outputCtorAssignment\n    );\n    test(\n      'useDefineForClassFields=false, ancient target, should emit legacy property assignment in legacy function-based class',\n      compileMacro,\n      {\n        module: 'esnext',\n        target: 'es5',\n        useDefineForClassFields: false,\n      },\n      input,\n      outputCtorAssignmentInEs5Class\n    );\n    test(\n      'useDefineForClassFields=true, ancient target, should emit define in legacy function-based class',\n      compileMacro,\n      {\n        module: 'esnext',\n        target: 'es5',\n        useDefineForClassFields: true,\n      },\n      input,\n      outputDefineInEs5Class\n    );\n  });\n\n  test.suite('jsx and jsxImportSource', (test) => {\n    test(\n      'jsx=react-jsx',\n      compileMacro,\n      {\n        module: 'esnext',\n        jsx: 'react-jsx',\n      },\n      outdent`\n      <div></div>\n    `,\n      outdent`\n      /*#__PURE__*/ import { jsx as _jsx } from \"react/jsx-runtime\";\n      _jsx(\"div\", {});\n    `\n    );\n    test(\n      'jsx=react-jsx w/custom jsxImportSource',\n      compileMacro,\n      {\n        module: 'esnext',\n        jsx: 'react-jsx',\n        jsxImportSource: 'foo',\n      },\n      outdent`\n      <div></div>\n    `,\n      outdent`\n      /*#__PURE__*/ import { jsx as _jsx } from \"foo/jsx-runtime\";\n      _jsx(\"div\", {});\n    `\n    );\n  });\n\n  test.suite(\n    '#1996 regression: ts-node gracefully allows swc to not return a sourcemap for type-only files',\n    (test) => {\n      // https://github.com/TypeStrong/ts-node/issues/1996\n      // @swc/core 1.3.51 returned `undefined` instead of sourcemap if the file was empty or only exported types.\n      // Newer swc versions do not do this. But our typedefs technically allow it.\n      const exec = createExec({\n        cwd: join(TEST_DIR, '1996'),\n      });\n      test('import empty file w/swc', async (t) => {\n        const r = await exec(`${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} ./index.ts`);\n        expect(r.err).toBe(null);\n        expect(r.stdout).toMatch(/#1996 regression test./);\n      });\n      test('use custom transpiler which never returns a sourcemap', async (t) => {\n        const r = await exec(\n          `${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} --project tsconfig.custom-transpiler.json ./empty.ts`\n        );\n        expect(r.err).toBe(null);\n        expect(r.stdout).toMatch(/#1996 regression test with custom transpiler./);\n      });\n    }\n  );\n});\n"
  },
  {
    "path": "src/test/ts-import-specifiers.spec.ts",
    "content": "import { context } from './testlib';\nimport * as expect from 'expect';\nimport { createExec } from './helpers/exec';\nimport { TEST_DIR, ctxTsNode, CMD_TS_NODE_WITHOUT_PROJECT_FLAG, tsSupportsAllowImportingTsExtensions } from './helpers';\nimport { project as fsProject } from '@TypeStrong/fs-fixture-builder';\nimport { outdent as o } from 'outdent';\n\nconst exec = createExec({\n  cwd: TEST_DIR,\n});\n\nconst test = context(ctxTsNode);\n\ntest('Supports .ts extensions in import specifiers with typechecking, even though older versions of TS checker do not', async () => {\n  const p = fsProject('ts-import-specifiers');\n  p.rm();\n  p.addFile(\n    'index.ts',\n    o`\n    import { foo } from './foo.ts';\n    import { bar } from './bar.jsx';\n    console.log({ foo, bar });\n  `\n  );\n  p.addFile(\n    'foo.ts',\n    o`\n    export const foo = true;\n  `\n  );\n  p.addFile(\n    'bar.tsx',\n    o`\n    export const bar = true;\n  `\n  );\n  p.addJsonFile('tsconfig.json', {\n    'ts-node': {\n      // Can eventually make this a stable feature.  For now, `experimental` flag allows me to iterate quickly\n      experimentalTsImportSpecifiers: true,\n      experimentalResolver: true,\n    },\n    compilerOptions: {\n      jsx: 'react',\n      allowImportingTsExtensions: tsSupportsAllowImportingTsExtensions ? true : undefined,\n    },\n  });\n  p.write();\n\n  const r = await exec(`${CMD_TS_NODE_WITHOUT_PROJECT_FLAG} ./index.ts`, {\n    cwd: p.cwd,\n  });\n  expect(r.err).toBe(null);\n  expect(r.stdout.trim()).toBe('{ foo: true, bar: true }');\n});\n"
  },
  {
    "path": "src/test/tsconfig-bases.spec.ts",
    "content": "import { join } from 'path';\nimport { createExec } from './helpers/exec';\nimport { ctxTmpDirOutsideCheckout } from './helpers/ctx-tmp-dir';\nimport { ctxTsNode } from './helpers/ctx-ts-node';\nimport { BIN_PATH, TEST_DIR } from './helpers/paths';\nimport {\n  tsSupportsEs2021,\n  tsSupportsEs2022,\n  tsSupportsLibEs2023,\n  tsSupportsStableNodeNextNode16,\n} from './helpers/version-checks';\nimport { context, expect } from './testlib';\nimport semver = require('semver');\nimport { testsDirRequire } from './helpers';\n\nconst exec = createExec({\n  cwd: TEST_DIR,\n});\n\nconst test = context(ctxTsNode);\n\ntest.suite('should use implicit @tsconfig/bases config when one is not loaded from disk', ({ contextEach }) => {\n  const test = contextEach(ctxTmpDirOutsideCheckout);\n\n  // Expectations change depending on node and TS version, since ts-node picks an implicit config that is compatible\n  // with both.\n  let lib: Array<string> | undefined = undefined;\n  let target: string = 'es5';\n  if (tsSupportsStableNodeNextNode16) {\n    lib = ['es2020'];\n    target = 'es2020';\n    if (semver.gte(process.versions.node, '16.0.0') && tsSupportsEs2021) {\n      lib = ['es2021'];\n      target = 'es2021';\n    }\n    if (semver.gte(process.versions.node, '18.0.0') && tsSupportsEs2022 && tsSupportsLibEs2023) {\n      lib = ['es2023'];\n      target = 'es2022';\n    }\n  }\n\n  test('implicitly uses @tsconfig/node14, @tsconfig/node16, @tsconfig/node18, or @tsconfig/node20 compilerOptions when both TS and node versions support it', async (t) => {\n    const r1 = await exec(`${BIN_PATH} --showConfig`, {\n      cwd: t.context.tmpDir,\n    });\n\n    expect(r1.err).toBe(null);\n    t.like(JSON.parse(r1.stdout), {\n      compilerOptions: {\n        target,\n        lib,\n      },\n    });\n  });\n\n  test('implicitly loads @types/node even when not installed within local directory', async (t) => {\n    const r = await exec(`${BIN_PATH} -pe process.env.foo`, {\n      cwd: t.context.tmpDir,\n      env: { ...process.env, foo: 'hello world' },\n    });\n\n    expect(r.err).toBe(null);\n    expect(r.stdout).toBe('hello world\\n');\n  });\n\n  test('implicitly loads local @types/node', async (t) => {\n    t.context.fixture.readFrom(join(TEST_DIR, 'local-types-node'), undefined, []);\n    t.context.fixture.write();\n\n    const r = await exec(`${BIN_PATH} -pe process.env.foo`, {\n      cwd: t.context.fixture.cwd,\n      env: { ...process.env, foo: 'hello world' },\n    });\n\n    expect(r.err).not.toBe(null);\n    expect(r.stderr).toMatch(\"Property 'env' does not exist on type 'LocalNodeTypes_Process'\");\n  });\n});\n\ntest.suite('should bundle @tsconfig/bases to be used in your own tsconfigs', (test) => {\n  // Older TS versions will complain about newer `target`, `lib`, `module`, `moduleResolution` options\n  test.if(tsSupportsEs2022 && tsSupportsLibEs2023 && tsSupportsStableNodeNextNode16);\n\n  const macro = test.macro((nodeVersion: string) => async (t) => {\n    const config = testsDirRequire(`@tsconfig/${nodeVersion}/tsconfig.json`);\n    const r = await exec(`${BIN_PATH} --showConfig -e 10n`, {\n      cwd: join(TEST_DIR, 'tsconfig-bases', nodeVersion),\n    });\n\n    expect(r.err).toBe(null);\n    t.like(JSON.parse(r.stdout), {\n      compilerOptions: {\n        target: config.compilerOptions.target,\n        lib: config.compilerOptions.lib,\n      },\n    });\n  });\n\n  test(`ts-node/node14/tsconfig.json`, macro, 'node14');\n  test(`ts-node/node16/tsconfig.json`, macro, 'node16');\n  test(`ts-node/node18/tsconfig.json`, macro, 'node18');\n  test(`ts-node/node20/tsconfig.json`, macro, 'node20');\n});\n"
  },
  {
    "path": "src/transpilers/swc.ts",
    "content": "import type * as ts from 'typescript';\nimport type * as swcWasm from '@swc/wasm';\nimport type * as swcTypes from '@swc/core';\nimport type { CreateTranspilerOptions, Transpiler } from './types';\nimport type { NodeModuleEmitKind } from '..';\nimport { getUseDefineForClassFields } from '../ts-internals';\n\ntype SwcInstance = typeof swcTypes;\nexport interface SwcTranspilerOptions extends CreateTranspilerOptions {\n  /**\n   * swc compiler to use for compilation\n   * Set to '@swc/wasm' to use swc's WASM compiler\n   * Default: '@swc/core', falling back to '@swc/wasm'\n   */\n  swc?: string | typeof swcWasm;\n}\n\nexport function create(createOptions: SwcTranspilerOptions): Transpiler {\n  const {\n    swc,\n    service: { config, projectLocalResolveHelper },\n    transpilerConfigLocalResolveHelper,\n    nodeModuleEmitKind,\n  } = createOptions;\n\n  // Load swc compiler\n  let swcInstance: SwcInstance;\n  // Used later in diagnostics; merely needs to be human-readable.\n  let swcDepName: string = 'swc';\n  if (typeof swc === 'string') {\n    swcDepName = swc;\n    swcInstance = require(transpilerConfigLocalResolveHelper(swc, true)) as SwcInstance;\n  } else if (swc == null) {\n    let swcResolved;\n    try {\n      swcDepName = '@swc/core';\n      swcResolved = transpilerConfigLocalResolveHelper(swcDepName, true);\n    } catch (e) {\n      try {\n        swcDepName = '@swc/wasm';\n        swcResolved = transpilerConfigLocalResolveHelper(swcDepName, true);\n      } catch (e) {\n        throw new Error(\n          'swc compiler requires either @swc/core or @swc/wasm to be installed as a dependency.  See https://typestrong.org/ts-node/docs/transpilers'\n        );\n      }\n    }\n    swcInstance = require(swcResolved) as SwcInstance;\n  } else {\n    swcInstance = swc as any as SwcInstance;\n  }\n\n  // Prepare SWC options derived from typescript compiler options\n  const { nonTsxOptions, tsxOptions } = createSwcOptions(config.options, nodeModuleEmitKind, swcInstance, swcDepName);\n\n  const transpile: Transpiler['transpile'] = (input, transpileOptions) => {\n    const { fileName } = transpileOptions;\n    const swcOptions = fileName.endsWith('.tsx') || fileName.endsWith('.jsx') ? tsxOptions : nonTsxOptions;\n    const { code, map } = swcInstance.transformSync(input, {\n      ...swcOptions,\n      filename: fileName,\n    });\n    return { outputText: code, sourceMapText: map };\n  };\n\n  return {\n    transpile,\n  };\n}\n\n/** @internal */\nexport const targetMapping = new Map<ts.ScriptTarget, SwcTarget>();\ntargetMapping.set(/* ts.ScriptTarget.ES3 */ 0, 'es3');\ntargetMapping.set(/* ts.ScriptTarget.ES5 */ 1, 'es5');\ntargetMapping.set(/* ts.ScriptTarget.ES2015 */ 2, 'es2015');\ntargetMapping.set(/* ts.ScriptTarget.ES2016 */ 3, 'es2016');\ntargetMapping.set(/* ts.ScriptTarget.ES2017 */ 4, 'es2017');\ntargetMapping.set(/* ts.ScriptTarget.ES2018 */ 5, 'es2018');\ntargetMapping.set(/* ts.ScriptTarget.ES2019 */ 6, 'es2019');\ntargetMapping.set(/* ts.ScriptTarget.ES2020 */ 7, 'es2020');\ntargetMapping.set(/* ts.ScriptTarget.ES2021 */ 8, 'es2021');\ntargetMapping.set(/* ts.ScriptTarget.ES2022 */ 9, 'es2022');\ntargetMapping.set(/* ts.ScriptTarget.ESNext */ 99, 'esnext');\n\ntype SwcTarget = typeof swcTargets[number];\n/**\n * @internal\n * We use this list to downgrade to a prior target when we probe swc to detect if it supports a particular target\n */\nconst swcTargets = [\n  'es3',\n  'es5',\n  'es2015',\n  'es2016',\n  'es2017',\n  'es2018',\n  'es2019',\n  'es2020',\n  'es2021',\n  'es2022',\n  'esnext',\n] as const;\n\nconst ModuleKind = {\n  None: 0,\n  CommonJS: 1,\n  AMD: 2,\n  UMD: 3,\n  System: 4,\n  ES2015: 5,\n  ES2020: 6,\n  ESNext: 99,\n  Node16: 100,\n  NodeNext: 199,\n} as const;\n\nconst JsxEmit = {\n  ReactJSX: /* ts.JsxEmit.ReactJSX */ 4,\n  ReactJSXDev: /* ts.JsxEmit.ReactJSXDev */ 5,\n} as const;\n\n/**\n * Prepare SWC options derived from typescript compiler options.\n * @internal exported for testing\n */\nexport function createSwcOptions(\n  compilerOptions: ts.CompilerOptions,\n  nodeModuleEmitKind: NodeModuleEmitKind | undefined,\n  swcInstance: SwcInstance,\n  swcDepName: string\n) {\n  const {\n    esModuleInterop,\n    sourceMap,\n    importHelpers,\n    experimentalDecorators,\n    emitDecoratorMetadata,\n    target,\n    module,\n    jsx,\n    jsxFactory,\n    jsxFragmentFactory,\n    strict,\n    alwaysStrict,\n    noImplicitUseStrict,\n    jsxImportSource,\n  } = compilerOptions;\n\n  let swcTarget = targetMapping.get(target!) ?? 'es3';\n  // Downgrade to lower target if swc does not support the selected target.\n  // Perhaps project has an older version of swc.\n  // TODO cache the results of this; slightly faster\n  let swcTargetIndex = swcTargets.indexOf(swcTarget);\n  for (; swcTargetIndex >= 0; swcTargetIndex--) {\n    try {\n      swcInstance.transformSync('', {\n        jsc: { target: swcTargets[swcTargetIndex] as swcWasm.JscTarget },\n      });\n      break;\n    } catch (e) {}\n  }\n  swcTarget = swcTargets[swcTargetIndex];\n  const keepClassNames = target! >= /* ts.ScriptTarget.ES2016 */ 3;\n  const isNodeModuleKind = module === ModuleKind.Node16 || module === ModuleKind.NodeNext;\n  // swc only supports these 4x module options [MUST_UPDATE_FOR_NEW_MODULEKIND]\n  const moduleType =\n    module === ModuleKind.CommonJS\n      ? 'commonjs'\n      : module === ModuleKind.AMD\n      ? 'amd'\n      : module === ModuleKind.UMD\n      ? 'umd'\n      : isNodeModuleKind && nodeModuleEmitKind === 'nodecjs'\n      ? 'commonjs'\n      : isNodeModuleKind && nodeModuleEmitKind === 'nodeesm'\n      ? 'es6'\n      : 'es6';\n  // In swc:\n  //   strictMode means `\"use strict\"` is *always* emitted for non-ES module, *never* for ES module where it is assumed it can be omitted.\n  //   (this assumption is invalid, but that's the way swc behaves)\n  // tsc is a bit more complex:\n  //   alwaysStrict will force emitting it always unless `import`/`export` syntax is emitted which implies it per the JS spec.\n  //   if not alwaysStrict, will emit implicitly whenever module target is non-ES *and* transformed module syntax is emitted.\n  // For node, best option is to assume that all scripts are modules (commonjs or esm) and thus should get tsc's implicit strict behavior.\n\n  // Always set strictMode, *unless* alwaysStrict is disabled and noImplicitUseStrict is enabled\n  const strictMode =\n    // if `alwaysStrict` is disabled, remembering that `strict` defaults `alwaysStrict` to true\n    (alwaysStrict === false || (alwaysStrict !== true && strict !== true)) &&\n    // if noImplicitUseStrict is enabled\n    noImplicitUseStrict === true\n      ? false\n      : true;\n\n  const jsxRuntime: swcTypes.ReactConfig['runtime'] =\n    jsx === JsxEmit.ReactJSX || jsx === JsxEmit.ReactJSXDev ? 'automatic' : undefined;\n  const jsxDevelopment: swcTypes.ReactConfig['development'] = jsx === JsxEmit.ReactJSXDev ? true : undefined;\n\n  const useDefineForClassFields = getUseDefineForClassFields(compilerOptions);\n\n  const nonTsxOptions = createVariant(false);\n  const tsxOptions = createVariant(true);\n  return { nonTsxOptions, tsxOptions };\n\n  function createVariant(isTsx: boolean): swcTypes.Options {\n    const swcOptions: swcTypes.Options = {\n      sourceMaps: sourceMap,\n      // isModule: true,\n      module: moduleType\n        ? {\n            type: moduleType,\n            ...(moduleType === 'amd' || moduleType === 'commonjs' || moduleType === 'umd'\n              ? {\n                  noInterop: !esModuleInterop,\n                  strictMode,\n                  // For NodeNext and Node12, emit as CJS but do not transform dynamic imports\n                  ignoreDynamic: nodeModuleEmitKind === 'nodecjs',\n                }\n              : {}),\n          }\n        : undefined,\n      swcrc: false,\n      jsc: {\n        externalHelpers: importHelpers,\n        parser: {\n          syntax: 'typescript',\n          tsx: isTsx,\n          decorators: experimentalDecorators,\n          dynamicImport: true,\n          importAssertions: true,\n        } as swcWasm.TsParserConfig,\n        target: swcTarget as swcWasm.JscTarget,\n        transform: {\n          decoratorMetadata: emitDecoratorMetadata,\n          legacyDecorator: true,\n          react: {\n            throwIfNamespace: false,\n            development: jsxDevelopment,\n            useBuiltins: false,\n            pragma: jsxFactory!,\n            pragmaFrag: jsxFragmentFactory!,\n            runtime: jsxRuntime,\n            importSource: jsxImportSource,\n          },\n          useDefineForClassFields,\n        },\n        keepClassNames,\n        experimental: {\n          keepImportAttributes: true,\n          emitAssertForImportAttributes: true,\n        } as swcTypes.JscConfig['experimental'],\n      },\n    };\n\n    // Throw a helpful error if swc version is old, for example, if it rejects `ignoreDynamic`\n    try {\n      swcInstance.transformSync('', swcOptions);\n    } catch (e) {\n      throw new Error(\n        `${swcDepName} threw an error when attempting to validate swc compiler options.\\n` +\n          'You may be using an old version of swc which does not support the options used by ts-node.\\n' +\n          'Try upgrading to the latest version of swc.\\n' +\n          'Error message from swc:\\n' +\n          (e as Error)?.message\n      );\n    }\n\n    return swcOptions;\n  }\n}\n"
  },
  {
    "path": "src/transpilers/types.ts",
    "content": "import type * as ts from 'typescript';\nimport type { NodeModuleEmitKind, Service } from '../index';\nimport type { ProjectLocalResolveHelper } from '../util';\n\n/**\n * Third-party transpilers are implemented as a CommonJS module with a\n * named export \"create\"\n *\n * @category Transpiler\n */\nexport interface TranspilerModule {\n  create: TranspilerFactory;\n}\n/**\n * Called by ts-node to create a custom transpiler.\n *\n * @category Transpiler\n */\nexport type TranspilerFactory = (options: CreateTranspilerOptions) => Transpiler;\n/** @category Transpiler */\nexport interface CreateTranspilerOptions {\n  // TODO this is confusing because its only a partial Service.  Rename?\n  // Careful: must avoid stripInternal breakage by guarding with Extract<>\n  service: Pick<Service, Extract<'config' | 'options' | 'projectLocalResolveHelper', keyof Service>>;\n  /**\n   * If `\"transpiler\"` option is declared in an \"extends\" tsconfig, this path might be different than\n   * the `projectLocalResolveHelper`\n   *\n   * @internal\n   */\n  transpilerConfigLocalResolveHelper: ProjectLocalResolveHelper;\n  /**\n   * When using `module: nodenext` or `module: node12`, there are two possible styles of emit:\n   * - CommonJS with dynamic imports preserved (not transformed into `require()` calls)\n   * - ECMAScript modules with `import foo = require()` transformed into `require = createRequire(); const foo = require()`\n   * @internal\n   */\n  nodeModuleEmitKind?: NodeModuleEmitKind;\n}\n/** @category Transpiler */\nexport interface Transpiler {\n  // TODOs\n  // Create spec for returning diagnostics?  Currently transpilers are allowed to\n  // throw an error but that's it.\n  transpile(input: string, options: TranspileOptions): TranspileOutput;\n}\n/** @category Transpiler */\nexport interface TranspileOptions {\n  fileName: string;\n}\n/** @category Transpiler */\nexport interface TranspileOutput {\n  outputText: string;\n  diagnostics?: ts.Diagnostic[];\n  sourceMapText?: string;\n}\n"
  },
  {
    "path": "src/ts-compiler-types.ts",
    "content": "import type * as _ts from 'typescript';\n\n/**\n * Common TypeScript interfaces between versions.  We endeavour to write ts-node's own code against these types instead\n * of against `import \"typescript\"`, though we are not yet doing this consistently.\n *\n * Sometimes typescript@next adds an API we need to use.  But we build ts-node against typescript@latest.\n * In these cases, we must declare that API explicitly here.  Our declarations include the newer typescript@next APIs.\n * Importantly, these re-declarations are *not* TypeScript internals.  They are public APIs that only exist in\n * pre-release versions of typescript.\n */\nexport interface TSCommon {\n  version: typeof _ts.version;\n  sys: typeof _ts.sys;\n  ScriptSnapshot: typeof _ts.ScriptSnapshot;\n  displayPartsToString: typeof _ts.displayPartsToString;\n  createLanguageService: typeof _ts.createLanguageService;\n  getDefaultLibFilePath: typeof _ts.getDefaultLibFilePath;\n  getPreEmitDiagnostics: typeof _ts.getPreEmitDiagnostics;\n  flattenDiagnosticMessageText: typeof _ts.flattenDiagnosticMessageText;\n  transpileModule: typeof _ts.transpileModule;\n  ModuleKind: TSCommon.ModuleKindEnum;\n  ScriptTarget: typeof _ts.ScriptTarget;\n  findConfigFile: typeof _ts.findConfigFile;\n  readConfigFile: typeof _ts.readConfigFile;\n  parseJsonConfigFileContent: typeof _ts.parseJsonConfigFileContent;\n  formatDiagnostics: typeof _ts.formatDiagnostics;\n  formatDiagnosticsWithColorAndContext: typeof _ts.formatDiagnosticsWithColorAndContext;\n\n  createDocumentRegistry: typeof _ts.createDocumentRegistry;\n  JsxEmit: typeof _ts.JsxEmit;\n  createModuleResolutionCache: typeof _ts.createModuleResolutionCache;\n  resolveModuleName: typeof _ts.resolveModuleName;\n  resolveModuleNameFromCache: typeof _ts.resolveModuleNameFromCache;\n  resolveTypeReferenceDirective: typeof _ts.resolveTypeReferenceDirective;\n  createIncrementalCompilerHost: typeof _ts.createIncrementalCompilerHost;\n  createSourceFile: typeof _ts.createSourceFile;\n  getDefaultLibFileName: typeof _ts.getDefaultLibFileName;\n  createIncrementalProgram: typeof _ts.createIncrementalProgram;\n  createEmitAndSemanticDiagnosticsBuilderProgram: typeof _ts.createEmitAndSemanticDiagnosticsBuilderProgram;\n\n  Extension: typeof _ts.Extension;\n  ModuleResolutionKind: typeof _ts.ModuleResolutionKind;\n}\nexport namespace TSCommon {\n  export interface LanguageServiceHost extends _ts.LanguageServiceHost {}\n  export type ModuleResolutionHost = _ts.ModuleResolutionHost;\n  export type ParsedCommandLine = _ts.ParsedCommandLine;\n  export type ResolvedModule = _ts.ResolvedModule;\n  export type ResolvedTypeReferenceDirective = _ts.ResolvedTypeReferenceDirective;\n  export type CompilerOptions = _ts.CompilerOptions;\n  export type ResolvedProjectReference = _ts.ResolvedProjectReference;\n  export type ResolvedModuleWithFailedLookupLocations = _ts.ResolvedModuleWithFailedLookupLocations;\n  export type FileReference = _ts.FileReference;\n  export type SourceFile = _ts.SourceFile;\n  // Hack until we start building against TS >= 4.7.0\n  export type ModuleKindEnum = typeof _ts.ModuleKind & {\n    Node16: typeof _ts.ModuleKind extends { Node16: any } ? typeof _ts.ModuleKind['Node16'] : 100;\n  };\n  // Can't figure out how to re-export an enum\n  // `export import ... =` complains that _ts is type-only import\n  export namespace ModuleKind {\n    export type CommonJS = _ts.ModuleKind.CommonJS;\n    export type ESNext = _ts.ModuleKind.ESNext;\n  }\n}\n\n/**\n * Compiler APIs we use that are marked internal and not included in TypeScript's public API declarations\n * @internal\n */\nexport interface TSInternal {\n  // https://github.com/microsoft/TypeScript/blob/4a34294908bed6701dcba2456ca7ac5eafe0ddff/src/compiler/core.ts#L1906-L1909\n  createGetCanonicalFileName(useCaseSensitiveFileNames: boolean): TSInternal.GetCanonicalFileName;\n  // https://github.com/microsoft/TypeScript/blob/c117c266e09c80e8a06b24a6e94b9d018f5fae6b/src/compiler/commandLineParser.ts#L2054\n  convertToTSConfig(\n    configParseResult: _ts.ParsedCommandLine,\n    configFileName: string,\n    host: TSInternal.ConvertToTSConfigHost\n  ): any;\n  libs?: string[];\n  Diagnostics: {\n    File_0_not_found: _ts.DiagnosticMessage;\n  };\n  createCompilerDiagnostic(message: _ts.DiagnosticMessage, ...args: (string | number | undefined)[]): _ts.Diagnostic;\n  nodeModuleNameResolver(\n    moduleName: string,\n    containingFile: string,\n    compilerOptions: _ts.CompilerOptions,\n    host: _ts.ModuleResolutionHost,\n    cache?: _ts.ModuleResolutionCache,\n    redirectedReference?: _ts.ResolvedProjectReference,\n    conditionsOrIsConfigLookup?: string[] | boolean, // `conditions` parameter added in TS 5.3\n    isConfigLookup?: boolean\n  ): _ts.ResolvedModuleWithFailedLookupLocations;\n  // Added in TS 4.7\n  getModeForFileReference?: (\n    ref: _ts.FileReference | string,\n    containingFileMode: _ts.SourceFile['impliedNodeFormat']\n  ) => _ts.SourceFile['impliedNodeFormat'];\n  // TODO do we need these?  Which TS version adds them?\n  getPatternFromSpec(spec: string, basePath: string, usage: 'files' | 'directories' | 'exclude'): string | undefined;\n  getRegularExpressionForWildcard(\n    specs: readonly string[] | undefined,\n    basePath: string,\n    usage: 'files' | 'directories' | 'exclude'\n  ): string | undefined;\n  // Added in TS 4.7\n  getModeForResolutionAtIndex?(\n    file: TSInternal.SourceFileImportsList,\n    index: number\n  ): _ts.SourceFile['impliedNodeFormat'];\n}\n/** @internal */\nexport namespace TSInternal {\n  // https://github.com/microsoft/TypeScript/blob/4a34294908bed6701dcba2456ca7ac5eafe0ddff/src/compiler/core.ts#L1906\n  export type GetCanonicalFileName = (fileName: string) => string;\n  // https://github.com/microsoft/TypeScript/blob/c117c266e09c80e8a06b24a6e94b9d018f5fae6b/src/compiler/commandLineParser.ts#L2041\n  export interface ConvertToTSConfigHost {\n    getCurrentDirectory(): string;\n    useCaseSensitiveFileNames: boolean;\n  }\n  // Note: is only a partial declaration, TS sources declare other fields\n  export interface SourceFileImportsList {\n    impliedNodeFormat?: TSCommon.SourceFile['impliedNodeFormat'];\n  }\n}\n"
  },
  {
    "path": "src/ts-internals.ts",
    "content": "import { isAbsolute, resolve } from 'path';\nimport { cachedLookup, normalizeSlashes, versionGteLt } from './util';\nimport type * as _ts from 'typescript';\nimport type { TSCommon, TSInternal } from './ts-compiler-types';\n\n/** @internal */\nexport const createTsInternals = cachedLookup(createTsInternalsUncached);\n/**\n * Given a reference to the TS compiler, return some TS internal functions that we\n * could not or did not want to grab off the `ts` object.\n * These have been copy-pasted from TS's source and tweaked as necessary.\n *\n * NOTE: This factory returns *only* functions which need a reference to the TS\n * compiler.  Other functions do not need a reference to the TS compiler so are\n * exported directly from this file.\n */\nfunction createTsInternalsUncached(_ts: TSCommon) {\n  const ts = _ts as TSCommon & TSInternal;\n  /**\n   * Copied from:\n   * https://github.com/microsoft/TypeScript/blob/v4.3.2/src/compiler/commandLineParser.ts#L2821-L2846\n   */\n  function getExtendsConfigPath(\n    extendedConfig: string,\n    host: _ts.ParseConfigHost,\n    basePath: string,\n    errors: _ts.Push<_ts.Diagnostic>,\n    createDiagnostic: (message: _ts.DiagnosticMessage, arg1?: string) => _ts.Diagnostic\n  ) {\n    extendedConfig = normalizeSlashes(extendedConfig);\n    if (isRootedDiskPath(extendedConfig) || startsWith(extendedConfig, './') || startsWith(extendedConfig, '../')) {\n      let extendedConfigPath = getNormalizedAbsolutePath(extendedConfig, basePath);\n      if (!host.fileExists(extendedConfigPath) && !endsWith(extendedConfigPath, ts.Extension.Json)) {\n        extendedConfigPath = `${extendedConfigPath}.json`;\n        if (!host.fileExists(extendedConfigPath)) {\n          errors.push(createDiagnostic(ts.Diagnostics.File_0_not_found, extendedConfig));\n          return undefined;\n        }\n      }\n      return extendedConfigPath;\n    }\n    // If the path isn't a rooted or relative path, resolve like a module\n    const tsGte5_3_0 = versionGteLt(ts.version, '5.3.0');\n    const resolved = ts.nodeModuleNameResolver(\n      extendedConfig,\n      combinePaths(basePath, 'tsconfig.json'),\n      { moduleResolution: ts.ModuleResolutionKind.NodeJs },\n      host,\n      /*cache*/ undefined,\n      /*projectRefs*/ undefined,\n      /*conditionsOrIsConfigLookup*/ tsGte5_3_0 ? undefined : true,\n      /*isConfigLookup*/ tsGte5_3_0 ? true : undefined\n    );\n    if (resolved.resolvedModule) {\n      return resolved.resolvedModule.resolvedFileName;\n    }\n    errors.push(createDiagnostic(ts.Diagnostics.File_0_not_found, extendedConfig));\n    return undefined;\n  }\n\n  return { getExtendsConfigPath };\n}\n\n// These functions have alternative implementation to avoid copying too much from TS\nfunction isRootedDiskPath(path: string) {\n  return isAbsolute(path);\n}\nfunction combinePaths(path: string, ...paths: (string | undefined)[]): string {\n  return normalizeSlashes(resolve(path, ...(paths.filter((path) => path) as string[])));\n}\nfunction getNormalizedAbsolutePath(fileName: string, currentDirectory: string | undefined) {\n  return normalizeSlashes(currentDirectory != null ? resolve(currentDirectory!, fileName) : resolve(fileName));\n}\n\nfunction startsWith(str: string, prefix: string): boolean {\n  return str.lastIndexOf(prefix, 0) === 0;\n}\n\nfunction endsWith(str: string, suffix: string): boolean {\n  const expectedPos = str.length - suffix.length;\n  return expectedPos >= 0 && str.indexOf(suffix, expectedPos) === expectedPos;\n}\n// Reserved characters, forces escaping of any non-word (or digit), non-whitespace character.\n// It may be inefficient (we could just match (/[-[\\]{}()*+?.,\\\\^$|#\\s]/g), but this is future\n// proof.\nconst reservedCharacterPattern = /[^\\w\\s\\/]/g;\n\n/**\n * @internal\n * See also: getRegularExpressionForWildcard, which seems to do almost the same thing\n */\nexport function getPatternFromSpec(spec: string, basePath: string) {\n  const pattern = spec && getSubPatternFromSpec(spec, basePath, excludeMatcher);\n  return pattern && `^(${pattern})${'($|/)'}`;\n}\nfunction getSubPatternFromSpec(\n  spec: string,\n  basePath: string,\n  { singleAsteriskRegexFragment, doubleAsteriskRegexFragment, replaceWildcardCharacter }: WildcardMatcher\n): string {\n  let subpattern = '';\n  let hasWrittenComponent = false;\n  const components = getNormalizedPathComponents(spec, basePath);\n  const lastComponent = last(components);\n\n  // getNormalizedPathComponents includes the separator for the root component.\n  // We need to remove to create our regex correctly.\n  components[0] = removeTrailingDirectorySeparator(components[0]);\n\n  if (isImplicitGlob(lastComponent)) {\n    components.push('**', '*');\n  }\n\n  let optionalCount = 0;\n  for (let component of components) {\n    if (component === '**') {\n      subpattern += doubleAsteriskRegexFragment;\n    } else {\n      if (hasWrittenComponent) {\n        subpattern += directorySeparator;\n      }\n      subpattern += component.replace(reservedCharacterPattern, replaceWildcardCharacter);\n    }\n\n    hasWrittenComponent = true;\n  }\n\n  while (optionalCount > 0) {\n    subpattern += ')?';\n    optionalCount--;\n  }\n\n  return subpattern;\n}\ninterface WildcardMatcher {\n  singleAsteriskRegexFragment: string;\n  doubleAsteriskRegexFragment: string;\n  replaceWildcardCharacter: (match: string) => string;\n}\nconst directoriesMatcher: WildcardMatcher = {\n  singleAsteriskRegexFragment: '[^/]*',\n  /**\n   * Regex for the ** wildcard. Matches any num of subdirectories. When used for including\n   * files or directories, does not match subdirectories that start with a . character\n   */\n  doubleAsteriskRegexFragment: `(/[^/.][^/]*)*?`,\n  replaceWildcardCharacter: (match) => replaceWildcardCharacter(match, directoriesMatcher.singleAsteriskRegexFragment),\n};\nconst excludeMatcher: WildcardMatcher = {\n  singleAsteriskRegexFragment: '[^/]*',\n  doubleAsteriskRegexFragment: '(/.+?)?',\n  replaceWildcardCharacter: (match) => replaceWildcardCharacter(match, excludeMatcher.singleAsteriskRegexFragment),\n};\nfunction getNormalizedPathComponents(path: string, currentDirectory: string | undefined) {\n  return reducePathComponents(getPathComponents(path, currentDirectory));\n}\nfunction getPathComponents(path: string, currentDirectory = '') {\n  path = combinePaths(currentDirectory, path);\n  return pathComponents(path, getRootLength(path));\n}\nfunction reducePathComponents(components: readonly string[]) {\n  if (!some(components)) return [];\n  const reduced = [components[0]];\n  for (let i = 1; i < components.length; i++) {\n    const component = components[i];\n    if (!component) continue;\n    if (component === '.') continue;\n    if (component === '..') {\n      if (reduced.length > 1) {\n        if (reduced[reduced.length - 1] !== '..') {\n          reduced.pop();\n          continue;\n        }\n      } else if (reduced[0]) continue;\n    }\n    reduced.push(component);\n  }\n  return reduced;\n}\nfunction getRootLength(path: string) {\n  const rootLength = getEncodedRootLength(path);\n  return rootLength < 0 ? ~rootLength : rootLength;\n}\nfunction getEncodedRootLength(path: string): number {\n  if (!path) return 0;\n  const ch0 = path.charCodeAt(0);\n\n  // POSIX or UNC\n  if (ch0 === CharacterCodes.slash || ch0 === CharacterCodes.backslash) {\n    if (path.charCodeAt(1) !== ch0) return 1; // POSIX: \"/\" (or non-normalized \"\\\")\n\n    const p1 = path.indexOf(ch0 === CharacterCodes.slash ? directorySeparator : altDirectorySeparator, 2);\n    if (p1 < 0) return path.length; // UNC: \"//server\" or \"\\\\server\"\n\n    return p1 + 1; // UNC: \"//server/\" or \"\\\\server\\\"\n  }\n\n  // DOS\n  if (isVolumeCharacter(ch0) && path.charCodeAt(1) === CharacterCodes.colon) {\n    const ch2 = path.charCodeAt(2);\n    if (ch2 === CharacterCodes.slash || ch2 === CharacterCodes.backslash) return 3; // DOS: \"c:/\" or \"c:\\\"\n    if (path.length === 2) return 2; // DOS: \"c:\" (but not \"c:d\")\n  }\n\n  // URL\n  const schemeEnd = path.indexOf(urlSchemeSeparator);\n  if (schemeEnd !== -1) {\n    const authorityStart = schemeEnd + urlSchemeSeparator.length;\n    const authorityEnd = path.indexOf(directorySeparator, authorityStart);\n    if (authorityEnd !== -1) {\n      // URL: \"file:///\", \"file://server/\", \"file://server/path\"\n      // For local \"file\" URLs, include the leading DOS volume (if present).\n      // Per https://www.ietf.org/rfc/rfc1738.txt, a host of \"\" or \"localhost\" is a\n      // special case interpreted as \"the machine from which the URL is being interpreted\".\n      const scheme = path.slice(0, schemeEnd);\n      const authority = path.slice(authorityStart, authorityEnd);\n      if (\n        scheme === 'file' &&\n        (authority === '' || authority === 'localhost') &&\n        isVolumeCharacter(path.charCodeAt(authorityEnd + 1))\n      ) {\n        const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path, authorityEnd + 2);\n        if (volumeSeparatorEnd !== -1) {\n          if (path.charCodeAt(volumeSeparatorEnd) === CharacterCodes.slash) {\n            // URL: \"file:///c:/\", \"file://localhost/c:/\", \"file:///c%3a/\", \"file://localhost/c%3a/\"\n            return ~(volumeSeparatorEnd + 1);\n          }\n          if (volumeSeparatorEnd === path.length) {\n            // URL: \"file:///c:\", \"file://localhost/c:\", \"file:///c$3a\", \"file://localhost/c%3a\"\n            // but not \"file:///c:d\" or \"file:///c%3ad\"\n            return ~volumeSeparatorEnd;\n          }\n        }\n      }\n      return ~(authorityEnd + 1); // URL: \"file://server/\", \"http://server/\"\n    }\n    return ~path.length; // URL: \"file://server\", \"http://server\"\n  }\n\n  // relative\n  return 0;\n}\nfunction ensureTrailingDirectorySeparator(path: string) {\n  if (!hasTrailingDirectorySeparator(path)) {\n    return path + directorySeparator;\n  }\n\n  return path;\n}\nfunction hasTrailingDirectorySeparator(path: string) {\n  return path.length > 0 && isAnyDirectorySeparator(path.charCodeAt(path.length - 1));\n}\nfunction isAnyDirectorySeparator(charCode: number): boolean {\n  return charCode === CharacterCodes.slash || charCode === CharacterCodes.backslash;\n}\nfunction removeTrailingDirectorySeparator(path: string) {\n  if (hasTrailingDirectorySeparator(path)) {\n    return path.substr(0, path.length - 1);\n  }\n\n  return path;\n}\nconst directorySeparator = '/';\nconst altDirectorySeparator = '\\\\';\nconst urlSchemeSeparator = '://';\nfunction isVolumeCharacter(charCode: number) {\n  return (\n    (charCode >= CharacterCodes.a && charCode <= CharacterCodes.z) ||\n    (charCode >= CharacterCodes.A && charCode <= CharacterCodes.Z)\n  );\n}\nfunction getFileUrlVolumeSeparatorEnd(url: string, start: number) {\n  const ch0 = url.charCodeAt(start);\n  if (ch0 === CharacterCodes.colon) return start + 1;\n  if (ch0 === CharacterCodes.percent && url.charCodeAt(start + 1) === CharacterCodes._3) {\n    const ch2 = url.charCodeAt(start + 2);\n    if (ch2 === CharacterCodes.a || ch2 === CharacterCodes.A) return start + 3;\n  }\n  return -1;\n}\nfunction some<T>(array: readonly T[] | undefined): array is readonly T[];\nfunction some<T>(array: readonly T[] | undefined, predicate: (value: T) => boolean): boolean;\nfunction some<T>(array: readonly T[] | undefined, predicate?: (value: T) => boolean): boolean {\n  if (array) {\n    if (predicate) {\n      for (const v of array) {\n        if (predicate(v)) {\n          return true;\n        }\n      }\n    } else {\n      return array.length > 0;\n    }\n  }\n  return false;\n}\n/* @internal */\nconst enum CharacterCodes {\n  _3 = 0x33,\n  a = 0x61,\n  z = 0x7a,\n  A = 0x41,\n  Z = 0x5a,\n  asterisk = 0x2a, // *\n  backslash = 0x5c, // \\\n  colon = 0x3a, // :\n  percent = 0x25, // %\n  question = 0x3f, // ?\n  slash = 0x2f, // /\n}\nfunction pathComponents(path: string, rootLength: number) {\n  const root = path.substring(0, rootLength);\n  const rest = path.substring(rootLength).split(directorySeparator);\n  if (rest.length && !lastOrUndefined(rest)) rest.pop();\n  return [root, ...rest];\n}\nfunction lastOrUndefined<T>(array: readonly T[]): T | undefined {\n  return array.length === 0 ? undefined : array[array.length - 1];\n}\nfunction last<T>(array: readonly T[]): T {\n  // Debug.assert(array.length !== 0);\n  return array[array.length - 1];\n}\nfunction replaceWildcardCharacter(match: string, singleAsteriskRegexFragment: string) {\n  return match === '*' ? singleAsteriskRegexFragment : match === '?' ? '[^/]' : '\\\\' + match;\n}\n/**\n * An \"includes\" path \"foo\" is implicitly a glob \"foo/** /*\" (without the space) if its last component has no extension,\n * and does not contain any glob characters itself.\n */\nfunction isImplicitGlob(lastPathComponent: string): boolean {\n  return !/[.*?]/.test(lastPathComponent);\n}\n\nconst ts_ScriptTarget_ES5 = 1;\nconst ts_ScriptTarget_ES2022 = 9;\nconst ts_ScriptTarget_ESNext = 99;\nconst ts_ModuleKind_Node16 = 100;\nconst ts_ModuleKind_NodeNext = 199;\n// https://github.com/microsoft/TypeScript/blob/fc418a2e611c88cf9afa0115ff73490b2397d311/src/compiler/utilities.ts#L8761\nexport function getUseDefineForClassFields(compilerOptions: _ts.CompilerOptions): boolean {\n  return compilerOptions.useDefineForClassFields === undefined\n    ? getEmitScriptTarget(compilerOptions) >= ts_ScriptTarget_ES2022\n    : compilerOptions.useDefineForClassFields;\n}\n\n// https://github.com/microsoft/TypeScript/blob/fc418a2e611c88cf9afa0115ff73490b2397d311/src/compiler/utilities.ts#L8556\nexport function getEmitScriptTarget(compilerOptions: {\n  module?: _ts.CompilerOptions['module'];\n  target?: _ts.CompilerOptions['target'];\n}): _ts.ScriptTarget {\n  return (\n    compilerOptions.target ??\n    ((compilerOptions.module === ts_ModuleKind_Node16 && ts_ScriptTarget_ES2022) ||\n      (compilerOptions.module === ts_ModuleKind_NodeNext && ts_ScriptTarget_ESNext) ||\n      ts_ScriptTarget_ES5)\n  );\n}\n"
  },
  {
    "path": "src/ts-transpile-module.ts",
    "content": "// Derived from\n// https://github.com/microsoft/TypeScript/blob/ae1b3db8ceaae7e93bddffa1eed26309068249d7/src/services/transpile.ts\n\nimport type {\n  CompilerHost,\n  CompilerOptions,\n  Diagnostic,\n  SourceFile,\n  TranspileOptions,\n  TranspileOutput,\n} from 'typescript';\nimport type { TSCommon } from './ts-compiler-types';\n\nconst optionsRedundantWithVerbatimModuleSyntax = new Set([\n  'isolatedModules',\n  'preserveValueImports',\n  'importsNotUsedAsValues',\n]);\n\n/** @internal */\nexport function createTsTranspileModule(\n  ts: TSCommon,\n  transpileOptions: Pick<TranspileOptions, 'compilerOptions' | 'reportDiagnostics' | 'transformers'>\n) {\n  const {\n    createProgram,\n    createSourceFile,\n    getDefaultCompilerOptions,\n    getImpliedNodeFormatForFile,\n    fixupCompilerOptions,\n    transpileOptionValueCompilerOptions,\n    getNewLineCharacter,\n    fileExtensionIs,\n    normalizePath,\n    Debug,\n    toPath,\n    getSetExternalModuleIndicator,\n    addRange,\n    hasProperty,\n    getEmitScriptTarget,\n    getDirectoryPath,\n  } = ts as any;\n\n  const compilerOptionsDiagnostics: Diagnostic[] = [];\n\n  const options: CompilerOptions = transpileOptions.compilerOptions\n    ? fixupCompilerOptions(transpileOptions.compilerOptions, compilerOptionsDiagnostics)\n    : {};\n\n  // mix in default options\n  const defaultOptions = getDefaultCompilerOptions();\n  for (const key in defaultOptions) {\n    if (hasProperty(defaultOptions, key) && options[key] === undefined) {\n      options[key] = defaultOptions[key];\n    }\n  }\n\n  for (const option of transpileOptionValueCompilerOptions) {\n    // Do not set redundant config options if `verbatimModuleSyntax` was supplied.\n    if (options.verbatimModuleSyntax && optionsRedundantWithVerbatimModuleSyntax.has(option.name)) {\n      continue;\n    }\n\n    options[option.name] = option.transpileOptionValue;\n  }\n\n  // transpileModule does not write anything to disk so there is no need to verify that there are no conflicts between input and output paths.\n  options.suppressOutputPathCheck = true;\n\n  // Filename can be non-ts file.\n  options.allowNonTsExtensions = true;\n\n  const newLine = getNewLineCharacter(options);\n  // Create a compilerHost object to allow the compiler to read and write files\n  const compilerHost: CompilerHost = {\n    getSourceFile: (fileName) => (fileName === normalizePath(inputFileName) ? sourceFile : undefined),\n    writeFile: (name, text) => {\n      if (fileExtensionIs(name, '.map')) {\n        Debug.assertEqual(sourceMapText, undefined, 'Unexpected multiple source map outputs, file:', name);\n        sourceMapText = text;\n      } else {\n        Debug.assertEqual(outputText, undefined, 'Unexpected multiple outputs, file:', name);\n        outputText = text;\n      }\n    },\n    getDefaultLibFileName: () => 'lib.d.ts',\n    useCaseSensitiveFileNames: () => true,\n    getCanonicalFileName: (fileName) => fileName,\n    getCurrentDirectory: () => '',\n    getNewLine: () => newLine,\n    fileExists: (fileName): boolean => fileName === inputFileName || fileName === packageJsonFileName,\n    readFile: (fileName) => (fileName === packageJsonFileName ? `{\"type\": \"${_packageJsonType}\"}` : ''),\n    directoryExists: () => true,\n    getDirectories: () => [],\n  };\n\n  let inputFileName: string;\n  let packageJsonFileName: string;\n  let _packageJsonType: 'module' | 'commonjs';\n  let sourceFile: SourceFile;\n  let outputText: string | undefined;\n  let sourceMapText: string | undefined;\n\n  return transpileModule;\n\n  /*\n   * This function will compile source text from 'input' argument using specified compiler options.\n   * If not options are provided - it will use a set of default compiler options.\n   * Extra compiler options that will unconditionally be used by this function are:\n   * - isolatedModules = true\n   * - allowNonTsExtensions = true\n   * - noLib = true\n   * - noResolve = true\n   */\n  function transpileModule(\n    input: string,\n    transpileOptions2: TranspileOptions,\n    packageJsonType: 'module' | 'commonjs' = 'commonjs'\n  ): TranspileOutput {\n    // if jsx is specified then treat file as .tsx\n    inputFileName =\n      transpileOptions2.fileName ||\n      (transpileOptions.compilerOptions && transpileOptions.compilerOptions.jsx ? 'module.tsx' : 'module.ts');\n    packageJsonFileName = getDirectoryPath(inputFileName) + '/package.json';\n    _packageJsonType = packageJsonType;\n\n    sourceFile = createSourceFile(inputFileName, input, {\n      languageVersion: getEmitScriptTarget(options),\n      impliedNodeFormat: getImpliedNodeFormatForFile(\n        toPath(inputFileName, '', compilerHost.getCanonicalFileName),\n        /*cache*/ undefined,\n        compilerHost,\n        options\n      ),\n      setExternalModuleIndicator: getSetExternalModuleIndicator(options),\n    });\n    if (transpileOptions2.moduleName) {\n      sourceFile.moduleName = transpileOptions2.moduleName;\n    }\n\n    if (transpileOptions2.renamedDependencies) {\n      (sourceFile as any).renamedDependencies = new Map(Object.entries(transpileOptions2.renamedDependencies));\n    }\n\n    // Output\n    outputText = undefined;\n    sourceMapText = undefined;\n\n    const program = createProgram([inputFileName], options, compilerHost);\n\n    const diagnostics = compilerOptionsDiagnostics.slice();\n\n    if (transpileOptions.reportDiagnostics) {\n      addRange(/*to*/ diagnostics, /*from*/ program.getSyntacticDiagnostics(sourceFile));\n      addRange(/*to*/ diagnostics, /*from*/ program.getOptionsDiagnostics());\n    }\n    // Emit\n    program.emit(\n      /*targetSourceFile*/ undefined,\n      /*writeFile*/ undefined,\n      /*cancellationToken*/ undefined,\n      /*emitOnlyDtsFiles*/ undefined,\n      transpileOptions.transformers\n    );\n\n    if (outputText === undefined) return Debug.fail('Output generation failed');\n\n    return { outputText, diagnostics, sourceMapText };\n  }\n}\n"
  },
  {
    "path": "src/tsconfig-schema.ts",
    "content": "import type { TsConfigOptions } from './index';\n\n/*\n * This interface exists solely for generating a JSON schema for tsconfig.json.\n * We do *not* extend the compiler's tsconfig interface.  Instead we handle that\n * on a schema level, via \"allOf\", so we pull in the same schema that VSCode\n * already uses.\n */\n/**\n * tsconfig schema which includes \"ts-node\" options.\n * @allOf [{\"$ref\": \"https://schemastore.azurewebsites.net/schemas/json/tsconfig.json\"}]\n */\nexport interface TsConfigSchema {\n  /**\n   * ts-node options.  See also: https://typestrong.org/ts-node/docs/configuration\n   *\n   * ts-node offers TypeScript execution and REPL for node.js, with source map support.\n   */\n  'ts-node': TsConfigOptions;\n}\n"
  },
  {
    "path": "src/tsconfigs.ts",
    "content": "import type { TSCommon, TSInternal } from './ts-compiler-types';\n\nconst nodeMajor = parseInt(process.versions.node.split('.')[0], 10);\n/**\n * return parsed JSON of the bundled @tsconfig/bases config appropriate for the\n * running version of nodejs\n * @internal\n */\nexport function getDefaultTsconfigJsonForNodeVersion(ts: TSCommon): any {\n  const tsInternal = ts as any as TSInternal;\n  if (nodeMajor >= 20) {\n    const config = require('@tsconfig/node20/tsconfig.json');\n    if (configCompatible(config)) return config;\n  }\n  if (nodeMajor >= 18) {\n    const config = require('@tsconfig/node18/tsconfig.json');\n    if (configCompatible(config)) return config;\n  }\n  if (nodeMajor >= 16) {\n    const config = require('@tsconfig/node16/tsconfig.json');\n    if (configCompatible(config)) return config;\n  }\n  {\n    const config = require('@tsconfig/node14/tsconfig.json');\n    if (configCompatible(config)) return config;\n  }\n  // Old TypeScript compilers may be incompatible with *all* @tsconfig/node* configs,\n  // so fallback to nothing\n  return {};\n\n  // Verify that tsconfig target and lib options are compatible with TypeScript compiler\n  function configCompatible(config: {\n    compilerOptions: {\n      lib: string[];\n      target: string;\n      module: string;\n      moduleResolution: string;\n    };\n  }) {\n    const results = ts.parseJsonConfigFileContent(\n      {\n        compilerOptions: config.compilerOptions,\n        files: ['foo.ts'],\n      },\n      parseConfigHost,\n      ''\n    );\n    return results.errors.length === 0;\n  }\n}\n\nconst parseConfigHost = {\n  useCaseSensitiveFileNames: false,\n  readDirectory(\n    rootDir: string,\n    extensions: readonly string[],\n    excludes: readonly string[] | undefined,\n    includes: readonly string[],\n    depth?: number\n  ) {\n    return [];\n  },\n  fileExists(path: string) {\n    return false;\n  },\n  readFile(path: string) {\n    return '';\n  },\n};\n"
  },
  {
    "path": "src/util.ts",
    "content": "import { dirname } from 'path';\n\n/**\n * @internal\n * Copied from https://unpkg.com/yn@3.1.1/index.js\n * Because people get weird when they see you have dependencies. /jk\n * This is a lazy way to make the dep number go down, we haven't touched this\n * dep in ages, and we didn't use all its features, so we stripped them.\n */\nexport function yn(input: string | undefined) {\n  input = String(input).trim();\n\n  if (/^(?:y|yes|true|1)$/i.test(input)) {\n    return true;\n  }\n\n  if (/^(?:n|no|false|0)$/i.test(input)) {\n    return false;\n  }\n}\n\n/**\n * Like `Object.assign`, but ignores `undefined` properties.\n *\n * @internal\n */\nexport function assign<T extends object>(initialValue: T, ...sources: Array<T>): T {\n  for (const source of sources) {\n    for (const key of Object.keys(source)) {\n      const value = (source as any)[key];\n      if (value !== undefined) (initialValue as any)[key] = value;\n    }\n  }\n  return initialValue;\n}\n\n/**\n * Split a string array of values\n * and remove empty strings from the resulting array.\n * @internal\n */\nexport function split(value: string | undefined) {\n  return typeof value === 'string' ? value.split(/ *, */g).filter((v) => v !== '') : undefined;\n}\n\n/**\n * Parse a string as JSON.\n * @internal\n */\nexport function parse(value: string | undefined): object | undefined {\n  return typeof value === 'string' ? JSON.parse(value) : undefined;\n}\n\nconst directorySeparator = '/';\nconst backslashRegExp = /\\\\/g;\n/**\n * Replace backslashes with forward slashes.\n * @internal\n */\nexport function normalizeSlashes(value: string): string {\n  return value.replace(backslashRegExp, directorySeparator);\n}\n\n/**\n * Safe `hasOwnProperty`\n * @internal\n */\nexport function hasOwnProperty(object: any, property: string): boolean {\n  return Object.prototype.hasOwnProperty.call(object, property);\n}\n\n/**\n * Cached fs operation wrapper.\n */\nexport function cachedLookup<T, R>(fn: (arg: T) => R): (arg: T) => R {\n  const cache = new Map<T, R>();\n\n  return (arg: T): R => {\n    if (!cache.has(arg)) {\n      const v = fn(arg);\n      cache.set(arg, v);\n      return v;\n    }\n    return cache.get(arg)!;\n  };\n}\n\n/**\n * @internal\n * Require something with v8-compile-cache, which should make subsequent requires faster.\n * Do lots of error-handling so that, worst case, we require without the cache, and users are not blocked.\n */\nexport function attemptRequireWithV8CompileCache(requireFn: typeof require, specifier: string) {\n  try {\n    const v8CC = (require('v8-compile-cache-lib') as typeof import('v8-compile-cache-lib')).install();\n    try {\n      return requireFn(specifier);\n    } finally {\n      v8CC?.uninstall();\n    }\n  } catch (e) {\n    return requireFn(specifier);\n  }\n}\n\n/**\n * Helper to discover dependencies relative to a user's project, optionally\n * falling back to relative to ts-node.  This supports global installations of\n * ts-node, for example where someone does `#!/usr/bin/env -S ts-node --swc` and\n * we need to fallback to a global install of @swc/core\n * @internal\n */\nexport function createProjectLocalResolveHelper(localDirectory: string) {\n  return function projectLocalResolveHelper(specifier: string, fallbackToTsNodeRelative: boolean) {\n    return require.resolve(specifier, {\n      paths: fallbackToTsNodeRelative ? [localDirectory, __dirname] : [localDirectory],\n    });\n  };\n}\n/** @internal */\nexport type ProjectLocalResolveHelper = ReturnType<typeof createProjectLocalResolveHelper>;\n\n/**\n * Used as a reminder of all the factors we must consider when finding project-local dependencies and when a config file\n * on disk may or may not exist.\n * @internal\n */\nexport function getBasePathForProjectLocalDependencyResolution(\n  configFilePath: string | undefined,\n  projectSearchDirOption: string | undefined,\n  projectOption: string | undefined,\n  cwdOption: string\n) {\n  if (configFilePath != null) return dirname(configFilePath);\n  return projectSearchDirOption ?? projectOption ?? cwdOption;\n  // TODO technically breaks if projectOption is path to a file, not a directory,\n  // and we attempt to resolve relative specifiers.  By the time we resolve relative specifiers,\n  // should have configFilePath, so not reach this codepath.\n}\n\n/** @internal */\nexport function once<Fn extends (...args: any[]) => any>(fn: Fn) {\n  let value: ReturnType<Fn>;\n  let ran = false;\n  function onceFn(...args: Parameters<Fn>): ReturnType<Fn> {\n    if (ran) return value;\n    value = fn(...args);\n    ran = true;\n    return value;\n  }\n  return onceFn;\n}\n\n/** @internal */\nexport function versionGteLt(version: string, gteRequirement: string, ltRequirement?: string) {\n  const [major, minor, patch, extra] = parse(version);\n  const [gteMajor, gteMinor, gtePatch] = parse(gteRequirement);\n  const isGte =\n    major > gteMajor || (major === gteMajor && (minor > gteMinor || (minor === gteMinor && patch >= gtePatch)));\n  let isLt = true;\n  if (ltRequirement) {\n    const [ltMajor, ltMinor, ltPatch] = parse(ltRequirement);\n    isLt = major < ltMajor || (major === ltMajor && (minor < ltMinor || (minor === ltMinor && patch < ltPatch)));\n  }\n  return isGte && isLt;\n\n  function parse(requirement: string) {\n    return requirement.split(/[\\.-]/).map((s) => parseInt(s, 10));\n  }\n}\n"
  },
  {
    "path": "tests/.gitignore",
    "content": "!from-node-modules/node_modules/\npackage-lock.json\nts-node-packed.tgz\n/tmp\n"
  },
  {
    "path": "tests/.yarnrc.yml",
    "content": "enableGlobalCache: false\nenableMirror: false\n\nnmMode: hardlinks-global\n\nnodeLinker: node-modules\n\nplugins:\n  - path: ../.yarn/plugins/@yarnpkg/plugin-compat.cjs\n    spec: ../.yarn/plugins/@yarnpkg/plugin-compat.cjs\n\nyarnPath: ../.yarn/releases/yarn-3.4.1.cjs\n\nnmHoistingLimits: workspaces\n"
  },
  {
    "path": "tests/1488/index.js",
    "content": "console.log('foo');\n"
  },
  {
    "path": "tests/1488/package.json",
    "content": "{}\n"
  },
  {
    "path": "tests/1488/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"allowJs\": true\n  },\n  \"ts-node\": {\n    \"skipIgnore\": true\n  }\n}\n"
  },
  {
    "path": "tests/1778/index.ts",
    "content": "import foo from 'foo';\n\n// This file is ESM, so if typechecker's resolver is working correctly, will\n// resolve to the foo's package.json \"exports\" mapping for \"default\", not \"require\"\nconst bar: { esm: true } = foo;\nconsole.log(bar);\n"
  },
  {
    "path": "tests/1778/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/1778/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"esm\": true\n  },\n  \"compilerOptions\": {\n    \"module\": \"NodeNext\",\n    \"noEmit\": true\n  }\n}\n"
  },
  {
    "path": "tests/1996/empty.ts",
    "content": "export {};\n"
  },
  {
    "path": "tests/1996/index.ts",
    "content": "import * as empty from './empty';\nempty;\nconsole.log('#1996 regression test.');\n"
  },
  {
    "path": "tests/1996/transpiler.js",
    "content": "// A custom transpiler that returns `undefined` instead of a sourcemap, which is\n// allowed according to our typedefs.\n\nexports.create = function () {\n  return {\n    transpile(input, options) {\n      return {\n        outputText: 'console.log(\"#1996 regression test with custom transpiler.\")',\n        sourceMapText: undefined,\n      };\n    },\n  };\n};\n"
  },
  {
    "path": "tests/1996/tsconfig.custom-transpiler.json",
    "content": "{\n  \"ts-node\": {\n    \"transpileOnly\": true,\n    \"transpiler\": \"./transpiler.js\"\n  }\n}\n"
  },
  {
    "path": "tests/1996/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"swc\": true\n  }\n}\n"
  },
  {
    "path": "tests/2076/tsconfig.json",
    "content": "{\n  \"extends\": \"custom-tsconfig/tsconfig.json\"\n}\n"
  },
  {
    "path": "tests/allow-js/run.js",
    "content": "export function main() {\n  return 'hello world';\n}\n"
  },
  {
    "path": "tests/allow-js/with-jsx.jsx",
    "content": "export class Foo2 {\n  static sayHi() {\n    return 'hello world';\n  }\n\n  render() {\n    return <div />;\n  }\n}\n"
  },
  {
    "path": "tests/child-process.ts",
    "content": "import { join } from 'path';\nimport { fork } from 'child_process';\n\nfork(join(__dirname, 'hello-world.ts'));\n"
  },
  {
    "path": "tests/compiler-error.ts",
    "content": "function upper(str: string) {\n  return str.toUpperCase();\n}\n\nupper(10);\n"
  },
  {
    "path": "tests/complex/example.js",
    "content": "module.exports = require('./foo').text;\n"
  },
  {
    "path": "tests/complex/foo.ts",
    "content": "export const text = 'example';\n"
  },
  {
    "path": "tests/complex/index.ts",
    "content": "declare function require(module: string): any;\n\nexport function example() {\n  return require('./example');\n}\n"
  },
  {
    "path": "tests/custom-types.ts",
    "content": "import { foobar } from 'does-not-exist';\n\nconsole.log(foobar);\n"
  },
  {
    "path": "tests/cwd-and-script-mode/a/index.ts",
    "content": "export {};\n// Type assertion to please TS 2.7\nconst register = process[(Symbol as any).for('ts-node.register.instance')];\nconsole.log(\n  JSON.stringify({\n    options: register.options,\n    config: register.config,\n  })\n);\n"
  },
  {
    "path": "tests/cwd-and-script-mode/a/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"transpileOnly\": true\n  },\n  \"compilerOptions\": {\n    \"plugins\": [\n      {\n        \"name\": \"plugin-a\"\n      }\n    ]\n  }\n}\n"
  },
  {
    "path": "tests/cwd-and-script-mode/b/index.ts",
    "content": "export {};\n// Type assertion to please TS 2.7\nconst register = process[(Symbol as any).for('ts-node.register.instance')];\nconsole.log(\n  JSON.stringify({\n    options: register.options,\n    config: register.config,\n  })\n);\n"
  },
  {
    "path": "tests/cwd-and-script-mode/b/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"transpileOnly\": true\n  },\n  \"compilerOptions\": {\n    \"plugins\": [\n      {\n        \"name\": \"plugin-b\"\n      }\n    ]\n  }\n}\n"
  },
  {
    "path": "tests/emit-compiled.ts",
    "content": "const extensions = ['.tsx'];\n\nextensions.forEach((ext) => {\n  const old = require.extensions[ext];\n\n  require.extensions[ext] = (m, path) => {\n    const _compile = (m as any)._compile;\n\n    (m as any)._compile = (code, path) => {\n      console.error(code);\n      return _compile.call(this, code, path);\n    };\n\n    return old(m, path);\n  };\n});\n"
  },
  {
    "path": "tests/emit-skipped-fallback/outside-rootDir/foo.js",
    "content": "// This file causes TS to return emitSkipped because it's outside of rootDir and\n// it's .js.  I assume this happens because the emit path is the same as the\n// input path, and perhaps also because the file is classified \"external\"\n\nconst decorator = () => {};\n\nclass Foo {\n  // Using a decorator to prove this .js file is getting compiled\n  @decorator\n  method() {\n    return 'foo';\n  }\n}\n\nconsole.log(new Foo().method());\n"
  },
  {
    "path": "tests/emit-skipped-fallback/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"allowJs\": true,\n    \"experimentalDecorators\": true,\n    \"rootDir\": \"rootDir\"\n  }\n}\n"
  },
  {
    "path": "tests/empty.ts",
    "content": ""
  },
  {
    "path": "tests/env.ts",
    "content": "console.log(typeof (process as any)[Symbol.for('ts-node.register.instance')]);\n"
  },
  {
    "path": "tests/esm/bar.ts",
    "content": "export const bar: string = 'bar';\n\nif (typeof module !== 'undefined') throw new Error('module should not exist in ESM');\n"
  },
  {
    "path": "tests/esm/baz.js",
    "content": "export const baz = 'baz';\n\nif (typeof module !== 'undefined') throw new Error('module should not exist in ESM');\n"
  },
  {
    "path": "tests/esm/biff.jsx",
    "content": "export const biff = 'biff';\n\nconst React = {\n  createElement() {},\n};\nconst div = <div></div>;\n\nif (typeof module !== 'undefined') throw new Error('module should not exist in ESM');\n"
  },
  {
    "path": "tests/esm/foo.ts",
    "content": "export const foo: string = 'foo';\n\nif (typeof module !== 'undefined') throw new Error('module should not exist in ESM');\n"
  },
  {
    "path": "tests/esm/index.ts",
    "content": "import { foo } from './foo.js';\nimport { bar } from './bar.js';\nimport { baz } from './baz.js';\nimport { biff } from './biff.js';\nimport { libfoo } from 'libfoo';\n\n// Test import builtin modules\nimport { readFileSync } from 'fs';\nif (typeof readFileSync !== 'function') throw new Error('failed to import builtin module');\n\nif (typeof module !== 'undefined') throw new Error('module should not exist in ESM');\n\nconsole.log(`${foo} ${bar} ${baz} ${biff} ${libfoo}`);\n"
  },
  {
    "path": "tests/esm/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/esm/throw error.ts",
    "content": "// intentional whitespace to prove that sourcemaps are working.  Throw should happen on line 100.\n// 100 lines is meant to be far more space than the helper functions would take.\n\n// Space in filename is intentional to ensure we handle this correctly when providing sourcemaps\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass Foo {\n  constructor() {\n    this.bar();\n  }\n  bar() { throw new Error('this is a demo'); }\n}\nnew Foo();\nexport {};\n"
  },
  {
    "path": "tests/esm/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\",\n    \"allowJs\": true,\n    \"jsx\": \"react\",\n    \"moduleResolution\": \"node\"\n  }\n}\n"
  },
  {
    "path": "tests/esm-child-process/process-forking-js/index.ts",
    "content": "import { fork } from 'child_process';\nimport { dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\n// Initially set the exit code to non-zero. We only set it to `0` when the\n// worker process finishes properly with the expected stdout message.\nprocess.exitCode = 1;\n\nprocess.chdir(dirname(fileURLToPath(import.meta.url)));\n\nconst workerProcess = fork('./worker.js', [], {\n  stdio: 'pipe',\n});\n\nlet stdout = '';\n\nworkerProcess.stdout.on('data', (chunk) => (stdout += chunk.toString('utf8')));\nworkerProcess.on('error', () => (process.exitCode = 1));\nworkerProcess.on('close', (status, signal) => {\n  if (status === 0 && signal === null && stdout.trim() === 'Works') {\n    console.log('Passing: from main');\n    process.exitCode = 0;\n  }\n});\n"
  },
  {
    "path": "tests/esm-child-process/process-forking-js/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/esm-child-process/process-forking-js/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\"\n  },\n  \"ts-node\": {\n    \"swc\": true\n  }\n}\n"
  },
  {
    "path": "tests/esm-child-process/process-forking-js/worker.js",
    "content": "console.log('Works');\n"
  },
  {
    "path": "tests/esm-child-process/process-forking-ts/index.ts",
    "content": "import { fork } from 'child_process';\nimport { dirname, join } from 'path';\nimport { fileURLToPath } from 'url';\n\n// Initially set the exit code to non-zero. We only set it to `0` when the\n// worker process finishes properly with the expected stdout message.\nprocess.exitCode = 1;\n\nprocess.chdir(join(dirname(fileURLToPath(import.meta.url)), 'subfolder'));\n\nconst workerProcess = fork('./worker.ts', [], {\n  stdio: 'pipe',\n});\n\nlet stdout = '';\n\nworkerProcess.stdout.on('data', (chunk) => (stdout += chunk.toString('utf8')));\nworkerProcess.on('error', () => (process.exitCode = 1));\nworkerProcess.on('close', (status, signal) => {\n  if (status === 0 && signal === null && stdout.trim() === 'Works') {\n    console.log('Passing: from main');\n    process.exitCode = 0;\n  }\n});\n"
  },
  {
    "path": "tests/esm-child-process/process-forking-ts/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/esm-child-process/process-forking-ts/subfolder/worker.ts",
    "content": "const message: string = 'Works';\n\nconsole.log(message);\n"
  },
  {
    "path": "tests/esm-child-process/process-forking-ts/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\"\n  },\n  \"ts-node\": {\n    \"swc\": true\n  }\n}\n"
  },
  {
    "path": "tests/esm-child-process/process-forking-ts-abs/index.ts",
    "content": "import { fork } from 'child_process';\nimport { dirname, join } from 'path';\nimport { fileURLToPath } from 'url';\n\n// Initially set the exit code to non-zero. We only set it to `0` when the\n// worker process finishes properly with the expected stdout message.\nprocess.exitCode = 1;\n\nconst workerProcess = fork(join(dirname(fileURLToPath(import.meta.url)), 'subfolder/worker.ts'), [], {\n  stdio: 'pipe',\n});\n\nlet stdout = '';\n\nworkerProcess.stdout.on('data', (chunk) => (stdout += chunk.toString('utf8')));\nworkerProcess.on('error', () => (process.exitCode = 1));\nworkerProcess.on('close', (status, signal) => {\n  if (status === 0 && signal === null && stdout.trim() === 'Works') {\n    console.log('Passing: from main');\n    process.exitCode = 0;\n  }\n});\n"
  },
  {
    "path": "tests/esm-child-process/process-forking-ts-abs/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/esm-child-process/process-forking-ts-abs/subfolder/worker.ts",
    "content": "const message: string = 'Works';\n\nconsole.log(message);\n"
  },
  {
    "path": "tests/esm-child-process/process-forking-ts-abs/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\"\n  },\n  \"ts-node\": {\n    \"swc\": true\n  }\n}\n"
  },
  {
    "path": "tests/esm-child-process/via-flag/index.ts",
    "content": "import { strictEqual } from 'assert';\nstrictEqual(import.meta.url.includes('index.ts'), true);\nconsole.log(`CLI args: ${process.argv.slice(2).join(' ')}`);\n"
  },
  {
    "path": "tests/esm-child-process/via-flag/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/esm-child-process/via-flag/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\",\n    \"esModuleInterop\": true\n  },\n  \"ts-node\": {\n    \"swc\": true\n  }\n}\n"
  },
  {
    "path": "tests/esm-child-process/via-tsconfig/index.ts",
    "content": "import { strictEqual } from 'assert';\nstrictEqual(import.meta.url.includes('index.ts'), true);\nconsole.log(`CLI args: ${process.argv.slice(2).join(' ')}`);\n"
  },
  {
    "path": "tests/esm-child-process/via-tsconfig/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/esm-child-process/via-tsconfig/sleep.ts",
    "content": "setTimeout(function () {\n  console.log('Slept 30 seconds');\n  process.exit(456);\n}, 30e3);\nprocess.on('SIGTERM', onSignal);\nprocess.on('SIGINT', onSignal);\nconsole.log('child registered signal handlers');\nfunction onSignal(signal: string) {\n  console.log(`child received signal: ${signal}`);\n  setTimeout(() => {\n    console.log(`child exiting`);\n    process.exit(123);\n  }, 1e3);\n}\n"
  },
  {
    "path": "tests/esm-child-process/via-tsconfig/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\",\n    \"esModuleInterop\": true\n  },\n  \"ts-node\": {\n    \"esm\": true,\n    \"swc\": true\n  }\n}\n"
  },
  {
    "path": "tests/esm-custom-loader/index.ts",
    "content": "export function abc() {\n  let unusedVar: string;\n  return true;\n}\n"
  },
  {
    "path": "tests/esm-custom-loader/loader.mjs",
    "content": "import { fileURLToPath } from 'url';\nimport { createRequire } from 'module';\nconst require = createRequire(fileURLToPath(import.meta.url));\n\n/** @type {import('../../dist')} **/\nconst { createEsmHooks, register } = require('ts-node');\n\nconst tsNodeInstance = register({\n  compilerOptions: {\n    noUnusedLocals: true,\n  },\n});\n\nexport const { resolve, getFormat, transformSource, load } = createEsmHooks(tsNodeInstance);\n"
  },
  {
    "path": "tests/esm-custom-loader/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/esm-custom-loader/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\",\n    \"moduleResolution\": \"node\",\n    \"noUnusedLocals\": false\n  }\n}\n"
  },
  {
    "path": "tests/esm-err-require-esm/esm-package/loaded-as.ts",
    "content": "// Log if this file is loaded as ESM or CommonJS\nif (typeof module !== 'undefined') console.log('CommonJS');\nelse console.log('ESM');\n"
  },
  {
    "path": "tests/esm-err-require-esm/esm-package/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/esm-err-require-esm/index.js",
    "content": "require('./esm-package/loaded-as');\n"
  },
  {
    "path": "tests/esm-import-assertions/car.json",
    "content": "{\n  \"color\": \"fuchsia\",\n  \"doors\": \"open\",\n  \"seats\": 2\n}\n"
  },
  {
    "path": "tests/esm-import-assertions/importJson.ts",
    "content": "import carData from './car.json' assert { type: 'json' };\n\nif (carData.color !== 'fuchsia') throw new Error('failed to import json');\n\nconst { default: dynamicCarData } = await import('./car.json', {\n  assert: { type: 'json' },\n});\n\nif (dynamicCarData.doors !== 'open') throw new Error('failed to dynamically import json');\n\nconsole.log(`A ${carData.color} car has ${carData.seats} seats and the doors are ${dynamicCarData.doors}.`);\n\n// Test that omitting the assertion causes node to throw an error\nawait import('./car.json').then(\n  () => {\n    throw new Error('should have thrown');\n  },\n  (error: any) => {\n    if (error.code !== 'ERR_IMPORT_ASSERTION_TYPE_MISSING') {\n      throw error;\n    }\n    /* error is expected */\n  }\n);\nconsole.log('Done!');\n"
  },
  {
    "path": "tests/esm-import-assertions/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/esm-import-assertions/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"transpileOnly\": true\n  },\n  \"compilerOptions\": {\n    \"module\": \"ESNext\",\n    \"target\": \"ESNext\",\n    \"resolveJsonModule\": true,\n    \"allowJs\": true,\n    \"moduleResolution\": \"node\",\n    \"allowSyntheticDefaultImports\": true\n  }\n}\n"
  },
  {
    "path": "tests/esm-import-cache/index.ts",
    "content": "import './log1.js';\nimport './log1.js';\nimport './log2.js';\nimport './log2.js?bust';\n"
  },
  {
    "path": "tests/esm-import-cache/log1.ts",
    "content": "console.log('log1');\n"
  },
  {
    "path": "tests/esm-import-cache/log2.ts",
    "content": "console.log('log2');\n"
  },
  {
    "path": "tests/esm-import-cache/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/esm-import-cache/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\",\n    \"allowJs\": true,\n    \"moduleResolution\": \"node\"\n  }\n}\n"
  },
  {
    "path": "tests/esm-import-http-url/index.mjs",
    "content": "import 'http://example.com/this-url-should-be-ignored-by-our-esm-loader.js';\n"
  },
  {
    "path": "tests/esm-loader-context/index.mjs",
    "content": "import * as moduleA from './moduleA.mjs';\nimport * as moduleB from './moduleB.mjs' assert { foo: 'bar' };\nimport * as jsonModule from './jsonModuleA.json' assert { type: 'json' };\n\nawait import('./moduleC.mjs');\nawait import('./moduleD.mjs', { foo: 'bar' });\nawait import('./jsonModuleB.json', { assert: { type: 'json' } });\n"
  },
  {
    "path": "tests/esm-loader-context/jsonModuleA.json",
    "content": "{}\n"
  },
  {
    "path": "tests/esm-loader-context/jsonModuleB.json",
    "content": "{}\n"
  },
  {
    "path": "tests/esm-loader-context/loader.mjs",
    "content": "export function resolve(specifier, context, defaultResolve) {\n  console.log(JSON.stringify({ resolveContextKeys: Object.keys(context) }));\n  return defaultResolve(specifier, context);\n}\nexport function load(url, context, defaultLoad) {\n  console.log(JSON.stringify({ loadContextKeys: Object.keys(context) }));\n  return defaultLoad(url, context);\n}\n"
  },
  {
    "path": "tests/esm-loader-context/moduleA.mjs",
    "content": ""
  },
  {
    "path": "tests/esm-loader-context/moduleB.mjs",
    "content": ""
  },
  {
    "path": "tests/esm-loader-context/moduleC.mjs",
    "content": ""
  },
  {
    "path": "tests/esm-loader-context/moduleD.mjs",
    "content": ""
  },
  {
    "path": "tests/esm-loader-entrypoint-cjs-fallback/extensionless-entrypoint",
    "content": "console.log('Hello world!');\n"
  },
  {
    "path": "tests/esm-loader-entrypoint-cjs-fallback/relies-upon-cjs-resolution/index.js",
    "content": "console.log('Hello world!');\n"
  },
  {
    "path": "tests/esm-node-resolver/bar/index.ts",
    "content": "export const bar: string = 'bar';\n\nif (typeof module !== 'undefined') throw new Error('module should not exist in ESM');\n"
  },
  {
    "path": "tests/esm-node-resolver/baz.js",
    "content": "export const baz = 'baz';\n\nif (typeof module !== 'undefined') throw new Error('module should not exist in ESM');\n"
  },
  {
    "path": "tests/esm-node-resolver/biff.jsx",
    "content": "export const biff = 'biff';\n\nconst React = {\n  createElement() {},\n};\nconst div = <div></div>;\n\nif (typeof module !== 'undefined') throw new Error('module should not exist in ESM');\n"
  },
  {
    "path": "tests/esm-node-resolver/foo.ts",
    "content": "export const foo: string = 'foo';\n\nif (typeof module !== 'undefined') throw new Error('module should not exist in ESM');\n"
  },
  {
    "path": "tests/esm-node-resolver/index.ts",
    "content": "import { foo } from './foo';\nimport { bar } from './bar';\nimport { baz } from './baz';\nimport { biff } from './biff';\nimport { libfoo } from 'libfoo';\n\n// Test import builtin modules\nimport { readFileSync } from 'fs';\nif (typeof readFileSync !== 'function') throw new Error('failed to import builtin module');\n\nif (typeof module !== 'undefined') throw new Error('module should not exist in ESM');\n\nconsole.log(`${foo} ${bar} ${baz} ${biff} ${libfoo}`);\n"
  },
  {
    "path": "tests/esm-node-resolver/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/esm-node-resolver/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\",\n    \"allowJs\": true,\n    \"jsx\": \"react\",\n    \"moduleResolution\": \"node\"\n  }\n}\n"
  },
  {
    "path": "tests/esm-transpile-only/index.ts",
    "content": "if (typeof module !== 'undefined') throw new Error('module should not exist in ESM');\n\n// intentional type errors to check transpile-only ESM loader skips type checking\nparseInt(1101, 2);\nconst x: number = 'hello world';\n"
  },
  {
    "path": "tests/esm-transpile-only/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/esm-transpile-only/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\",\n    \"allowJs\": true,\n    \"jsx\": \"react\"\n  }\n}\n"
  },
  {
    "path": "tests/from-node-modules/from-node-modules.ts",
    "content": "// These files are resolved by the typechecker\nimport * as tsmie from 'external/typescript-module-imported-externally';\nimport * as jsmie from 'external/javascript-module-imported-externally';\n// These files are unknown to the compiler until required.\nconst tsmre = require('external/typescript-module-required-externally');\nconst jsmre = require('external/javascript-module-required-externally');\n\nimport * as external from 'external';\n\nconsole.log(JSON.stringify({ external, tsmie, jsmie, tsmre, jsmre }, null, 2));\n"
  },
  {
    "path": "tests/from-node-modules/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"ignore\": []\n  },\n  \"compilerOptions\": {\n    \"allowJs\": true\n  }\n}\n"
  },
  {
    "path": "tests/hello-world.ts",
    "content": "console.log('Hello, world!');\n"
  },
  {
    "path": "tests/import-order/compiled.js",
    "content": "console.log('Hello, JavaScript!');\n"
  },
  {
    "path": "tests/import-order/compiled.ts",
    "content": "console.log('Hello, TypeScript!');\n"
  },
  {
    "path": "tests/import-order/defined.d.ts",
    "content": "declare const v = 'Hello, World!';\n\nexport default v;\n"
  },
  {
    "path": "tests/import-order/defined.js",
    "content": "module.exports = 'Hello, World!';\n"
  },
  {
    "path": "tests/import-order/importer.ts",
    "content": "const v = require('./defined');\n\nconsole.log(v);\n"
  },
  {
    "path": "tests/issue-884/index-2.ts",
    "content": "export {};\n\nconst timeout = setTimeout(() => {}, 0);\n\nif (timeout.unref) {\n  timeout.unref();\n}\n"
  },
  {
    "path": "tests/issue-884/index.ts",
    "content": "// 2x index files required so that memory cache is populated with all build-in lib and @types\n// declarations *before* this require() call.\nrequire('./index-2');\n"
  },
  {
    "path": "tests/issue-884/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"umd\",\n    \"target\": \"esnext\",\n    \"sourceMap\": true,\n    \"forceConsistentCasingInFileNames\": true,\n    \"noImplicitReturns\": true,\n    \"noImplicitAny\": true,\n    \"skipLibCheck\": true,\n    \"moduleResolution\": \"node\",\n    \"allowSyntheticDefaultImports\": false,\n    \"declaration\": true,\n    \"strict\": true,\n    \"noUnusedParameters\": true,\n    \"noUnusedLocals\": true,\n    \"lib\": [\"es2015\", \"es2017.object\", \"dom\"]\n  }\n}\n"
  },
  {
    "path": "tests/issue-986/index.ts",
    "content": "console.log(TEST);\n"
  },
  {
    "path": "tests/issue-986/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"CommonJS\"\n  }\n}\n"
  },
  {
    "path": "tests/issue-986/types.ts",
    "content": "declare const TEST: string;\n"
  },
  {
    "path": "tests/jsx-react.tsx",
    "content": "import * as React from 'react';\n\nconst Component = (props) => {\n  return <div />;\n};\n\nexport default Component;\n"
  },
  {
    "path": "tests/legacy-source-map-support-interop/index.ts",
    "content": "import { Logger } from 'tslog';\nnew Logger().info('hi');\nconsole.log(require.resolve('source-map-support') === require.resolve('@cspotcode/source-map-support'));\nconsole.log(require.resolve('source-map-support/register') === require.resolve('@cspotcode/source-map-support/register'));\n/*\ntslog uses `require('source-map-support').wrapCallSite` directly.\nWithout redirection to @cspotcode/source-map-support it does not have access to the sourcemap information we provide.\n*/\ninterface Foo {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n}\nconsole.log(new Error().stack!.split('\\n')[1]);\nnew Logger().info('hi');\n"
  },
  {
    "path": "tests/main-realpath/symlink/tsconfig.json",
    "content": "this tsconfig is intentionally invalid, to confirm that ts-node does *not* attempt to parse it\n"
  },
  {
    "path": "tests/main-realpath/target/target.tsx",
    "content": "// Will throw a compiler error unless ./tsconfig.json is parsed, which enables JSX\nfunction foo() {\n  <div></div>;\n}\n"
  },
  {
    "path": "tests/main-realpath/target/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"transpileOnly\": true\n  },\n  \"compilerOptions\": {\n    \"jsx\": \"react\"\n  }\n}\n"
  },
  {
    "path": "tests/maxnodemodulesjsdepth/index.ts",
    "content": "import { foo, bar } from 'external';\nimport './other';\n"
  },
  {
    "path": "tests/maxnodemodulesjsdepth/other.ts",
    "content": "import { foo, bar } from 'external';\n\n// `foo` has type information so this is an error\nconst shouldBeBoolean: boolean = foo;\n\n// `bar` is missing type information, so this is not an error\nconst shouldBeBoolean2: boolean = bar;\n"
  },
  {
    "path": "tests/maxnodemodulesjsdepth/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"allowJs\": true,\n    \"maxNodeModuleJsDepth\": 1,\n    \"moduleResolution\": \"node\"\n  }\n}\n"
  },
  {
    "path": "tests/maxnodemodulesjsdepth-scoped/index.ts",
    "content": "// Import as values, forcing internal classification.  All files are typechecked\nimport { foo as a_foo, bar as a_bar } from '@scoped/a';\n// Values are not used, so classification remains external.  Obeys maxNodeModulesJsDepth\nimport { foo as b_foo, bar as b_bar } from '@scoped/b';\n\n// We must have two .ts files, one without type errors.\n// Otherwise, type errors would prevent imports from executing, so external modules would not be reclassified as internal.\na_foo;\n\nimport './other';\n"
  },
  {
    "path": "tests/maxnodemodulesjsdepth-scoped/other.ts",
    "content": "// Import as values, forcing internal classification.  All files are typechecked\nimport { foo as a_foo, bar as a_bar } from '@scoped/a';\n// Values are not used, so classification remains external.  Obeys maxNodeModulesJsDepth\nimport { foo as b_foo, bar as b_bar } from '@scoped/b';\n\n// `a_bar` has type information because it has been reclassified as internal\nconst shouldBeBoolean2: boolean = a_bar;\n\n// `b_bar` is missing type information, so this is not an error\nconst shouldBeBoolean4: boolean = null as typeof b_bar;\n"
  },
  {
    "path": "tests/maxnodemodulesjsdepth-scoped/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    // Force transpilation of node_modules\n    \"skipIgnore\": true\n  },\n  \"compilerOptions\": {\n    \"allowJs\": true,\n    \"maxNodeModuleJsDepth\": 1,\n    \"moduleResolution\": \"node\"\n  }\n}\n"
  },
  {
    "path": "tests/module-types/override-to-cjs/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/module-types/override-to-cjs/src/cjs-subdir/esm-exception.ts",
    "content": "declare const require: any;\nexport const requireType = typeof require;\n"
  },
  {
    "path": "tests/module-types/override-to-cjs/src/cjs-subdir/index.ts",
    "content": "declare const require: any;\nexport const requireType = typeof require;\n"
  },
  {
    "path": "tests/module-types/override-to-cjs/src/should-be-esm.ts",
    "content": "export const a: string = 'b';\ndeclare const require: any;\nexport const requireType = typeof require;\n"
  },
  {
    "path": "tests/module-types/override-to-cjs/test-webpack-config.cjs",
    "content": "const assert = require('assert');\n\nassert(require('./webpack.config').hello === 'world');\n"
  },
  {
    "path": "tests/module-types/override-to-cjs/test.cjs",
    "content": "const assert = require('assert');\n\nconst wpc = require('./webpack.config.ts');\nassert(wpc.hello === 'world');\n\nlet failures = 0;\n\ntry {\n  require('./src/should-be-esm.ts');\n  failures++;\n} catch (e) {\n  // good\n}\n\nconst cjsSubdir = require('./src/cjs-subdir');\nassert(cjsSubdir.requireType === 'function');\n\ntry {\n  require('./src/cjs-subdir/esm-exception.ts');\n  failures++;\n} catch (e) {\n  // good\n}\n\nconsole.log(`Failures: ${failures}`);\n"
  },
  {
    "path": "tests/module-types/override-to-cjs/test.mjs",
    "content": "import assert from 'assert';\n\nimport webpackConfig from './webpack.config.ts';\nimport * as shouldBeEsm from './src/should-be-esm.ts';\nimport subdirCjs from './src/cjs-subdir/index.ts';\nimport * as subdirEsm from './src/cjs-subdir/esm-exception.ts';\n\nassert(webpackConfig.hello === 'world');\nassert(shouldBeEsm.requireType === 'undefined');\nassert(subdirCjs.requireType === 'function');\nassert(subdirEsm.requireType === 'undefined');\n\nconsole.log(`Failures: 0`);\n"
  },
  {
    "path": "tests/module-types/override-to-cjs/tsconfig-swc.json",
    "content": "{\n  \"extends\": \"./tsconfig.json\",\n  \"ts-node\": {\n    \"swc\": true\n  }\n}\n"
  },
  {
    "path": "tests/module-types/override-to-cjs/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"moduleTypes\": {\n      \"webpack.config.ts\": \"cjs\",\n      // Test that subsequent patterns override earlier ones\n      \"src/cjs-subdir/**/*\": \"esm\",\n      \"src/cjs-subdir\": \"cjs\",\n      \"src/cjs-subdir/esm-exception.ts\": \"esm\"\n    }\n  },\n  \"compilerOptions\": {\n    \"module\": \"ES2015\"\n  }\n}\n"
  },
  {
    "path": "tests/module-types/override-to-cjs/webpack.config.ts",
    "content": "export const hello: string = 'world';\n"
  },
  {
    "path": "tests/module-types/override-to-esm/package.json",
    "content": "{}\n"
  },
  {
    "path": "tests/module-types/override-to-esm/src/esm-subdir/cjs-exception.ts",
    "content": "declare const require: any;\nexport const requireType = typeof require;\n"
  },
  {
    "path": "tests/module-types/override-to-esm/src/esm-subdir/index.ts",
    "content": "declare const require: any;\nexport const requireType = typeof require;\n"
  },
  {
    "path": "tests/module-types/override-to-esm/src/should-be-cjs.ts",
    "content": "export const a: string = 'b';\ndeclare const require: any;\nexport const requireType = typeof require;\n"
  },
  {
    "path": "tests/module-types/override-to-esm/test.cjs",
    "content": "const assert = require('assert');\n\nlet failures = 0;\n\nconst shouldBeCjs = require('./src/should-be-cjs.ts');\nassert(shouldBeCjs.requireType === 'function');\n\ntry {\n  require('./src/esm-subdir');\n  failures++;\n} catch (e) {\n  // good\n}\n\nconst cjsException = require('./src/esm-subdir/cjs-exception.ts');\nassert(cjsException.requireType === 'function');\n\nconsole.log(`Failures: ${failures}`);\n"
  },
  {
    "path": "tests/module-types/override-to-esm/test.mjs",
    "content": "import assert from 'assert';\n\nimport shouldBeCjs from './src/should-be-cjs.ts';\nimport * as subdirEsm from './src/esm-subdir/index.ts';\nimport subdirCjs from './src/esm-subdir/cjs-exception.ts';\n\nassert(shouldBeCjs.requireType === 'function');\nassert(subdirEsm.requireType === 'undefined');\nassert(subdirCjs.requireType === 'function');\n\nconsole.log(`Failures: 0`);\n"
  },
  {
    "path": "tests/module-types/override-to-esm/tsconfig-swc.json",
    "content": "{\n  \"extends\": \"./tsconfig.json\",\n  \"ts-node\": {\n    \"swc\": true\n  }\n}\n"
  },
  {
    "path": "tests/module-types/override-to-esm/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"moduleTypes\": {\n      // Test that subsequent patterns override earlier ones\n      \"src/esm-subdir/**/*\": \"cjs\",\n      \"src/esm-subdir\": \"esm\",\n      \"src/esm-subdir/cjs-exception.ts\": \"cjs\"\n    }\n  },\n  \"compilerOptions\": {\n    \"module\": \"CommonJS\"\n  }\n}\n"
  },
  {
    "path": "tests/module.ts",
    "content": "export function example(foo: string) {\n  return foo.toUpperCase();\n}\n"
  },
  {
    "path": "tests/package.json",
    "content": "{\n  \"dependencies\": {\n    \"@swc/core\": \"latest\",\n    \"ts-node\": \"file:ts-node-packed.tgz\",\n    \"tslog\": \"3.2.2\"\n  },\n  \"volta\": {\n    \"extends\": \"../package.json\"\n  }\n}\n"
  },
  {
    "path": "tests/pluggable-dep-resolution/tsconfig-custom-compiler.json",
    "content": "{ \"ts-node\": { \"transpileOnly\": true, \"compiler\": \"custom-compiler\" } }\n"
  },
  {
    "path": "tests/pluggable-dep-resolution/tsconfig-custom-transpiler.json",
    "content": "{ \"ts-node\": { \"transpileOnly\": true, \"transpiler\": \"custom-transpiler\" } }\n"
  },
  {
    "path": "tests/pluggable-dep-resolution/tsconfig-extend-custom-compiler.json",
    "content": "{ \"extends\": \"shared-config/tsconfig-custom-compiler.json\" }\n"
  },
  {
    "path": "tests/pluggable-dep-resolution/tsconfig-extend-custom-transpiler.json",
    "content": "{ \"extends\": \"shared-config/tsconfig-custom-transpiler.json\" }\n"
  },
  {
    "path": "tests/pluggable-dep-resolution/tsconfig-extend-swc-core.json",
    "content": "{ \"extends\": \"shared-config/tsconfig-swc-core.json\" }\n"
  },
  {
    "path": "tests/pluggable-dep-resolution/tsconfig-extend-swc-custom-backend.json",
    "content": "{ \"extends\": \"shared-config/tsconfig-swc-custom-backend.json\" }\n"
  },
  {
    "path": "tests/pluggable-dep-resolution/tsconfig-extend-swc-wasm.json",
    "content": "{ \"extends\": \"shared-config/tsconfig-swc-wasm.json\" }\n"
  },
  {
    "path": "tests/pluggable-dep-resolution/tsconfig-extend-swc.json",
    "content": "{ \"extends\": \"shared-config/tsconfig-swc.json\" }\n"
  },
  {
    "path": "tests/pluggable-dep-resolution/tsconfig-swc-core.json",
    "content": "{\n  \"ts-node\": {\n    \"transpileOnly\": true,\n    \"transpiler\": [\"ts-node/transpilers/swc\", { \"swc\": \"@swc/core\" }]\n  }\n}\n"
  },
  {
    "path": "tests/pluggable-dep-resolution/tsconfig-swc-custom-backend.json",
    "content": "{\n  \"ts-node\": {\n    \"transpileOnly\": true,\n    \"transpiler\": [\"ts-node/transpilers/swc\", { \"swc\": \"custom-swc\" }]\n  }\n}\n"
  },
  {
    "path": "tests/pluggable-dep-resolution/tsconfig-swc-wasm.json",
    "content": "{\n  \"ts-node\": {\n    \"transpileOnly\": true,\n    \"transpiler\": [\"ts-node/transpilers/swc\", { \"swc\": \"@swc/wasm\" }]\n  }\n}\n"
  },
  {
    "path": "tests/pluggable-dep-resolution/tsconfig-swc.json",
    "content": "{ \"ts-node\": { \"swc\": true } }\n"
  },
  {
    "path": "tests/recursive-fork/index.ts",
    "content": "import { fork } from 'child_process';\n\n// Type syntax to prove its compiled, though the import above should also\n// prove the same\nconst a = null as any;\n\nconsole.log(JSON.stringify({ execArgv: process.execArgv, argv: process.argv }));\nif (process.env.generation !== 'grandchild') {\n  const nextGeneration = process.env.generation === 'child' ? 'grandchild' : 'child';\n  fork(__filename, process.argv.slice(2), {\n    env: { ...process.env, generation: nextGeneration },\n    stdio: 'inherit',\n  });\n}\n"
  },
  {
    "path": "tests/recursive-fork/package.json",
    "content": "{}\n"
  },
  {
    "path": "tests/recursive-fork/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"moduleResolution\": \"node\"\n  }\n}\n"
  },
  {
    "path": "tests/repl/script.js",
    "content": "console.log(\n  JSON.stringify({\n    stdinReport: typeof stdinReport !== 'undefined' && stdinReport,\n    evalReport: typeof evalReport !== 'undefined' && evalReport,\n    replReport: typeof replReport !== 'undefined' && replReport,\n  })\n);\n"
  },
  {
    "path": "tests/repl/tla-import.ts",
    "content": "export const foo: string = 1;\n"
  },
  {
    "path": "tests/repl-ignored-diagnostics/index.ts",
    "content": "// This script triggers a diagnostic that is ignored in the virtual <REPL> file but\n// *not* in files such as this one.\n// When this file is required by the REPL, the diagnostic *should* be logged.\nexport {};\nfunction foo() {}\nfunction foo() {}\n"
  },
  {
    "path": "tests/repl-in-esm-package/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/repl-in-esm-package/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"nodenext\"\n  }\n}\n"
  },
  {
    "path": "tests/require-cache.ts",
    "content": "const moduleName = require.resolve('./module');\n\nconst { example: example1 } = require(moduleName);\ndelete require.cache[moduleName];\nconst { example: example2 } = require(moduleName);\n\nexport { example1, example2 };\n"
  },
  {
    "path": "tests/resolver/README.md",
    "content": "TODO must require explicit rootDir; do not allow to be inferred.\nTODO resolve JSON if resolveJsonModules??\n\nTest a bunch of permutations of:\n\nconfig permutations:\n\n- allowJs\n- not allowJs\n\n- preferSrc\n- not preferSrc\n\nimport permutations:\n\n- Relative import of file\n- Relative import of index\n- rootless library import of main\n- rootless library import of index\n- rootless library import of exports sub-path\n- rootless self-import of main\n- rootless self-import of index\n- rootless self-import of exports sub-path\n\n  - Require with extension\n  - Require without extension\n\n  - Require from dist to dist\n  - Require from dist to src\n  - Require from src to dist\n  - Require from src to src\n\nlib permutations:\n\n- module exists in both src and dist (precompilation ran)\n- module exists in only dist (came from elsewhere)\n- module exists only in src (did not precompile)\n\n- .ts / .js extension\n- .tsx / .js extension\n- .cts / .cjs extension\n- .mts / .mjs extension\n- .js / .js extension\n- .jsx / .js extension\n- .cjs / .cjs extension\n- .mjs / .mjs extension\n"
  },
  {
    "path": "tests/resolver/package.json",
    "content": "{}\n"
  },
  {
    "path": "tests/resolver/test.sh",
    "content": "#!/usr/bin/env bash\nset -euo pipefail\n\ncd project-preferSrc-typeModule\n"
  },
  {
    "path": "tests/scope/a/index.ts",
    "content": "import path from 'path';\n\nexport const ext = path.extname(__filename);\n"
  },
  {
    "path": "tests/scope/a/log.ts",
    "content": "import { ext } from './index';\n\nconsole.log(ext);\n"
  },
  {
    "path": "tests/scope/a/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"esModuleInterop\": true\n  }\n}\n"
  },
  {
    "path": "tests/scope/b/index.ts",
    "content": "import path from 'path';\n\nexport const ext = path.extname(__filename);\n"
  },
  {
    "path": "tests/scope/b/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"esModuleInterop\": true\n  }\n}\n"
  },
  {
    "path": "tests/scope/c/config/index.ts",
    "content": "export const a: string = 'value';\n"
  },
  {
    "path": "tests/scope/c/config/scopedir/index.ts",
    "content": "export const a: string = 'value';\n"
  },
  {
    "path": "tests/scope/c/config/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"scope\": true,\n    \"scopeDir\": \"./scopedir\"\n  }\n}\n"
  },
  {
    "path": "tests/scope/c/index.js",
    "content": "let failures = 0;\ntry {\n  // This should fail with an error because it is outside scopedir\n  require('./scopedir/index');\n  failures++;\n} catch (e) {\n  // good\n}\n\ntry {\n  // This should fail with an error because it is outside scopedir\n  require('./config/index');\n  failures++;\n} catch (e) {\n  // good\n}\n\ntry {\n  // this should succeed\n  console.log(require('./config/scopedir/index').a);\n} catch (e) {\n  // bad\n  failures++;\n}\n\nconsole.log(`Failures: ${failures}`);\n"
  },
  {
    "path": "tests/scope/c/scopedir/index.ts",
    "content": "export const a: string = 'value';\n"
  },
  {
    "path": "tests/signals.ts",
    "content": "process.on('SIGINT', () => {\n  process.stdout.write('exited');\n  setTimeout(() => {\n    process.stdout.write(' fine');\n\n    // Needed to make sure what we wrote has time\n    // to be written\n    process.nextTick(() => process.exit());\n  }, 500);\n});\n\nsetInterval(() => console.log('should not be reached'), 3000);\n"
  },
  {
    "path": "tests/spy-swc-transpiler.js",
    "content": "// Spy on the swc transpiler so that tests can prove it was used rather than\n// TypeScript's `transpileModule`.\nconst swcTranspiler = require('ts-node/transpilers/swc');\n\nglobal.swcTranspilerCalls = 0;\n\nconst wrappedCreate = swcTranspiler.create;\nswcTranspiler.create = function (...args) {\n  const transpiler = wrappedCreate(...args);\n  const wrappedTranspile = transpiler.transpile;\n  transpiler.transpile = function (...args) {\n    global.swcTranspilerCalls++;\n    return wrappedTranspile.call(this, ...args);\n  };\n  return transpiler;\n};\n"
  },
  {
    "path": "tests/throw error react tsx.tsx",
    "content": "// intentional whitespace to prove that sourcemaps are working.  Throw should happen on line 100.\n// 100 lines is meant to be far more space than the helper functions would take.\n\n// Space in filename is intentional to ensure we handle this correctly when providing sourcemaps\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst React = { createElement: (...args: any[]) => null };\nclass Foo {\n  constructor() {\n    this.bar();\n  }\n  bar() { throw new Error('this is a demo'); }\n  someJsx() {\n    return <div />;\n  }\n}\nnew Foo();\nexport {};\n"
  },
  {
    "path": "tests/throw error.ts",
    "content": "// intentional whitespace to prove that sourcemaps are working.  Throw should happen on line 100.\n// 100 lines is meant to be far more space than the helper functions would take.\n\n// Space in filename is intentional to ensure we handle this correctly when providing sourcemaps\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass Foo {\n  constructor() {\n    this.bar();\n  }\n  bar() { throw new Error('this is a demo'); }\n}\nnew Foo();\nexport {};\n"
  },
  {
    "path": "tests/transpile-only-swc/index.ts",
    "content": "// Test for #1343\nconst Decorator = function () {};\n@Decorator\nclass World {}\n\n// intentional type errors to check transpile-only ESM loader skips type checking\nparseInt(1101, 2);\nconst x: number = `Hello ${World.name}! swc transpiler invocation count: ${global.swcTranspilerCalls}`;\nconsole.log(x);\n\n// test module type emit\nimport { readFileSync } from 'fs';\nreadFileSync;\n"
  },
  {
    "path": "tests/transpile-only-swc/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"target\": \"ES2018\",\n    \"module\": \"CommonJS\",\n    \"allowJs\": true,\n    \"jsx\": \"react\",\n    \"experimentalDecorators\": true\n  }\n}\n"
  },
  {
    "path": "tests/transpile-only-swc-native-esm/index.ts",
    "content": "const x: number = `Hello ${import.meta.url.slice(0, 7)}!`;\nconsole.log(x);\n"
  },
  {
    "path": "tests/transpile-only-swc-native-esm/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/transpile-only-swc-native-esm/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"transpileOnly\": true,\n    \"transpiler\": \"ts-node/transpilers/swc-experimental\"\n  },\n  \"compilerOptions\": {\n    \"target\": \"ES2018\",\n    \"module\": \"ESNext\",\n    \"allowJs\": true,\n    \"jsx\": \"react\",\n    \"experimentalDecorators\": true\n  }\n}\n"
  },
  {
    "path": "tests/transpile-only-swc-shorthand-via-tsconfig/index.ts",
    "content": "// Test for #1343\nconst Decorator = function () {};\n@Decorator\nclass World {}\n\n// intentional type errors to check transpile-only ESM loader skips type checking\nparseInt(1101, 2);\nconst x: number = `Hello ${World.name}! swc transpiler invocation count: ${global.swcTranspilerCalls}`;\nconsole.log(x);\n\n// test module type emit\nimport { readFileSync } from 'fs';\nreadFileSync;\n"
  },
  {
    "path": "tests/transpile-only-swc-shorthand-via-tsconfig/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"swc\": true\n  },\n  \"compilerOptions\": {\n    \"target\": \"ES2018\",\n    \"module\": \"CommonJS\",\n    \"allowJs\": true,\n    \"jsx\": \"react\",\n    \"experimentalDecorators\": true\n  }\n}\n"
  },
  {
    "path": "tests/transpile-only-swc-via-tsconfig/index.ts",
    "content": "// Test for #1343\nconst Decorator = function () {};\n@Decorator\nclass World {}\n\n// intentional type errors to check transpile-only ESM loader skips type checking\nparseInt(1101, 2);\nconst x: number = `Hello ${World.name}! swc transpiler invocation count: ${global.swcTranspilerCalls}`;\nconsole.log(x);\n\n// test module type emit\nimport { readFileSync } from 'fs';\nreadFileSync;\n"
  },
  {
    "path": "tests/transpile-only-swc-via-tsconfig/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"transpileOnly\": true,\n    \"transpiler\": \"ts-node/transpilers/swc\"\n  },\n  \"compilerOptions\": {\n    \"target\": \"ES2018\",\n    \"module\": \"CommonJS\",\n    \"allowJs\": true,\n    \"jsx\": \"react\",\n    \"experimentalDecorators\": true\n  }\n}\n"
  },
  {
    "path": "tests/ts45-ext/ext-cts/index.cts",
    "content": "export function main() {\n  return 'hello world';\n}\n"
  },
  {
    "path": "tests/ts45-ext/ext-cts/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"experimentalResolver\": true\n  },\n  \"compilerOptions\": {\n    \"module\": \"CommonJS\"\n  }\n}\n"
  },
  {
    "path": "tests/ts45-ext/ext-mts/entrypoint.mjs",
    "content": "import { main } from './index.mjs';\nconsole.log(main());\n"
  },
  {
    "path": "tests/ts45-ext/ext-mts/index.mts",
    "content": "export function main() {\n  return 'hello world';\n}\n"
  },
  {
    "path": "tests/ts45-ext/ext-mts/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"esm\": true,\n    \"experimentalResolver\": true\n  },\n  \"compilerOptions\": {\n    \"module\": \"ESNext\"\n  }\n}\n"
  },
  {
    "path": "tests/tsconfig-bases/node14/tsconfig.json",
    "content": "{\n  \"extends\": \"ts-node/node14/tsconfig.json\"\n}\n"
  },
  {
    "path": "tests/tsconfig-bases/node16/tsconfig.json",
    "content": "{\n  \"extends\": \"ts-node/node16/tsconfig.json\"\n}\n"
  },
  {
    "path": "tests/tsconfig-bases/node18/tsconfig.json",
    "content": "{\n  \"extends\": \"ts-node/node18/tsconfig.json\"\n}\n"
  },
  {
    "path": "tests/tsconfig-bases/node20/tsconfig.json",
    "content": "{\n  \"extends\": \"ts-node/node20/tsconfig.json\"\n}\n"
  },
  {
    "path": "tests/tsconfig-extends/other/require-hook.js",
    "content": ""
  },
  {
    "path": "tests/tsconfig-extends/other/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"require\": [\"./require-hook\"],\n    \"scopeDir\": \"./scopedir\"\n  }\n}\n"
  },
  {
    "path": "tests/tsconfig-extends/tsconfig.json",
    "content": "{\n  \"extends\": \"./other/tsconfig.json\",\n  \"ts-node\": {\n    \"preferTsExts\": true\n  }\n}\n"
  },
  {
    "path": "tests/tsconfig-extends-multiple/a/require-hook-from-a.js",
    "content": ""
  },
  {
    "path": "tests/tsconfig-extends-multiple/a/tsconfig.json",
    "content": "{\n  \"extends\": \"../b/tsconfig.json\",\n  \"ts-node\": {\n    \"require\": [\"./require-hook-from-a\"],\n    \"scopeDir\": \"./scopedir-from-a\"\n  },\n  \"compilerOptions\": {\n    \"target\": \"ES2015\"\n  }\n}\n"
  },
  {
    "path": "tests/tsconfig-extends-multiple/b/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"ignore\": [\"ignore-pattern-from-b\"],\n    \"transpiler\": \"transpiler-from-b\",\n    \"transpileOnly\": true,\n    \"scopeDir\": \"./scopedir-from-b\",\n    \"moduleTypes\": { \"module-types-from-b\": \"cjs\" }\n  },\n  \"compilerOptions\": {\n    \"target\": \"ES2016\"\n  }\n}\n"
  },
  {
    "path": "tests/tsconfig-extends-multiple/c/tsconfig.json",
    "content": "{\n  \"extends\": \"../d/tsconfig.json\",\n  \"ts-node\": {\n    \"transpiler\": \"transpiler-from-c\",\n    \"transpileOnly\": true\n  },\n  \"compilerOptions\": {\n    \"target\": \"ES2017\"\n  }\n}\n"
  },
  {
    "path": "tests/tsconfig-extends-multiple/d/tsconfig.json",
    "content": "{\n  \"ts-node\": {\n    \"ignore\": [\"ignore-pattern-from-d\"]\n  },\n  \"compilerOptions\": {\n    \"target\": \"ES2018\"\n  }\n}\n"
  },
  {
    "path": "tests/tsconfig-extends-multiple/empty.ts",
    "content": ""
  },
  {
    "path": "tests/tsconfig-extends-multiple/tsconfig.json",
    "content": "{\n  \"extends\": [\"./a/tsconfig.json\", \"./c/tsconfig.json\"],\n  \"ts-node\": {\n    \"preferTsExts\": true\n  }\n}\n"
  },
  {
    "path": "tests/tsconfig-options/log-options1.js",
    "content": "const assert = require('assert');\nassert(process.required1);\nconst register = process[Symbol.for('ts-node.register.instance')];\nconsole.log(\n  JSON.stringify({\n    options: register.options,\n    config: register.config,\n  })\n);\n"
  },
  {
    "path": "tests/tsconfig-options/log-options2.js",
    "content": "const assert = require('assert');\nrequire('./log-options1');\nassert(process.required2);\n"
  },
  {
    "path": "tests/tsconfig-options/required1.js",
    "content": "process.required1 = true;\n"
  },
  {
    "path": "tests/tsconfig-options/required2.js",
    "content": "require('assert')(process.required1);\nprocess.required2 = true;\n"
  },
  {
    "path": "tests/tsconfig-options/tsconfig.json",
    "content": "{\n  \"extends\": \"../tsconfig.json\",\n  \"ts-node\": {\n    \"compilerOptions\": {\n      \"types\": [\"tsconfig-tsnode-types\"]\n    },\n    \"transpileOnly\": true,\n    \"require\": [\"./required1\"],\n    \"skipIgnore\": false\n  },\n  \"compilerOptions\": {\n    \"typeRoots\": [\"tsconfig-typeroots\"],\n    \"types\": [\"tsconfig-types\"]\n  }\n}\n"
  },
  {
    "path": "tests/tsconfig-transpile-only.json",
    "content": "{\n  \"ts-node\": {\n    \"transpileOnly\": true\n  },\n  \"compilerOptions\": {\n    \"target\": \"es2015\",\n    \"jsx\": \"react\",\n    \"noEmit\": true,\n    \"strict\": true,\n    // Global type definitions.\n    \"typeRoots\": [\"./typings\", \"../node_modules/@types\"]\n  }\n}\n"
  },
  {
    "path": "tests/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"target\": \"es2015\",\n    \"jsx\": \"react\",\n    \"noEmit\": true,\n    \"strict\": true,\n    // Global type definitions.\n    \"typeRoots\": [\"./typings\", \"../node_modules/@types\"]\n  }\n}\n"
  },
  {
    "path": "tests/typings/does-not-exist/index.d.ts",
    "content": "declare module 'does-not-exist' {\n  export const foobar = 'test';\n}\n"
  },
  {
    "path": "tests/with-jsx.tsx",
    "content": "class Foo2 {\n  render() {\n    return <div></div>;\n  }\n}\n"
  },
  {
    "path": "tests/working-dir/cjs/index.ts",
    "content": "import { strictEqual } from 'assert';\nimport { normalize, dirname } from 'path';\n\n// Expect the working directory to be the parent directory.\nstrictEqual(normalize(process.cwd()), normalize(dirname(__dirname)));\n\nconsole.log('Passing');\n"
  },
  {
    "path": "tests/working-dir/esm/index.ts",
    "content": "import { strictEqual } from 'assert';\nimport { normalize, dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\n// Expect the working directory to be the parent directory.\nstrictEqual(normalize(process.cwd()), normalize(dirname(dirname(fileURLToPath(import.meta.url)))));\n\nconsole.log('Passing');\n"
  },
  {
    "path": "tests/working-dir/esm/package.json",
    "content": "{\n  \"type\": \"module\"\n}\n"
  },
  {
    "path": "tests/working-dir/esm/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\"\n  },\n  \"ts-node\": {\n    \"swc\": true\n  }\n}\n"
  },
  {
    "path": "tests/working-dir/forking/index.ts",
    "content": "import { fork } from 'child_process';\nimport { join } from 'path';\n\n// Initially set the exit code to non-zero. We only set it to `0` when the\n// worker process finishes properly with the expected stdout message.\nprocess.exitCode = 1;\n\nconst workerProcess = fork('./worker.ts', [], {\n  stdio: 'pipe',\n  cwd: join(__dirname, 'subfolder'),\n});\n\nlet stdout = '';\n\nworkerProcess.stdout!.on('data', (chunk) => (stdout += chunk.toString('utf8')));\nworkerProcess.on('error', () => (process.exitCode = 1));\nworkerProcess.on('close', (status, signal) => {\n  if (status === 0 && signal === null && stdout.trim() === 'Works') {\n    console.log('Passing: from main');\n    process.exitCode = 0;\n  }\n});\n"
  },
  {
    "path": "tests/working-dir/forking/subfolder/worker.ts",
    "content": "const message: string = 'Works';\n\nconsole.log(message);\n"
  },
  {
    "path": "tests/working-dir/tsconfig.json",
    "content": "{\n  \"extends\": \"../tsconfig.json\",\n  \"ts-node\": {\n    \"transpileOnly\": true\n  }\n}\n"
  },
  {
    "path": "transpilers/swc-experimental.js",
    "content": "module.exports = require('../dist/transpilers/swc')\n"
  },
  {
    "path": "transpilers/swc.js",
    "content": "module.exports = require('../dist/transpilers/swc')\n"
  },
  {
    "path": "tsconfig.build-dist-raw.json",
    "content": "// This tsconfig.json is referenced by tsconfig.build-dist.json, a little trick to keep tsc happy.\n{\n  \"extends\": \"./tsconfig.json\",\n  \"compilerOptions\": {\n    \"composite\": true,\n    \"allowJs\": true,\n    \"checkJs\": false,\n    \"noResolve\": true,\n    \"declaration\": true,\n    \"noEmit\": false,\n    \"emitDeclarationOnly\": true,\n    \"rootDir\": \"dist-raw\",\n    \"outDir\": \"temp/dist-raw\"\n  },\n  \"include\": [\n    \"dist-raw/**/*\"\n  ]\n}\n"
  },
  {
    "path": "tsconfig.build-dist.json",
    "content": "// This tsconfig.json drives compiling the src/ directory into the dist/ directory\n{\n  \"extends\": \"./tsconfig.json\",\n  \"references\": [{\n    \"path\": \"./tsconfig.build-dist-raw.json\"\n  }],\n  \"compilerOptions\": {\n    \"noEmit\": false,\n    \"rootDir\": \"src\",\n    \"outDir\": \"dist\",\n    \"tsBuildInfoFile\": \"temp/tsconfig.build-dist.tsbuildinfo\",\n    \"allowJs\": false,\n    \"rootDirs\": [\"temp\", \".\"]\n  },\n  \"include\": [\n    \"src/**/*\"\n  ]\n}\n"
  },
  {
    "path": "tsconfig.build-schema.json",
    "content": "// This tsconfig.json is used when we generate the tsconfig JSON schema\n{\n  \"extends\": \"./tsconfig.json\",\n  \"compilerOptions\": {\n    \"incremental\": false,\n    \"tsBuildInfoFile\": null,\n    \"noEmit\": false,\n    \"allowJs\": true,\n    \"checkJs\": false,\n  }\n}\n"
  },
  {
    "path": "tsconfig.json",
    "content": "// This tsconfig.json drives Intellisense\n{\n  \"$schema\": \"./tsconfig.schemastore-schema.json\",\n  \"compilerOptions\": {\n    // `target` and `lib` match @tsconfig/bases for node14, since that's the oldest node LTS, so it's the oldest node we support\n    \"target\": \"es2020\",\n    \"lib\": [\"es2020\"],\n    \"rootDir\": \".\",\n    \"outDir\": \"temp\",\n    \"tsBuildInfoFile\": \"temp/tsconfig.tsbuildinfo\",\n    \"noEmit\": true,\n    \"module\": \"commonjs\",\n    \"moduleResolution\": \"node\",\n    \"strict\": true,\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"inlineSources\": true,\n    \"types\": [\"node\"],\n    \"stripInternal\": true,\n    \"incremental\": true,\n    \"skipLibCheck\": true,\n    \"importsNotUsedAsValues\": \"error\",\n    \"allowJs\": true,\n\n    // Enable to assist in sanity-checking your changes to JS files, but note you will see many unrelated type errors!\n    // \"checkJs\": true,\n    // \"noImplicitAny\": false\n  },\n  \"include\": [\n    \"src/**/*\"\n  ],\n  \"typedocOptions\": {\n    \"entryPoints\": [\"./src/index.ts\"],\n    \"readme\": \"none\",\n    \"out\": \"website/static/api\",\n    \"excludeTags\": [\"allof\"],\n    \"categorizeByGroup\": false,\n    \"categoryOrder\": [\"Basic\", \"REPL\", \"Transpiler\", \"ESM Loader\", \"Other\"],\n    \"defaultCategory\": \"Other\"\n  }\n}\n"
  },
  {
    "path": "tsdoc.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json\",\n\n  \"supportForTags\": {\n    // Indicate that the custom tag is supported by your tooling.  (Without this, warnings may\n    // be reported saying that the tag is unsupported.)\n    \"@default\": true,\n    \"@allOf\": true,\n    \"@see\": true,\n    \"@deprecated\": true,\n    \"@category\": true\n  },\n\n  \"tagDefinitions\": [\n    {\n      \"tagName\": \"@default\",\n      \"syntaxKind\": \"block\",\n      \"allowMultiple\": false\n    },\n    {\n      \"tagName\": \"@allOf\",\n      \"syntaxKind\": \"block\",\n      \"allowMultiple\": false\n    },\n    {\n      \"tagName\": \"@category\",\n      \"syntaxKind\": \"inline\",\n      \"allowMultiple\": false\n    }\n  ]\n}\n"
  },
  {
    "path": "website/.gitignore",
    "content": "# Dependencies\n/node_modules\n\n# Production\n/build\n\n# Generated files\n.docusaurus\n.cache-loader\n\n# Misc\n.DS_Store\n.env.local\n.env.development.local\n.env.test.local\n.env.production.local\n\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n"
  },
  {
    "path": "website/README.md",
    "content": "# Website\n\nThis website is built using [Docusaurus 2](https://v2.docusaurus.io/), a modern static website generator.\n\n## Installation\n\n```console\nyarn install\n```\n\n## Local Development\n\n```console\nyarn start\n```\n\nThis command starts a local development server and open up a browser window. Most changes are reflected live without having to restart the server.\n\n## Build\n\n```console\nyarn build\n```\n\nThis command generates static content into the `build` directory and can be served using any static contents hosting service.\n\n## Deployment\n\n```console\nGIT_USER=<Your GitHub username> USE_SSH=true yarn deploy\n```\n\nIf you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.\n"
  },
  {
    "path": "website/babel.config.js",
    "content": "module.exports = {\n  presets: [require.resolve('@docusaurus/core/lib/babel/preset')],\n};\n"
  },
  {
    "path": "website/docs/api.md",
    "content": "---\ntitle: API\n---\n\nts-node's complete API is documented here: [API Docs](https://typestrong.org/ts-node/api/)\n\nHere are a few highlights of what you can accomplish:\n\n- [`create()`](https://typestrong.org/ts-node/api/index.html#create) creates ts-node's compiler service without\nregistering any hooks.\n- [`createRepl()`](https://typestrong.org/ts-node/api/index.html#createRepl) creates an instance of our REPL service, so\nyou can create your own TypeScript-powered REPLs.\n- [`createEsmHooks()`](https://typestrong.org/ts-node/api/index.html#createEsmHooks) creates our ESM loader hooks,\nsuitable for composing with other loaders or augmenting with additional features.\n"
  },
  {
    "path": "website/docs/commonjs-vs-native-ecmascript-modules.md",
    "content": "---\ntitle: \"CommonJS vs native ECMAScript modules\"\nslug: imports\n---\n\nTypeScript is almost always written using modern `import` syntax, but it is also transformed before being executed by the underlying runtime.  You can choose to either transform to CommonJS or to preserve the native `import` syntax, using node's native ESM support.  Configuration is different for each.\n\nHere is a brief comparison of the two.\n\n| CommonJS | Native ECMAScript modules |\n|---|---|\n| Write native `import` syntax | Write native `import` syntax |\n| Transforms `import` into `require()` | Does not transform `import` |\n| Node executes scripts using the classic [CommonJS loader](https://nodejs.org/dist/latest-v16.x/docs/api/modules.html) | Node executes scripts using the new [ESM loader](https://nodejs.org/dist/latest-v16.x/docs/api/esm.html) |\n| Use any of:<br/>`ts-node`<br/>`node -r ts-node/register`<br/>`NODE_OPTIONS=\"ts-node/register\" node`<br/>`require('ts-node').register({/* options */})` | Use any of:<br/>`ts-node --esm`<br/>`ts-node-esm`<br/>Set `\"esm\": true` in `tsconfig.json`<br />`node --loader ts-node/esm`<br/>`NODE_OPTIONS=\"--loader ts-node/esm\" node` |\n\n## CommonJS\n\nTransforming to CommonJS is typically simpler and more widely supported because it is older.  You must remove [`\"type\": \"module\"`](https://nodejs.org/api/packages.html#packages_type) from `package.json` and set [`\"module\": \"CommonJS\"`](https://www.typescriptlang.org/tsconfig/#module) in `tsconfig.json`.\n\n```json title=\"package.json\"\n{\n  // This can be omitted; commonjs is the default\n  \"type\": \"commonjs\"\n}\n```\n\n```json title=\"tsconfig.json\"\n{\n  \"compilerOptions\": {\n    \"module\": \"CommonJS\"\n  }\n}\n```\n\nIf you must keep `\"module\": \"ESNext\"` for `tsc`, webpack, or another build tool, you can set an override for ts-node.\n\n```json title=\"tsconfig.json\"\n{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\"\n  },\n  \"ts-node\": {\n    \"compilerOptions\": {\n      \"module\": \"CommonJS\"\n    }\n  }\n}\n```\n\n## Native ECMAScript modules\n\n[Node's ESM loader hooks](https://nodejs.org/api/esm.html#esm_experimental_loaders) are [**experimental**](https://nodejs.org/api/documentation.html#documentation_stability_index) and subject to change. ts-node's ESM support is as stable as possible, but it relies on APIs which node can *and will* break in new versions of node.  Thus it is not recommended for production.\n\nFor complete usage, limitations, and to provide feedback, see [#1007](https://github.com/TypeStrong/ts-node/issues/1007).\n\nYou must set [`\"type\": \"module\"`](https://nodejs.org/api/packages.html#packages_type) in `package.json` and [`\"module\": \"ESNext\"`](https://www.typescriptlang.org/tsconfig/#module) in `tsconfig.json`.\n\n```json title=\"package.json\"\n{\n  \"type\": \"module\"\n}\n```\n\n```json title=\"tsconfig.json\"\n{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\" // or ES2015, ES2020\n  },\n  \"ts-node\": {\n    // Tell ts-node CLI to install the --loader automatically, explained below\n    \"esm\": true\n  }\n}\n```\n\nYou must also ensure node is passed `--loader`.  The ts-node CLI will do this automatically with our `esm` option.\n\n> Note: `--esm` must spawn a child process to pass it `--loader`.  This may change if node adds the ability to install loader hooks\ninto the current process.\n\n```shell\n# pass the flag\nts-node --esm\n# Use the convenience binary\nts-node-esm\n# or add `\"esm\": true` to your tsconfig.json to make it automatic\nts-node\n```\n\nIf you are not using our CLI, pass the loader flag to node.\n\n```shell\nnode --loader ts-node/esm ./index.ts\n# Or via environment variable\nNODE_OPTIONS=\"--loader ts-node/esm\" node ./index.ts\n```\n"
  },
  {
    "path": "website/docs/compilers.md",
    "content": "---\ntitle: Third-party compilers\n---\n\nSome projects require a patched typescript compiler which adds additional features.  For example, [`ttypescript`](https://github.com/cevek/ttypescript/tree/master/packages/ttypescript) and [`ts-patch`](https://github.com/nonara/ts-patch#readme)\nadd the ability to configure custom transformers.  These are drop-in replacements for the vanilla `typescript` module and\nimplement the same API.\n\nFor example, to use `ttypescript` and `ts-transformer-keys`, add this to your `tsconfig.json`:\n\n```json title=\"tsconfig.json\"\n{\n  \"ts-node\": {\n    // This can be omitted when using ts-patch\n    \"compiler\": \"ttypescript\"\n  },\n  \"compilerOptions\": {\n    // plugin configuration is the same for both ts-patch and ttypescript\n    \"plugins\": [\n      { \"transform\": \"ts-transformer-keys/transformer\" }\n    ]\n  }\n}\n```\n"
  },
  {
    "path": "website/docs/configuration.md",
    "content": "---\ntitle: Configuration\n---\n\nts-node supports a variety of options which can be specified via `tsconfig.json`, as CLI flags, as environment variables, or programmatically.\n\nFor a complete list, see [Options](./options.md).\n\n## CLI flags\n\nts-node CLI flags must come *before* the entrypoint script. For example:\n\n```shell\n$ ts-node --project tsconfig-dev.json say-hello.ts Ronald\nHello, Ronald!\n```\n\n## Via tsconfig.json (recommended)\n\nts-node automatically finds and loads `tsconfig.json`.  Most ts-node options can be specified in a `\"ts-node\"` object using their programmatic, camelCase names. We recommend this because it works even when you cannot pass CLI flags, such as `node --require ts-node/register` and when using shebangs.\n\nUse `--skipProject` to skip loading the `tsconfig.json`.  Use `--project` to explicitly specify the path to a `tsconfig.json`.\n\nWhen searching, it is resolved using [the same search behavior as `tsc`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html). By default, this search is performed relative to the entrypoint script. In `--cwdMode` or if no entrypoint is specified -- for example when using the REPL -- the search is performed relative to `--cwd` / `process.cwd()`.\n\nYou can use this sample configuration as a starting point:\n\n```json title=\"tsconfig.json\"\n{\n  // This is an alias to @tsconfig/node16: https://github.com/tsconfig/bases\n  \"extends\": \"ts-node/node16/tsconfig.json\",\n\n  // Most ts-node options can be specified here using their programmatic names.\n  \"ts-node\": {\n    // It is faster to skip typechecking.\n    // Remove if you want ts-node to do typechecking.\n    \"transpileOnly\": true,\n\n    \"files\": true,\n\n    \"compilerOptions\": {\n      // compilerOptions specified here will override those declared below,\n      // but *only* in ts-node.  Useful if you want ts-node and tsc to use\n      // different options with a single tsconfig.json.\n    }\n  },\n  \"compilerOptions\": {\n    // typescript options here\n  }\n}\n```\n\nOur bundled [JSON schema](https://unpkg.com/browse/ts-node@latest/tsconfig.schema.json) lists all compatible options.\n\n### @tsconfig/bases\n\n[@tsconfig/bases](https://github.com/tsconfig/bases) maintains recommended configurations for several node versions.\nAs a convenience, these are bundled with ts-node.\n\n```json title=\"tsconfig.json\"\n{\n  \"extends\": \"ts-node/node16/tsconfig.json\",\n\n  // Or install directly with `npm i -D @tsconfig/node16`\n  \"extends\": \"@tsconfig/node16/tsconfig.json\",\n}\n```\n\n### Default config\n\nIf no `tsconfig.json` is loaded from disk, ts-node will use the newest recommended defaults from\n[@tsconfig/bases](https://github.com/tsconfig/bases/) compatible with your `node` and `typescript` versions.\nWith the latest `node` and `typescript`, this is [`@tsconfig/node16`](https://github.com/tsconfig/bases/blob/master/bases/node16.json).\n\nOlder versions of `typescript` are incompatible with `@tsconfig/node16`.  In those cases we will use an older default configuration.\n\nWhen in doubt, `ts-node --showConfig` will log the configuration being used, and `ts-node -vv` will log `node` and `typescript` versions.\n\n## `node` flags\n\n[`node` flags](https://nodejs.org/api/cli.html) must be passed directly to `node`; they cannot be passed to the ts-node binary nor can they be specified in `tsconfig.json`\n\nWe recommend using the [`NODE_OPTIONS`](https://nodejs.org/api/cli.html#cli_node_options_options) environment variable to pass options to `node`.\n\n```shell\nNODE_OPTIONS='--trace-deprecation --abort-on-uncaught-exception' ts-node ./index.ts\n```\n\nAlternatively, you can invoke `node` directly and install ts-node via `--require`/`-r`\n\n```shell\nnode --trace-deprecation --abort-on-uncaught-exception -r ts-node/register ./index.ts\n```\n"
  },
  {
    "path": "website/docs/how-it-works.md",
    "content": "---\ntitle: How it works\n---\n\nts-node works by registering hooks for `.ts`, `.tsx`, `.js`, and/or `.jsx` extensions.\n\nVanilla `node` loads `.js` by reading code from disk and executing it.  Our hook runs in the middle, transforming code from TypeScript to JavaScript and passing the result to `node` for execution.  This transformation will respect your `tsconfig.json` as if you had compiled via `tsc`.\n\nWe also register a few other hooks to apply sourcemaps to stack traces and remap from `.js` imports to `.ts`.\n"
  },
  {
    "path": "website/docs/installation.md",
    "content": "---\ntitle: Installation\n---\n\n```shell\n# Locally in your project.\nnpm install -D typescript\nnpm install -D ts-node\n\n# Or globally with TypeScript.\nnpm install -g typescript\nnpm install -g ts-node\n\n# Depending on configuration, you may also need these\nnpm install -D tslib @types/node\n```\n\n**Tip:** Installing modules locally allows you to control and share the versions through `package.json`. ts-node will always resolve the compiler from `cwd` before checking relative to its own installation.\n"
  },
  {
    "path": "website/docs/module-type-overrides.md",
    "content": "---\ntitle: Module type overrides\n---\n\n> Wherever possible, it is recommended to use TypeScript's [`NodeNext` or `Node16` mode](https://www.typescriptlang.org/docs/handbook/esm-node.html) instead of the options described\nin this section.  Setting `\"module\": \"NodeNext\"` and using the `.cts` file extension should work well for most projects.\n\nWhen deciding how a file should be compiled and executed -- as either CommonJS or native ECMAScript module -- ts-node matches\n`node` and `tsc` behavior.  This means TypeScript files are transformed according to your `tsconfig.json` `\"module\"`\noption and executed according to node's rules for the `package.json` `\"type\"` field.  Set `\"module\": \"NodeNext\"` and everything should work.\n\nIn rare cases, you may need to override this behavior for some files.  For example, some tools read a `name-of-tool.config.ts`\nand require that file to execute as CommonJS.  If you have `package.json` configured with `\"type\": \"module\"` and `tsconfig.json` with\n`\"module\": \"esnext\"`, the config is native ECMAScript by default and will raise an error.  You will need to force the config and\nany supporting scripts to execute as CommonJS.\n\nIn these situations, our `moduleTypes` option can override certain files to be\nCommonJS or ESM.  Similar overriding is possible by using `.mts`, `.cts`, `.cjs` and `.mjs` file extensions.\n`moduleTypes` achieves the same effect for `.ts` and `.js` files, and *also* overrides your `tsconfig.json` `\"module\"`\nconfig appropriately.\n\nThe following example tells ts-node to execute a webpack config as CommonJS:\n\n```json title=\"tsconfig.json\"\n{\n  \"ts-node\": {\n    \"transpileOnly\": true,\n    \"moduleTypes\": {\n      \"webpack.config.ts\": \"cjs\",\n      // Globs are also supported with the same behavior as tsconfig \"include\"\n      \"webpack-config-scripts/**/*\": \"cjs\"\n    }\n  },\n  \"compilerOptions\": {\n    \"module\": \"es2020\",\n    \"target\": \"es2020\"\n  }\n}\n```\n\nEach key is a glob pattern with the same syntax as tsconfig's `\"include\"` array.\nWhen multiple patterns match the same file, the last pattern takes precedence.\n\n* `cjs` overrides matches files to compile and execute as CommonJS.\n* `esm` overrides matches files to compile and execute as native ECMAScript modules.\n* `package` resets either of the above to default behavior, which obeys `package.json` `\"type\"` and `tsconfig.json` `\"module\"` options.\n\n## Caveats\n\nFiles with an overridden module type are transformed with the same limitations as [`isolatedModules`](https://www.typescriptlang.org/tsconfig#isolatedModules).  This will only affect rare cases such as using `const enum`s with [`preserveConstEnums`](https://www.typescriptlang.org/tsconfig#preserveConstEnums) disabled.\n\nThis feature is meant to facilitate scenarios where normal `compilerOptions` and `package.json` configuration is not possible.  For example, a `webpack.config.ts` cannot be given its own `package.json` to override `\"type\"`.  Wherever possible you should favor using traditional `package.json` and `tsconfig.json` configurations.\n"
  },
  {
    "path": "website/docs/options-table.md",
    "content": "---\ntitle: Options\n---\n\n<!--\nNOTE you probably want to look at `options.md` instead.\n\nI initially wanted to render our options in a table. However, after several attempts at formatting -- all in this file -- I couldn't find one that I liked.\n\nThis page renders at a hidden URL on the website so that I can share with other contributors for feedback,\nbut it will likely be deleted in the future.\n-->\n\n`ts-node` supports `--print` (`-p`), `--eval` (`-e`), `--require` (`-r`) and `--interactive` (`-i`) similar to the [node.js CLI options](https://nodejs.org/api/cli.html).\n\n<!--_Options with an * are only available in the API, not `tsconfig.json`_-->\n\nThe API includes [additional options](https://typestrong.org/ts-node/api/interfaces/RegisterOptions.html) not shown below.\n\n_Environment variables, where available, are in `ALL_CAPS`_\n\n<!--\n| CLI | API, tsconfig, Environment Variable | Description |\n|-----|---------------------|-------------|\n| <nobr>`-h, --help`</nobr> |  | Prints the help text |\n| <nobr>`-v, --version`</nobr> |  | Prints the version. `-vv` prints node and typescript compiler versions, too |\n| <nobr>`-c, --cwd-mode`</nobr> |  | Resolve config relative to the current directory instead of the directory of the entrypoint script |\n| <nobr>`--script-mode`</nobr> |  | Resolve config relative to the directory of the entrypoint script. This is the default behavior |\n| <nobr>`-T, --transpile-only`</nobr> | `transpileOnly` <br/> `TS_NODE_TRANSPILE_ONLY` | Use TypeScript's faster `transpileModule` (default: `false`) |\n| <nobr>`--type-check`</nobr> | `TS_NODE_TYPE_CHECK` | Opposite of `--transpile-only` (default: `true`) |\n| <nobr>`-H, --compiler-host`</nobr> | `compilerHost` <br/> `TS_NODE_COMPILER_HOST` | Use TypeScript's compiler host API (default: `false`) |\n| <nobr>`-I, --ignore [pattern]`</nobr> | `ignore` <br/> `TS_NODE_IGNORE` | Override the path patterns to skip compilation (default: `/node_modules/`) |\n| <nobr>`-P, --project [path]`</nobr> | `project` <br/> `TS_NODE_PROJECT` | Path to TypeScript JSON project file |\n| <nobr>`-C, --compiler [name]`</nobr> | `compiler` <br/> `TS_NODE_COMPILER` | Specify a custom TypeScript compiler (default: `typescript`) |\n| <nobr>`--transpiler [name]`</nobr> | `transpiler` | Specify a third-party, non-typechecking transpiler |\n| <nobr>`-D, --ignore-diagnostics [code]`</nobr> | `ignoreDiagnostics` <br/> `TS_NODE_IGNORE_DIAGNOSTICS` | Ignore TypeScript warnings by diagnostic code |\n| <nobr>`-O, --compiler-options [opts]`</nobr> | `compilerOptions` <br/> `TS_NODE_COMPILER_OPTIONS` | JSON object to merge with compiler options |\n| <nobr>`--cwd`</nobr> | `TS_NODE_CWD` | Behave as if invoked in this working directory (default: `process.cwd()`) |\n| <nobr>`--files`</nobr> | `files` <br/> `TS_NODE_FILES` | Load `files`, `include` and `exclude` from `tsconfig.json` on startup (default: `false`) |\n| <nobr>`--pretty`</nobr> | `pretty` <br/> `TS_NODE_PRETTY` | Use pretty diagnostic formatter (default: `false`) |\n| <nobr>`--skip-project`</nobr> | `skipProject` <br/> `TS_NODE_SKIP_PROJECT` | Skip project config resolution and loading (default: `false`) |\n| <nobr>`--skip-ignore`</nobr> | `skipIgnore` <br/> `TS_NODE_SKIP_IGNORE` | Skip ignore checks (default: `false`) |\n| <nobr>`--emit`</nobr> | `emit` <br/> `TS_NODE_EMIT` | Emit output files into `.ts-node` directory (default: `false`) |\n| <nobr>`--prefer-ts-exts`</nobr> | `preferTsExts` <br/> `TS_NODE_PREFER_TS_EXTS` | Re-order file extensions so that TypeScript imports are preferred (default: `false`) |\n| <nobr>`--log-error`</nobr> | `logError` <br/> `TS_NODE_LOG_ERROR` | Logs TypeScript errors to stderr instead of throwing exceptions (default: `false`) |\n| <nobr>`--show-config`</nobr> |  | Print resolved `tsconfig.json`, including `ts-node` options, and exit |\n|  | `TS_NODE_DEBUG` | Enable debug logging |\n|  | `TS_NODE_HISTORY` | Path to history file for REPL (default: `~/.ts_node_repl_history`) |\n| <nobr>`--scope`</nobr> | `scope` <br/> `TS_NODE_SCOPE` | Scope compiler to files within `scopeDir`.  Files outside this directory will be ignored.  (default: `false`) |\n|  | `scopeDir` | Sets directory for `scope`.  Defaults to tsconfig `rootDir`, directory containing `tsconfig.json`, or `cwd` |\n|  | `projectSearchDir`* | Search for config file in this or parent directories |\n|  | `transformers`* | An object with transformers or a factory function that accepts a program and returns a transformers object to pass to TypeScript. Factory function cannot be used with `transpileOnly` flag |\n|  | `readFile`* | Custom TypeScript-compatible file reading function |\n|  | `fileExists`* | Custom TypeScript-compatible file existence function |\n\n| CLI | TSConfig, API | Description |\n|-----|---------------------|-------------|\n| <nobr>`-h, --help`</nobr> |  | Prints the help text |\n| <nobr>`-v, --version`</nobr> |  | Prints the version. `-vv` prints node and typescript compiler versions, too |\n| <nobr>`-i, --interactive`</nobr> |  | Start REPL even if stdout is not a TTY |\n| <nobr>`-e, --eval`</nobr> |  | Evaluate code |\n| <nobr>`-p, --print`</nobr> |  | Print result of `--eval` |\n| <nobr>`-P, --project [path]`</nobr> | `project` | Path to TypeScript JSON project file <br/>*Env:* `TS_NODE_PROJECT` |\n| <nobr>`--skip-project`</nobr> | `skipProject` | Skip project config resolution and loading <br/>*Default:* `false` <br/>*Env:* `TS_NODE_SKIP_PROJECT` |\n| <nobr>`-c, --cwd-mode`</nobr> |  | Resolve config relative to the current directory instead of the directory of the entrypoint script |\n| <nobr>`--script-mode`</nobr> |  | Resolve config relative to the directory of the entrypoint script<br/>*Default:* enabled |\n| <nobr>`--show-config`</nobr> |  | Print resolved `tsconfig.json`, including `ts-node` options, and exit |\n| <nobr>`-T, --transpile-only`</nobr> | `transpileOnly` | Use TypeScript's faster `transpileModule` <br/>*Default:* `false` <br/>*Env:* `TS_NODE_TRANSPILE_ONLY` |\n| <nobr>`--type-check`</nobr> |  | Opposite of `--transpile-only` <br/>*Default:* `true`<br/>*Env:* `TS_NODE_TYPE_CHECK` |\n| <nobr>`-H, --compiler-host`</nobr> | `compilerHost` | Use TypeScript's compiler host API <br/>*Default:* `false` <br/>*Env:* `TS_NODE_COMPILER_HOST` |\n| <nobr>`-I, --ignore [pattern]`</nobr> | `ignore` | Override the path patterns to skip compilation <br/>*Default:* `/node_modules/` <br/>*Env:* `TS_NODE_IGNORE` |\n| <nobr>`--skip-ignore`</nobr> | `skipIgnore` | Skip ignore checks <br/>*Default:* `false` <br/>*Env:* `TS_NODE_SKIP_IGNORE` |\n| <nobr>`-C, --compiler [name]`</nobr> | `compiler` | Specify a custom TypeScript compiler <br/>*Default:* `typescript` <br/>*Env:* `TS_NODE_COMPILER` |\n| <nobr>`--transpiler [name]`</nobr> | `transpiler` | Specify a third-party, non-typechecking transpiler |\n| <nobr>`-D, --ignore-diagnostics [code]`</nobr> | `ignoreDiagnostics` | Ignore TypeScript warnings by diagnostic code <br/>*Env:* `TS_NODE_IGNORE_DIAGNOSTICS` |\n| <nobr>`-O, --compiler-options [opts]`</nobr> | `compilerOptions` | JSON object to merge with compiler options <br/>*Env:* `TS_NODE_COMPILER_OPTIONS` |\n| <nobr>`--cwd`</nobr> | | Behave as if invoked in this working directory <br/>*Default:* `process.cwd()`<br/>*Env:* `TS_NODE_CWD`  |\n| <nobr>`--files`</nobr> | `files` | Load `files`, `include` and `exclude` from `tsconfig.json` on startup <br/>*Default:* `false` <br/>*Env:* `TS_NODE_FILES` |\n| <nobr>`--pretty`</nobr> | `pretty` | Use pretty diagnostic formatter <br/>*Default:* `false` <br/>*Env:* `TS_NODE_PRETTY` |\n| <nobr>`--emit`</nobr> | `emit` | Emit output files into `.ts-node` directory <br/>*Default:* `false` <br/>*Env:* `TS_NODE_EMIT` |\n| <nobr>`--prefer-ts-exts`</nobr> | `preferTsExts` | Re-order file extensions so that TypeScript imports are preferred <br/>*Default:* `false` <br/>*Env:* `TS_NODE_PREFER_TS_EXTS` |\n| <nobr>`--log-error`</nobr> | `logError` | Logs TypeScript errors to stderr instead of throwing exceptions <br/>*Default:* `false` <br/>*Env:* `TS_NODE_LOG_ERROR` |\n| <nobr>`--scope`</nobr> | `scope` | Scope compiler to files within `scopeDir`.  Files outside this directory will be ignored.  <br/>*Default:* `false` <br/>*Env:* `TS_NODE_SCOPE` |\n|  | `scopeDir` | Sets directory for `scope`<br/>*Default:* tsconfig `rootDir`, directory containing `tsconfig.json`, or `cwd` |\n|  | `projectSearchDir` | Search for config file in this or parent directories |\n|  | `transformers`* | An object with transformers or a factory function that accepts a program and returns a transformers object to pass to TypeScript. Factory function cannot be used with `transpileOnly` flag |\n|  | `readFile`* | Custom TypeScript-compatible file reading function |\n|  | `fileExists`* | Custom TypeScript-compatible file existence function |\n|  |  | Enable debug logging<br/>*Env:* `TS_NODE_DEBUG` |\n|  |  | Path to history file for REPL <br/>*Default:* `~/.ts_node_repl_history`<br/>*Env:* `TS_NODE_HISTORY` |\n-->\n<!--<table>\n<thead><th>CLI</th><th>TSConfig, API</th><th>Description</th></thead>\n<tbody>\n<tr><td colspan=\"3\"><strong>Shell</strong></td></tr>\n\n<tr><td> <nobr><code>-h, --help</code></nobr> </td><td>  </td><td> Prints the help text </td></tr>\n<tr><td> <nobr><code>-v, --version</code></nobr> </td><td>  </td><td> Prints the version. <code>-vv</code> prints node and typescript compiler versions, too </td></tr>\n<tr><td> <nobr><code>-i, --interactive</code></nobr> </td><td>  </td><td> Opens the REPL even if stdin does not appear to be a terminal </td></tr>\n<tr><td> <nobr><code>-e, --eval</code></nobr> </td><td>  </td><td> Evaluate code </td></tr>\n<tr><td> <nobr><code>-p, --print</code></nobr> </td><td>  </td><td> Print result of <code>--eval</code> </td></tr>\n\n<tr><td colspan=\"3\"><strong>TSConfig</strong></td></tr>\n\n<tr><td> <nobr><code>-P, --project [path]</code></nobr> </td><td> <code>project</code> </td><td> Path to TypeScript JSON project file <br/><em>Env:</em> <code>TS_NODE_PROJECT</code> </td></tr>\n<tr><td> <nobr><code>--skip-project</code></nobr> </td><td> <code>skipProject</code> </td><td> Skip project config resolution and loading <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_SKIP_PROJECT</code> </td></tr>\n<tr><td> <nobr><code>-c, --cwd-mode</code></nobr> </td><td>  </td><td> Resolve config relative to the current directory instead of the directory of the entrypoint script </td></tr>\n<tr><td>  </td><td> <code>projectSearchDir</code>* </td><td> Search for config file in this or parent directories </td></tr>\n<tr><td> <nobr><code>-O, --compiler-options [opts]</code></nobr> </td><td> <code>compilerOptions</code> </td><td> JSON object to merge with compiler options <br/><em>Env:</em> <code>TS_NODE_COMPILER_OPTIONS</code> </td></tr>\n<tr><td> <nobr><code>--show-config</code></nobr> </td><td>  </td><td> Print resolved <code>tsconfig.json</code>, including <code>ts-node</code> options, and exit </td></tr>\n\n<tr><td colspan=\"3\"><strong>Typechecking</strong></td></tr>\n\n<tr><td> <nobr><code>-T, --transpile-only</code></nobr> </td><td> <code>transpileOnly</code> </td><td> Use TypeScript's faster <code>transpileModule</code> <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_TRANSPILE_ONLY</code> </td></tr>\n<tr><td> <nobr><code>--type-check</code></nobr> </td><td>  </td><td> Opposite of <code>--transpile-only</code> <br/><em>Default:</em> <code>true</code><br/><em>Env:</em> <code>TS_NODE_TYPE_CHECK</code> </td></tr>\n<tr><td> <nobr><code>-H, --compiler-host</code></nobr> </td><td> <code>compilerHost</code> </td><td> Use TypeScript's compiler host API <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_COMPILER_HOST</code> </td></tr>\n<tr><td> <nobr><code>--files</code></nobr> </td><td> <code>files</code> </td><td> Load <code>files</code>, <code>include</code> and <code>exclude</code> from <code>tsconfig.json</code> on startup <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_FILES</code> </td></tr>\n<tr><td> <nobr><code>-D, --ignore-diagnostics [code]</code></nobr> </td><td> <code>ignoreDiagnostics</code> </td><td> Ignore TypeScript warnings by diagnostic code <br/><em>Env:</em> <code>TS_NODE_IGNORE_DIAGNOSTICS</code> </td></tr>\n\n<tr><td colspan=\"3\"><strong>Transpilation</strong></td></tr>\n\n<tr><td> <nobr><code>-I, --ignore [pattern]</code></nobr> </td><td> <code>ignore</code> </td><td> Override the path patterns to skip compilation <br/><em>Default:</em> <code>/node_modules/</code> <br/><em>Env:</em> <code>TS_NODE_IGNORE</code> </td></tr>\n<tr><td> <nobr><code>--skip-ignore</code></nobr> </td><td> <code>skipIgnore</code> </td><td> Skip ignore checks <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_SKIP_IGNORE</code> </td></tr>\n<tr><td> <nobr><code>-C, --compiler [name]</code></nobr> </td><td> <code>compiler</code> </td><td> Specify a custom TypeScript compiler <br/><em>Default:</em> <code>typescript</code> <br/><em>Env:</em> <code>TS_NODE_COMPILER</code> </td></tr>\n<tr><td> <nobr><code>--transpiler [name]</code></nobr> </td><td> <code>transpiler</code> </td><td> Specify a third-party, non-typechecking transpiler </td></tr>\n<tr><td> <nobr><code>--prefer-ts-exts</code></nobr> </td><td> <code>preferTsExts</code> </td><td> Re-order file extensions so that TypeScript imports are preferred <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_PREFER_TS_EXTS</code> </td></tr>\n<tr><td> <nobr><code>--scope</code></nobr> </td><td> <code>scope</code> </td><td> Scope compiler to files within <code>scopeDir</code>.  Files outside this directory will be ignored.  <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_SCOPE</code> </td></tr>\n<tr><td>  </td><td> <code>scopeDir</code> </td><td> Sets directory for <code>scope</code><br/><em>Default:</em> tsconfig <code>rootDir</code>, directory containing <code>tsconfig.json</code>, or <code>cwd</code> </td></tr>\n\n<tr><td colspan=\"3\"><strong>Diagnostics</strong></td></tr>\n\n<tr><td> <nobr><code>--log-error</code></nobr> </td><td> <code>logError</code> </td><td> Logs TypeScript errors to stderr instead of throwing exceptions <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_LOG_ERROR</code> </td></tr>\n<tr><td> <nobr><code>--pretty</code></nobr> </td><td> <code>pretty</code> </td><td> Use pretty diagnostic formatter <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_PRETTY</code> </td></tr>\n<tr><td>  </td><td>  </td><td> Enable debug logging<br/><em>Env:</em> <code>TS_NODE_DEBUG</code> </td></tr>\n\n<tr><td colspan=\"3\"><strong>Advanced</strong></td></tr>\n\n<tr><td> <nobr><code>-r, --require [path]</code></nobr> </td><td> <code>require</code> </td><td> Require a node module before execution</td></tr>\n<tr><td> <nobr><code>--cwd</code></nobr> </td><td> </td><td> Behave as if invoked in this working directory <br/><em>Default:</em> <code>process.cwd()</code><br/><em>Env:</em> <code>TS_NODE_CWD</code>  </td></tr>\n<tr><td> <nobr><code>--emit</code></nobr> </td><td> <code>emit</code> </td><td> Emit output files into <code>.ts-node</code> directory <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_EMIT</code> </td></tr>\n<tr><td>  </td><td> <code>transformers</code>* </td><td> An object with transformers or a factory function that accepts a program and returns a transformers object to pass to TypeScript. Factory function cannot be used with <code>transpileOnly</code> flag </td></tr>\n<tr><td>  </td><td> <code>readFile</code>* </td><td> Custom TypeScript-compatible file reading function </td></tr>\n<tr><td>  </td><td> <code>fileExists</code>* </td><td> Custom TypeScript-compatible file existence function </td></tr>\n<tr><td>  </td><td>  </td><td> Path to history file for REPL <br/><em>Default:</em> <code>~/.ts_node_repl_history</code><br/><em>Env:</em> <code>TS_NODE_HISTORY</code> </td></tr>\n</tbody>\n</table>-->\n\n<table>\n<thead><th>CLI</th><th>TSConfig</th><th>Description</th></thead>\n<tbody>\n<tr><td colspan=\"3\"><strong>Shell</strong></td></tr>\n\n<tr><td> <nobr><code>-h, --help</code></nobr> </td><td>  </td><td> Prints the help text </td></tr>\n<tr><td> <nobr><code>-v, --version</code></nobr> </td><td>  </td><td> Prints the version. <code>-vv</code> prints node and typescript compiler versions, too </td></tr>\n<tr><td> <nobr><code>-e, --eval</code></nobr> </td><td>  </td><td> Evaluate code </td></tr>\n<tr><td> <nobr><code>-p, --print</code></nobr> </td><td>  </td><td> Print result of <code>--eval</code> </td></tr>\n<tr><td> <nobr><code>-i, --interactive</code></nobr> </td><td>  </td><td> Opens the REPL even if stdin does not appear to be a terminal </td></tr>\n\n<tr><td colspan=\"3\"><strong>TSConfig</strong></td></tr>\n\n<tr><td> <nobr><code>-P, --project [path]</code></nobr> </td><td>  </td><td> Path to TypeScript JSON project file <br/><em>Env:</em> <code>TS_NODE_PROJECT</code> </td></tr>\n<tr><td> <nobr><code>--skip-project</code></nobr> </td><td>  </td><td> Skip project config resolution and loading <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_SKIP_PROJECT</code> </td></tr>\n<tr><td> <nobr><code>-c, --cwd-mode</code></nobr> </td><td>  </td><td> Resolve config relative to the current directory instead of the directory of the entrypoint script </td></tr>\n<tr><td> <nobr><code>-O, --compiler-options [opts]</code></nobr> </td><td> <code>compilerOptions</code> </td><td> JSON object to merge with compiler options <br/><em>Env:</em> <code>TS_NODE_COMPILER_OPTIONS</code> </td></tr>\n<tr><td> <nobr><code>--show-config</code></nobr> </td><td>  </td><td> Print resolved <code>tsconfig.json</code>, including <code>ts-node</code> options, and exit </td></tr>\n\n<tr><td colspan=\"3\"><strong>Typechecking</strong></td></tr>\n\n<tr><td> <nobr><code>-T, --transpile-only</code></nobr> </td><td> <code>transpileOnly</code> </td><td> Use TypeScript's faster <code>transpileModule</code> <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_TRANSPILE_ONLY</code> </td></tr>\n<tr><td> <nobr><code>--type-check</code></nobr> </td><td>  </td><td> Opposite of <code>--transpile-only</code> <br/><em>Default:</em> <code>true</code><br/><em>Env:</em> <code>TS_NODE_TYPE_CHECK</code> </td></tr>\n<tr><td> <nobr><code>-H, --compiler-host</code></nobr> </td><td> <code>compilerHost</code> </td><td> Use TypeScript's compiler host API <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_COMPILER_HOST</code> </td></tr>\n<tr><td> <nobr><code>--files</code></nobr> </td><td> <code>files</code> </td><td> Load <code>files</code>, <code>include</code> and <code>exclude</code> from <code>tsconfig.json</code> on startup <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_FILES</code> </td></tr>\n<tr><td> <nobr><code>-D, --ignore-diagnostics [code]</code></nobr> </td><td> <code>ignoreDiagnostics</code> </td><td> Ignore TypeScript warnings by diagnostic code <br/><em>Env:</em> <code>TS_NODE_IGNORE_DIAGNOSTICS</code> </td></tr>\n\n<tr><td colspan=\"3\"><strong>Transpilation</strong></td></tr>\n\n<tr><td> <nobr><code>-I, --ignore [pattern]</code></nobr> </td><td> <code>ignore</code> </td><td> Override the path patterns to skip compilation <br/><em>Default:</em> <code>/node_modules/</code> <br/><em>Env:</em> <code>TS_NODE_IGNORE</code> </td></tr>\n<tr><td> <nobr><code>--skip-ignore</code></nobr> </td><td> <code>skipIgnore</code> </td><td> Skip ignore checks <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_SKIP_IGNORE</code> </td></tr>\n<tr><td> <nobr><code>-C, --compiler [name]</code></nobr> </td><td> <code>compiler</code> </td><td> Specify a custom TypeScript compiler <br/><em>Default:</em> <code>typescript</code> <br/><em>Env:</em> <code>TS_NODE_COMPILER</code> </td></tr>\n<tr><td> <nobr><code>--transpiler [name]</code></nobr> </td><td> <code>transpiler</code> </td><td> Specify a third-party, non-typechecking transpiler </td></tr>\n<tr><td> <nobr><code>--prefer-ts-exts</code></nobr> </td><td> <code>preferTsExts</code> </td><td> Re-order file extensions so that TypeScript imports are preferred <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_PREFER_TS_EXTS</code> </td></tr>\n\n<tr><td colspan=\"3\"><strong>Diagnostics</strong></td></tr>\n\n<tr><td> <nobr><code>--log-error</code></nobr> </td><td> <code>logError</code> </td><td> Logs TypeScript errors to stderr instead of throwing exceptions <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_LOG_ERROR</code> </td></tr>\n<tr><td> <nobr><code>--pretty</code></nobr> </td><td> <code>pretty</code> </td><td> Use pretty diagnostic formatter <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_PRETTY</code> </td></tr>\n<tr><td>  </td><td>  </td><td> Enable debug logging<br/><em>Env:</em> <code>TS_NODE_DEBUG</code> </td></tr>\n\n<tr><td colspan=\"3\"><strong>Advanced</strong></td></tr>\n\n<tr><td> <nobr><code>-r, --require [path]</code></nobr> </td><td> <code>require</code> </td><td> Require a node module before execution</td></tr>\n<tr><td> <nobr><code>--cwd</code></nobr> </td><td> </td><td> Behave as if invoked in this working directory <br/><em>Default:</em> <code>process.cwd()</code><br/><em>Env:</em> <code>TS_NODE_CWD</code>  </td></tr>\n<tr><td> <nobr><code>--emit</code></nobr> </td><td> <code>emit</code> </td><td> Emit output files into <code>.ts-node</code> directory <br/><em>Default:</em> <code>false</code> <br/><em>Env:</em> <code>TS_NODE_EMIT</code> </td></tr>\n<tr><td>  </td><td>  </td><td> Path to history file for REPL <br/><em>Default:</em> <code>~/.ts_node_repl_history</code><br/><em>Env:</em> <code>TS_NODE_HISTORY</code> </td></tr>\n</tbody>\n</table>\n"
  },
  {
    "path": "website/docs/options.md",
    "content": "---\ntitle: Options\n---\n\nAll command-line flags support both `--camelCase` and `--hyphen-case`.\n\nMost options can be declared in your tsconfig.json: [Configuration via tsconfig.json](./configuration.md#via-tsconfigjson-recommended)\n\n`ts-node` supports `--print` (`-p`), `--eval` (`-e`), `--require` (`-r`) and `--interactive` (`-i`) similar to the [node.js CLI](https://nodejs.org/api/cli.html).\n\n`ts-node` supports `--project` and `--showConfig` similar to the [tsc CLI](https://www.typescriptlang.org/docs/handbook/compiler-options.html#compiler-options).\n\n_Environment variables, where available, are in `ALL_CAPS`_\n\n## CLI Options\n\n### help\n\n```shell\nts-node --help\n```\n\nPrints the help text\n\n### version\n\n```shell\nts-node -v\nts-node -vvv\n```\n\nPrints the version. `-vv` includes node and typescript compiler versions.  `-vvv` includes absolute paths to ts-node and\ntypescript installations.\n\n### eval\n\n```shell\nts-node -e <typescript code>\n# Example\nts-node -e 'console.log(\"Hello world!\")'\n```\n\nEvaluate code\n\n### print\n\n```shell\nts-node -p -e <typescript code>\n# Example\nts-node -p -e '\"Hello world!\"'\n```\n\nPrint result of `--eval`\n\n### interactive\n\n```shell\nts-node -i\n```\n\nOpens the REPL even if stdin does not appear to be a terminal\n\n### esm\n\n```shell\nts-node --esm\nts-node-esm\n```\n\nBootstrap with the ESM loader, enabling full ESM support\n\n\n## TSConfig Options\n\n### project\n\n```shell\nts-node -P <path/to/tsconfig>\nts-node --project <path/to/tsconfig>\n```\n\nPath to tsconfig file.\n\n*Note the uppercase `-P`. This is different from `tsc`'s `-p/--project` option.*\n\n*Environment:* `TS_NODE_PROJECT`\n\n### skipProject\n\n```shell\nts-node --skipProject\n```\n\nSkip project config resolution and loading\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_SKIP_PROJECT`\n\n### cwdMode\n\n```shell\nts-node -c\nts-node --cwdMode\nts-node-cwd\n```\n\nResolve config relative to the current directory instead of the directory of the entrypoint script\n\n### compilerOptions\n\n```shell\nts-node -O <json compilerOptions>\nts-node --compilerOptions <json compilerOptions>\n```\n\nJSON object to merge with compiler options\n\n*Environment:* `TS_NODE_COMPILER_OPTIONS`\n\n### showConfig\n\n```shell\nts-node --showConfig\n```\n\nPrint resolved `tsconfig.json`, including `ts-node` options, and exit\n\n## Typechecking\n\n### transpileOnly\n\n```shell\nts-node -T\nts-node --transpileOnly\n```\n\nUse TypeScript's faster `transpileModule`\n\n*Default:* `false`<br/>\n*Environment:* `TS_NODE_TRANSPILE_ONLY`\n\n### typeCheck\n\n```shell\nts-node --typeCheck\n```\n\nOpposite of `--transpileOnly`\n\n*Default:* `true`<br/>\n*Environment:* `TS_NODE_TYPE_CHECK`\n\n### compilerHost\n\n```shell\nts-node -H\nts-node --compilerHost\n```\n\nUse TypeScript's compiler host API\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_COMPILER_HOST`\n\n### files\n\n```shell\nts-node --files\n```\n\nLoad `files`, `include` and `exclude` from `tsconfig.json` on startup.  This may\navoid certain typechecking failures.  See [Missing types](./troubleshooting.md#missing-types) for details.\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_FILES`\n\n### ignoreDiagnostics\n\n```shell\nts-node -D <code,code>\nts-node --ignoreDiagnostics <code,code>\n```\n\nIgnore TypeScript warnings by diagnostic code\n\n*Environment:* `TS_NODE_IGNORE_DIAGNOSTICS`\n\n\n## Transpilation Options\n\n### ignore\n\n```shell\nts-node -I <regexp matching ignored files>\nts-node --ignore <regexp matching ignored files>\n```\n\nOverride the path patterns to skip compilation\n\n*Default:* `/node_modules/` <br/>\n*Environment:* `TS_NODE_IGNORE`\n\n### skipIgnore\n\n```shell\nts-node --skipIgnore\n```\n\nSkip ignore checks\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_SKIP_IGNORE`\n\n### compiler\n\n```shell\nts-node -C <name>\nts-node --compiler <name>\n```\n\nSpecify a custom TypeScript compiler\n\n*Default:* `typescript` <br/>\n*Environment:* `TS_NODE_COMPILER`\n\n### swc\n\n```shell\nts-node --swc\n```\n\nTranspile with [swc](./swc.md).  Implies `--transpileOnly`\n\n*Default:* `false`\n\n### transpiler\n\n```shell\nts-node --transpiler <name>\n# Example\nts-node --transpiler ts-node/transpilers/swc\n```\n\nUse a third-party, non-typechecking transpiler\n\n### preferTsExts\n\n```shell\nts-node --preferTsExts\n```\n\nRe-order file extensions so that TypeScript imports are preferred\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_PREFER_TS_EXTS`\n\n\n## Diagnostic Options\n\n### logError\n\n```shell\nts-node --logError\n```\n\nLogs TypeScript errors to stderr instead of throwing exceptions\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_LOG_ERROR`\n\n### pretty\n\n```shell\nts-node --pretty\n```\n\nUse pretty diagnostic formatter\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_PRETTY`\n\n### TS_NODE_DEBUG\n\n```shell\nTS_NODE_DEBUG=true ts-node\n```\n\nEnable debug logging\n\n## Advanced Options\n\n### require\n\n```shell\nts-node -r <module name or path>\nts-node --require <module name or path>\n```\n\nRequire a node module before execution\n\n### cwd\n\n```shell\nts-node --cwd <path/to/directory>\n```\n\nBehave as if invoked in this working directory\n\n*Default:* `process.cwd()`<br/>\n*Environment:* `TS_NODE_CWD`\n\n### emit\n\n```shell\nts-node --emit\n```\n\nEmit output files into `.ts-node` directory. Requires `--compilerHost`\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_EMIT`\n\n### scope\n\n```shell\nts-node --scope\n```\n\nScope compiler to files within `scopeDir`.  Anything outside this directory is ignored.\n\n*Default:* `false` <br/>\n*Environment:* `TS_NODE_SCOPE`\n\n### scopeDir\n\n```shell\nts-node --scopeDir <path/to/directory>\n```\n\nDirectory within which compiler is limited when `scope` is enabled.\n\n*Default:* First of: `tsconfig.json` \"rootDir\" if specified, directory containing `tsconfig.json`, or cwd if no `tsconfig.json` is loaded.<br/>\n*Environment:* `TS_NODE_SCOPE_DIR`\n\n### moduleTypes\n\nOverride the module type of certain files, ignoring the `package.json` `\"type\"` field.  See [Module type overrides](./module-type-overrides.md) for details.\n\n*Default:* obeys `package.json` `\"type\"` and `tsconfig.json` `\"module\"` <br/>\n*Can only be specified via `tsconfig.json` or API.*\n\n### TS_NODE_HISTORY\n\n```shell\nTS_NODE_HISTORY=<path/to/history/file> ts-node\n```\n\nPath to history file for REPL\n\n*Default:* `~/.ts_node_repl_history`\n\n### noExperimentalReplAwait\n\n```shell\nts-node --noExperimentalReplAwait\n```\n\nDisable top-level await in REPL.  Equivalent to node's [`--no-experimental-repl-await`](https://nodejs.org/api/cli.html#cli_no_experimental_repl_await)\n\n*Default:* Enabled if TypeScript version is 3.8 or higher and target is ES2018 or higher.<br/>\n*Environment:* `TS_NODE_EXPERIMENTAL_REPL_AWAIT` set `false` to disable\n\n### experimentalResolver\n\nEnable experimental hooks that re-map imports and require calls to support:\n\n* remapping extensions, e.g. so that `import \"./foo.js\"` will execute `foo.ts`. Currently the following extensions will be mapped:\n  * `.js` to `.ts`, `.tsx`, or `.jsx`\n  * `.cjs` to `.cts`\n  * `.mjs` to `.mts`\n  * `.jsx` to `.tsx`\n* including file extensions in CommonJS, for consistency with ESM where this is often mandatory\n\nIn the future, this hook will also support:\n\n* `baseUrl`, `paths`\n* `rootDirs`\n* `outDir` to `rootDir` mappings for composite projects and monorepos\n\nFor details, see [#1514](https://github.com/TypeStrong/ts-node/issues/1514).\n\n*Default:* `false`, but will likely be enabled by default in a future version<br/>\n*Can only be specified via `tsconfig.json` or API.*\n\n### experimentalSpecifierResolution\n\n```shell\nts-node --experimentalSpecifierResolution node\n```\n\nLike node's [`--experimental-specifier-resolution`](https://nodejs.org/dist/latest-v18.x/docs/api/esm.html#customizing-esm-specifier-resolution-algorithm), but can also be set in your `tsconfig.json` for convenience.\nRequires [`esm`](#esm) to be enabled.\n\n*Default:* `explicit`<br/>\n\n## API Options\n\nThe API includes [additional options](https://typestrong.org/ts-node/api/interfaces/RegisterOptions.html) not shown here.\n"
  },
  {
    "path": "website/docs/overview.md",
    "content": "---\ntitle: Overview\nslug: /\n---\n\nts-node is a TypeScript execution engine and REPL for Node.js.\n\nIt JIT transforms TypeScript into JavaScript, enabling you to directly execute TypeScript on Node.js without precompiling.\nThis is accomplished by hooking node's module loading APIs, enabling it to be used seamlessly alongside other Node.js\ntools and libraries.\n\n## Features\n\n* Automatic sourcemaps in stack traces\n* Automatic `tsconfig.json` parsing\n* Automatic defaults to match your node version\n* Typechecking (optional)\n* REPL\n* Write standalone scripts\n* Native ESM loader\n* Use third-party transpilers\n* Use custom transformers\n* Integrate with test runners, debuggers, and CLI tools\n* Compatible with pre-compilation for production\n\n![TypeScript REPL](/img/screenshot.png)\n"
  },
  {
    "path": "website/docs/paths.md",
    "content": "---\ntitle: |\n  paths and baseUrl\n---\n\nYou can use ts-node together with [tsconfig-paths](https://www.npmjs.com/package/tsconfig-paths) to load modules according to the `paths` section in `tsconfig.json`.\n\n```json title=\"tsconfig.json\"\n{\n  \"ts-node\": {\n    // Do not forget to `npm i -D tsconfig-paths`\n    \"require\": [\"tsconfig-paths/register\"]\n  }\n}\n```\n\n## Why is this not built-in to ts-node?\n\nThe official TypeScript Handbook explains the intended purpose for `\"paths\"` in [\"Additional module resolution flags\"](https://www.typescriptlang.org/docs/handbook/module-resolution.html#additional-module-resolution-flags).\n\n> The TypeScript compiler has a set of additional flags to *inform* the compiler of transformations that are expected to happen to the sources to generate the final output.\n>\n> It is important to note that the compiler will not perform any of these transformations; it just uses these pieces of information to guide the process of resolving a module import to its definition file.\n\nThis means `\"paths\"` are intended to describe mappings that the build tool or runtime *already* performs, not to tell the build tool or\nruntime how to resolve modules.  In other words, they intend us to write our imports in a way `node` already understands.  For this reason, ts-node does not modify `node`'s module resolution behavior to implement `\"paths\"` mappings.\n"
  },
  {
    "path": "website/docs/performance.md",
    "content": "---\ntitle: Performance\n---\n\nThese tricks will make ts-node faster.\n\n## Skip typechecking\n\nIt is often better to typecheck as part of your tests or linting.  You can run `tsc --noEmit` to do this.  In these cases, ts-node can skip typechecking, making it much faster.\n\nTo skip typechecking in ts-node, do one of the following:\n\n* Enable [swc](./swc.md)\n  * This is by far the fastest option\n* Enable [`transpileOnly`](./options.md#transpileonly) to skip typechecking without swc\n\n## With typechecking\n\nIf you absolutely must typecheck in ts-node:\n\n* Avoid dynamic `require()` which may trigger repeated typechecking; prefer `import`\n* Try with and without `--files`; one may be faster depending on your project\n* Check `tsc --showConfig`; make sure all executed files are included\n* Enable [`skipLibCheck`](https://www.typescriptlang.org/tsconfig#skipLibCheck)\n* Set a [`types`](https://www.typescriptlang.org/tsconfig#types) array to avoid loading unnecessary `@types`\n"
  },
  {
    "path": "website/docs/recipes/ava.md",
    "content": "---\ntitle: AVA\n---\n\nAssuming you are configuring AVA via your `package.json`, add one of the following configurations.\n\n## CommonJS\n\nUse this configuration if your `package.json` does not have `\"type\": \"module\"`.\n\n```json title=\"package.json\"\n{\n  \"ava\": {\n    \"extensions\": [\n      \"ts\"\n    ],\n    \"require\": [\n      \"ts-node/register\"\n    ]\n  }\n}\n```\n\n## Native ECMAScript modules\n\nThis configuration is necessary if your `package.json` has `\"type\": \"module\"`.\n\n```json title=\"package.json\"\n{\n  \"ava\": {\n    \"extensions\": {\n      \"ts\": \"module\"\n    },\n    \"nonSemVerExperiments\": {\n      \"configurableModuleFormat\": true\n    },\n    \"nodeArguments\": [\n      \"--loader=ts-node/esm\"\n    ]\n  }\n}\n```\n"
  },
  {
    "path": "website/docs/recipes/gulp.md",
    "content": "---\ntitle: Gulp\n---\n\nts-node support is built-in to gulp.\n\n```sh\n# Create a `gulpfile.ts` and run `gulp`.\ngulp\n```\n\nSee also: https://gulpjs.com/docs/en/getting-started/javascript-and-gulpfiles#transpilation\n"
  },
  {
    "path": "website/docs/recipes/intellij.md",
    "content": "---\ntitle: \"IntelliJ and Webstorm\"\n---\n\nCreate a new Node.js configuration and add `-r ts-node/register` to \"Node parameters.\"\n\n**Note:** If you are using the `--project <tsconfig.json>` command line argument as per the [Configuration Options](../configuration.md), and want to apply this same behavior when launching in IntelliJ, specify under \"Environment Variables\": `TS_NODE_PROJECT=<tsconfig.json>`.\n"
  },
  {
    "path": "website/docs/recipes/mocha.md",
    "content": "---\ntitle: Mocha\n---\n\n## Mocha 7 and newer\n\n```shell\nmocha --require ts-node/register --extensions ts,tsx --watch --watch-files src 'tests/**/*.{ts,tsx}' [...args]\n```\n\nOr specify options via your mocha config file.\n\n```json title=\".mocharc.json\"\n{\n  // Specify \"require\" for CommonJS\n  \"require\": \"ts-node/register\",\n  // Specify \"loader\" for native ESM\n  \"loader\": \"ts-node/esm\",\n  \"extensions\": [\"ts\", \"tsx\"],\n  \"spec\": [\n    \"tests/**/*.spec.*\"\n  ],\n  \"watch-files\": [\n    \"src\"\n  ]\n}\n```\n\nSee also: https://mochajs.org/#configuring-mocha-nodejs\n\n## Mocha <=6\n\n```shell\nmocha --require ts-node/register --watch-extensions ts,tsx \"test/**/*.{ts,tsx}\" [...args]\n```\n\n**Note:** `--watch-extensions` is only used in `--watch` mode.\n"
  },
  {
    "path": "website/docs/recipes/npx-and-yarn-dlx.md",
    "content": "---\ntitle: npx and yarn dlx\n---\n\nUsing [`npx`](https://docs.npmjs.com/cli/v8/commands/npx) or [`yarn dlx`](https://yarnpkg.com/cli/dlx) is a great ways to publish reusable TypeScript tools to GitHub without precompiling or packaging.\n\nCheck out our working example: [TypeStrong/ts-node-npx-example](https://github.com/TypeStrong/ts-node-npx-example)\n\n```shell\nnpx typestrong/ts-node-npx-example --help\nnpx typestrong/ts-node-npx-example --first Arthur --last Dent\n```\n\nTODO publish demo and link to it\nTODO test demo:\n  - uninstall global ts-node\n  - try running demo\n  - does ts-node need to be installed globally?\n\nThis boilerplate is a good starting point:\n\n```json title=\"package.json\"\n{\n  \"bin\": \"./cli.ts\",\n  \"dependencies\": {\n    \"ts-node\": \"latest\",\n    \"@swc/core\": \"latest\",\n    \"@swc/helpers\": \"latest\",\n    \"@tsconfig/node16\": \"latest\"\n  }\n}\n```\n\n```json title=\"tsconfig.json\"\n{\n  \"extends\": \"@tsconfig/node16/tsconfig.json\",\n  \"ts-node\": {\n    \"swc\": true\n  }\n}\n```\n\n```typescript twoslash title=\"cli.ts\"\n#!/usr/bin/env ts-node\n\nconsole.log(\"Hello world!\")\n```\n\nIf you require native ESM support, use `ts-node-esm` in your shebang and follow the configuration instructions for ESM: [Native ECMAScript modules](../commonjs-vs-native-ecmascript-modules.md#native-ecmascript-modules)\n\n```typescript twoslash title=\"cli.ts\"\n#!/usr/bin/env ts-node-esm\n```\n"
  },
  {
    "path": "website/docs/recipes/other.md",
    "content": "---\ntitle: Other\n---\n\nIn many cases, setting [`NODE_OPTIONS`](https://nodejs.org/api/cli.html#cli_node_options_options) will enable `ts-node` within other node tools, child processes, and worker threads.\n\n```shell\nNODE_OPTIONS=\"-r ts-node/register\"\n```\n\nOr, if you require native ESM support:\n\n```shell\nNODE_OPTIONS=\"--loader ts-node/esm\"\n```\n\nThis tells any node processes which receive this environment variable to install `ts-node`'s hooks before executing other code.\n"
  },
  {
    "path": "website/docs/recipes/tape.md",
    "content": "---\ntitle: Tape\n---\n\n```shell\nts-node node_modules/tape/bin/tape [...args]\n```\n"
  },
  {
    "path": "website/docs/recipes/visual-studio-code.md",
    "content": "---\ntitle: Visual Studio Code\n---\n\nCreate a new Node.js debug configuration, add `-r ts-node/register` to node args and move the `program` to the `args` list (so VS Code doesn't look for `outFiles`).\n\n```json title=\".vscode/launch.json\"\n{\n    \"configurations\": [{\n        \"type\": \"node\",\n        \"request\": \"launch\",\n        \"name\": \"Launch Program\",\n        \"runtimeArgs\": [\n            \"-r\",\n            \"ts-node/register\"\n        ],\n        \"args\": [\n            \"${workspaceFolder}/src/index.ts\"\n        ]\n    }],\n}\n```\n\n**Note:** If you are using the `--project <tsconfig.json>` command line argument as per the [Configuration Options](../configuration.md), and want to apply this same behavior when launching in VS Code, add an \"env\" key into the launch configuration: `\"env\": { \"TS_NODE_PROJECT\": \"<tsconfig.json>\" }`.\n"
  },
  {
    "path": "website/docs/recipes/watching-and-restarting.md",
    "content": "---\ntitle: Watching and restarting\n---\n\nts-node focuses on adding first-class TypeScript support to node.  Watching files and code reloads are out of scope for the project.\n\nIf you want to restart the `ts-node` process on file change, existing node.js tools such as [nodemon](https://github.com/remy/nodemon), [onchange](https://github.com/Qard/onchange) and [node-dev](https://github.com/fgnass/node-dev) work.\n\nThere's also [`ts-node-dev`](https://github.com/whitecolor/ts-node-dev), a modified version of [`node-dev`](https://github.com/fgnass/node-dev) using `ts-node` for compilation that will restart the process on file change. Note that `ts-node-dev` is incompatible with our native ESM loader.\n"
  },
  {
    "path": "website/docs/scope.md",
    "content": "---\ntitle: Ignored files\n---\n\nts-node transforms certain files and ignores others.  We refer to this mechanism as \"scoping.\"  There are various\noptions to configure scoping, so that ts-node transforms only the files in your project.\n\n> **Warning:**\n>\n> An ignored file can still be executed by node.js.  Ignoring a file means we do not transform it from TypeScript into JavaScript, but it does not prevent execution.\n>\n> If a file requires transformation but is ignored, node may either fail to resolve it or attempt to execute it as vanilla JavaScript.  This may cause syntax errors or other failures, because node does not understand TypeScript type syntax nor bleeding-edge ECMAScript features.\n\n## File extensions\n\n`.js` and `.jsx` are only transformed when [`allowJs`](https://www.typescriptlang.org/docs/handbook/compiler-options.html#compiler-options) is enabled.\n\n`.tsx` and `.jsx` are only transformed when [`jsx`](https://www.typescriptlang.org/docs/handbook/jsx.html) is enabled.\n\n> **Warning:**\n>\n> When ts-node is used with `allowJs`, _all_ non-ignored JavaScript files are transformed by ts-node.\n\n## Skipping `node_modules`\n\nBy default, ts-node avoids compiling files in `/node_modules/` for three reasons:\n\n1. Modules should always be published in a format node.js can consume\n2. Transpiling the entire dependency tree will make your project slower\n3. Differing behaviours between TypeScript and node.js (e.g. ES2015 modules) can result in a project that works until you decide to support a feature natively from node.js\n\nIf you need to import uncompiled TypeScript in `node_modules`, use [`--skipIgnore`](./options#skipignore) or [`TS_NODE_SKIP_IGNORE`](./options#skipignore) to bypass this restriction.\n\n## Skipping pre-compiled TypeScript\n\nIf a compiled JavaScript file with the same name as a TypeScript file already exists, the TypeScript file will be ignored.  ts-node will import the pre-compiled JavaScript.\n\nTo force ts-node to import the TypeScript source, not the precompiled JavaScript, use [`--preferTsExts`](./options#prefertsexts).\n\n## Scope by directory\n\nOur [`scope`](./options.md#scope) and [`scopeDir`](./options.md#scopedir) options will limit transformation to files\nwithin a directory.\n\n## Ignore by regexp\n\nOur [`ignore`](./options.md#ignore) option will ignore files matching one or more regular expressions.\n"
  },
  {
    "path": "website/docs/swc.md",
    "content": "---\ntitle: SWC\n---\n\nSWC support is built-in via the `--swc` flag or `\"swc\": true` tsconfig option.\n\n[SWC](https://swc.rs) is a TypeScript-compatible transpiler implemented in Rust.  This makes it an order of magnitude faster than vanilla `transpileOnly`.\n\nTo use it, first install `@swc/core` or `@swc/wasm`.  If using `importHelpers`, also install `@swc/helpers`.  If `target` is less than \"es2015\" and using `async`/`await` or generator functions, also install `regenerator-runtime`.\n\n```shell\nnpm i -D @swc/core @swc/helpers regenerator-runtime\n```\n\nThen add the following to your `tsconfig.json`.\n\n```json title=\"tsconfig.json\"\n{\n  \"ts-node\": {\n    \"swc\": true\n  }\n}\n```\n\n> SWC uses `@swc/helpers` instead of `tslib`.  If you have enabled `importHelpers`, you must also install `@swc/helpers`.\n"
  },
  {
    "path": "website/docs/transpilers.md",
    "content": "---\ntitle: Transpilers\n---\n\nts-node supports third-party transpilers as plugins.  Transpilers such as swc can transform TypeScript into JavaScript\nmuch faster than the TypeScript compiler.  You will still benefit from ts-node's automatic `tsconfig.json` discovery,\nsourcemap support, and global ts-node CLI. Plugins automatically derive an appropriate configuration from your existing\n`tsconfig.json` which simplifies project boilerplate.\n\n> **What is the difference between a compiler and a transpiler?**\n>\n> For our purposes, a compiler implements TypeScript's API and can perform typechecking.\n> A third-party transpiler does not.  Both transform TypeScript into JavaScript.\n\n## Third-party plugins\n\nThe `transpiler` option allows using third-party transpiler plugins with ts-node.  `transpiler` must be given the\nname of a module which can be `require()`d.  The built-in `swc` plugin is exposed as `ts-node/transpilers/swc`.\n\nFor example, to use a hypothetical \"@cspotcode/fast-ts-compiler\", first install it into your project: `npm install @cspotcode/fast-ts-compiler`\n\nThen add the following to your tsconfig:\n\n```json title=\"tsconfig.json\"\n{\n  \"ts-node\": {\n    \"transpileOnly\": true,\n    \"transpiler\": \"@cspotcode/fast-ts-compiler\"\n  }\n}\n```\n\n## Write your own plugin\n\nTo write your own transpiler plugin, check our [API docs](https://typestrong.org/ts-node/api/interfaces/TranspilerModule.html).\n\nPlugins are `require()`d by ts-node, so they can be a local script or a node module published to npm.  The module must\nexport a `create` function described by our\n[`TranspilerModule`](https://typestrong.org/ts-node/api/interfaces/TranspilerModule.html) interface.  `create` is\ninvoked by ts-node at startup to create one or more transpiler instances.  The instances are used to transform\nTypeScript into JavaScript.\n\nFor a working example, check out out our bundled swc plugin: https://github.com/TypeStrong/ts-node/blob/main/src/transpilers/swc.ts\n"
  },
  {
    "path": "website/docs/troubleshooting.md",
    "content": "---\ntitle: Troubleshooting\n---\n\n## Configuration\n\nts-node uses sensible default configurations to reduce boilerplate while still respecting `tsconfig.json` if you\nhave one.  If you are unsure which configuration is used, you can log it with `ts-node --showConfig`.  This is similar to\n`tsc --showConfig` but includes `\"ts-node\"` options as well.\n\nts-node also respects your locally-installed `typescript` version, but global installations fallback to the globally-installed\n`typescript`.  If you are unsure which versions are used, `ts-node -vv` will log them.\n\n```shell\n$ ts-node -vv\nts-node v10.0.0\nnode v16.1.0\ncompiler v4.2.2\n\n$ ts-node --showConfig\n{\n  \"compilerOptions\": {\n    \"target\": \"es6\",\n    \"lib\": [\n      \"es6\",\n      \"dom\"\n    ],\n    \"rootDir\": \"./src\",\n    \"outDir\": \"./.ts-node\",\n    \"module\": \"commonjs\",\n    \"moduleResolution\": \"node\",\n    \"strict\": true,\n    \"declaration\": false,\n    \"sourceMap\": true,\n    \"inlineSources\": true,\n    \"types\": [\n      \"node\"\n    ],\n    \"stripInternal\": true,\n    \"incremental\": true,\n    \"skipLibCheck\": true,\n    \"importsNotUsedAsValues\": \"error\",\n    \"inlineSourceMap\": false,\n    \"noEmit\": false\n  },\n  \"ts-node\": {\n    \"cwd\": \"/d/project\",\n    \"projectSearchDir\": \"/d/project\",\n    \"require\": [],\n    \"project\": \"/d/project/tsconfig.json\"\n  }\n}\n```\n\n## Common errors\n\nIt is important to differentiate between errors from ts-node, errors from the TypeScript compiler, and errors from `node`.  It is also important to understand when errors are caused by a type error in your code, a bug in your code, or a flaw in your configuration.\n\n### `TSError`\n\nType errors from the compiler are thrown as a `TSError`.  These are the same as errors you get from `tsc`.\n\n### `SyntaxError`\n\nAny error that is not a `TSError` is from node.js (e.g. `SyntaxError`), and cannot be fixed by TypeScript or ts-node. These are bugs in your code or configuration.\n\n#### Unsupported JavaScript syntax\n\nYour version of `node` may not support all JavaScript syntax supported by TypeScript.  The compiler must transform this syntax via \"downleveling,\" which is controlled by\nthe [tsconfig `\"target\"` option](https://www.typescriptlang.org/tsconfig#target).  Otherwise your code will compile fine, but node will throw a `SyntaxError`.\n\nFor example, `node` 12 does not understand the `?.` optional chaining operator.  If you use `\"target\": \"esnext\"`, then the following TypeScript syntax:\n\n```typescript twoslash\nexport {};\nvar foo: {bar: string} | undefined;\n// ---cut---\nconst bar: string | undefined = foo?.bar;\n```\n\nwill compile into this JavaScript:\n\n```javascript\nconst a = foo?.bar;\n```\n\nWhen you try to run this code, node 12 will throw a `SyntaxError`.  To fix this, you must switch to `\"target\": \"es2019\"` or lower so TypeScript transforms `?.` into something `node` can understand.\n\n### `ERR_REQUIRE_ESM`\n\nThis error is thrown by node when a module is `require()`d, but node believes it should execute as native ESM.  This can happen for a few reasons:\n\n- You have installed an ESM dependency but your own code compiles to CommonJS.\n  - Solution: configure your project to compile and execute as native ESM. [Docs](./commonjs-vs-native-ecmascript-modules.md#native-ecmascript-modules)\n  - Solution: downgrade the dependency to an older, CommonJS version.\n- You have moved your project to ESM but still have a config file, such as `webpack.config.ts`, which must be executed as CommonJS <!-- SYNC_WITH_MTO_DOCS -->\n  - Solution: if supported by the relevant tool, rename your config file to `.cts`\n  - Solution: Configure a module type override. [Docs](./module-type-overrides.md)\n- You have a mix of CommonJS and native ESM in your project\n  - Solution: double-check all package.json \"type\" and tsconfig.json \"module\" configuration [Docs](./commonjs-vs-native-ecmascript-modules.md)\n  - Solution: consider simplifying by making your project entirely CommonJS or entirely native ESM\n\n### `ERR_UNKNOWN_FILE_EXTENSION`\n\nThis error is thrown by node when a module has an unrecognized file extension, or no extension at all, and is being executed as native ESM.  This can happen for a few reasons:\n\n- You are using a tool which has an extensionless binary, such as `mocha`.\n  - CommonJS supports extensionless files but native ESM does not.\n  - Solution: upgrade to ts-node >=[v10.6.0](https://github.com/TypeStrong/ts-node/releases/tag/v10.6.0), which implements a workaround.\n- Our ESM loader is not installed.\n  - Solution: Use `ts-node-esm`, `ts-node --esm`, or add `\"ts-node\": {\"esm\": true}` to your tsconfig.json.  [Docs](./commonjs-vs-native-ecmascript-modules.md#native-ecmascript-modules)\n- You have moved your project to ESM but still have a config file, such as `webpack.config.ts`, which must be executed as CommonJS <!-- SYNC_WITH_MTO_DOCS -->\n  - Solution: if supported by the relevant tool, rename your config file to `.cts`\n  - Solution: Configure a module type override. [Docs](./module-type-overrides.md)\n\n## Missing Types\n\nts-node does _not_ eagerly load `files`, `include` or `exclude` by default. This is because a large majority of projects do not use all of the files in a project directory (e.g. `Gulpfile.ts`, runtime vs tests) and parsing every file for types slows startup time. Instead, ts-node starts with the script file (e.g. `ts-node index.ts`) and TypeScript resolves dependencies based on imports and references.\n\nOccasionally, this optimization leads to missing types. Fortunately, there are other ways to include them in typechecking.\n\nFor global definitions, you can use the `typeRoots` compiler option.  This requires that your type definitions be structured as type packages (not loose TypeScript definition files). More details on how this works can be found in the [TypeScript Handbook](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#types-typeroots-and-types).\n\nExample `tsconfig.json`:\n\n```json\n{\n  \"compilerOptions\": {\n    \"typeRoots\" : [\"./node_modules/@types\", \"./typings\"]\n  }\n}\n```\n\nExample project structure:\n\n```text\n<project_root>/\n-- tsconfig.json\n-- typings/\n  -- <module_name>/\n    -- index.d.ts\n```\n\nExample module declaration file:\n\n```typescript twoslash\ndeclare module '<module_name>' {\n    // module definitions go here\n}\n```\n\nFor module definitions, you can use [`paths`](https://www.typescriptlang.org/docs/handbook/module-resolution.html#path-mapping):\n\n```json title=\"tsconfig.json\"\n{\n  \"compilerOptions\": {\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"custom-module-type\": [\"types/custom-module-type\"]\n    }\n  }\n}\n```\n\nAnother option is [triple-slash directives](https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html). This may be helpful if you prefer not to change your `compilerOptions` or structure your type definitions for `typeRoots`. Below is an example of a triple-slash directive as a relative path within your project:\n\n```typescript twoslash\n/// <reference path=\"./types/lib_greeter\" />\nimport {Greeter} from \"lib_greeter\"\nconst g = new Greeter();\ng.sayHello();\n```\n\nIf none of the above work, and you _must_ use `files`, `include`, or `exclude`, enable our [`files`](./options.md#files) option.\n\n## npx, yarn dlx, and node_modules\n\nWhen executing TypeScript with `npx` or `yarn dlx`, the code resides within a temporary `node_modules` directory.\n\nThe contents of `node_modules` are ignored by default.  If execution fails, enable [`skipIgnore`](./options.md#skipignore).\n\n<!--See also: [npx and yarn dlx](./recipes/npx-and-yarn-dlx.md)-->\n"
  },
  {
    "path": "website/docs/types.md",
    "content": ""
  },
  {
    "path": "website/docs/usage.md",
    "content": "---\ntitle: Usage\n---\n\n## Command Line\n\n```shell\n# Execute a script as `node` + `tsc`.\nts-node script.ts\n\n# Starts a TypeScript REPL.\nts-node\n\n# Execute code with TypeScript.\nts-node -e 'console.log(\"Hello, world!\")'\n\n# Execute, and print, code with TypeScript.\nts-node -p -e '\"Hello, world!\"'\n\n# Pipe scripts to execute with TypeScript.\necho 'console.log(\"Hello, world!\")' | ts-node\n\n# Equivalent to ts-node --transpileOnly\nts-node-transpile-only script.ts\n\n# Equivalent to ts-node --cwdMode\nts-node-cwd script.ts\n\n# Equivalent to ts-node --esm\nts-node-esm script.ts\n```\n\n## Shebang\n\nTo write scripts with maximum portability, [specify options in your `tsconfig.json`](./configuration#via-tsconfigjson-recommended) and omit them from the shebang.\n\n```typescript twoslash\n#!/usr/bin/env ts-node\n\n// ts-node options are read from tsconfig.json\n\nconsole.log(\"Hello, world!\")\n```\n\nIncluding options within the shebang requires the [`env -S` flag](https://manpages.debian.org/bullseye/coreutils/env.1.en.html#S), which is available on recent versions of `env`. ([compatibility](https://github.com/TypeStrong/ts-node/pull/1448#issuecomment-913895766))\n\n```typescript twoslash\n#!/usr/bin/env -S ts-node --files\n// This shebang works on Mac and Linux with newer versions of env\n// Technically, Mac allows omitting `-S`, but Linux requires it\n```\n\nTo test your version of `env` for compatibility with `-S`:\n\n```shell\n# Note that these unusual quotes are necessary\n/usr/bin/env --debug '-S echo foo bar'\n```\n\n## node flags and other tools\n\nYou can register ts-node without using our CLI: `node -r ts-node/register` and `node --loader ts-node/esm`\n\nIn many cases, setting [`NODE_OPTIONS`](https://nodejs.org/api/cli.html#cli_node_options_options) will enable `ts-node` within other node tools, child processes, and worker threads.  This can be combined with other node flags.\n\n```shell\nNODE_OPTIONS=\"-r ts-node/register --no-warnings\" node ./index.ts\n```\n\nOr, if you require native ESM support:\n\n```shell\nNODE_OPTIONS=\"--loader ts-node/esm\"\n```\n\nThis tells any node processes which receive this environment variable to install `ts-node`'s hooks before executing other code.\n\nIf you are invoking node directly, you can avoid the environment variable and pass those flags to node.\n\n```shell\nnode --loader ts-node/esm --inspect ./index.ts\n```\n\n## Programmatic\n\nYou can require ts-node and register the loader for future requires by using `require('ts-node').register({ /* options */ })`.\n\nCheck out our [API](./api.md) for more features.\n"
  },
  {
    "path": "website/docusaurus.config.js",
    "content": "module.exports = {\n  title: 'ts-node',\n  tagline: 'TypeScript execution and REPL for node.js',\n  url: 'https://typestrong.org',\n  baseUrl: '/ts-node/',\n  onBrokenLinks: 'throw',\n  onBrokenMarkdownLinks: 'warn',\n  favicon: 'img/favicon/favicon.ico',\n  organizationName: 'TypeStrong', // Usually your GitHub org/user name.\n  projectName: 'ts-node', // Usually your repo name.\n  themeConfig: {\n    image: 'img/opengraph.png',\n    // announcementBar: {\n    //   id: 'website_wip', // Any value that will identify this message.\n    //   content:\n    //     '<em>This website is still under construction.  It describes the latest, unreleased changes from our <code>main</code> branch.  Until it is ready, official documentation lives in our <a href=\"https://github.com/TypeStrong/ts-node#readme\">README</a></em>',\n    //   //backgroundColor: '#fafbfc', // Defaults to `#fff`.\n    //   //textColor: '#091E42', // Defaults to `#000`.\n    //   //isCloseable: false, // Defaults to `true`.\n    // },\n    colorMode: {\n      respectPrefersColorScheme: true,\n    },\n    navbar: {\n      title: 'ts-node',\n      logo: {\n        alt: 'ts-node logo',\n        src: 'img/logo-icon.svg',\n      },\n      items: [\n        {\n          to: 'docs/',\n          activeBasePath: 'docs',\n          label: 'Docs',\n          position: 'right',\n        },\n        {\n          href: 'https://typestrong.org/ts-node/api/',\n          label: 'API',\n          position: 'right',\n        },\n        {\n          href: 'https://github.com/TypeStrong/ts-node/releases',\n          label: 'Release Notes',\n          position: 'right',\n        },\n        {\n          href: 'https://github.com/TypeStrong/ts-node/discussions',\n          label: 'Discuss',\n          position: 'right',\n        },\n        {\n          href: 'https://discord.gg/3rBctmf3dP',\n          label: 'Chat',\n          position: 'right',\n        },\n        {\n          href: 'https://github.com/TypeStrong/ts-node',\n          label: 'GitHub',\n          position: 'right',\n        },\n      ],\n    },\n    metadata: [\n      {\n        name: 'msapplication-TileColor',\n        content: '#2b5797',\n      },\n      {\n        name: 'msapplication-config',\n        content: '/ts-node/img/favicon/browserconfig.xml',\n      },\n      {\n        name: 'theme-color',\n        content: '#ffffff',\n      },\n    ],\n    // footer: {\n    //   style: 'dark',\n    //   links: [\n    //     // {\n    //     //   title: 'Docs',\n    //     //   items: [\n    //     //     {\n    //     //       label: 'Docs',\n    //     //       to: 'docs/',\n    //     //     }\n    //     //   ],\n    //     // },\n    //     // {\n    //     //   title: 'Community',\n    //     //   items: [\n    //     //     {\n    //     //       label: 'Discord',\n    //     //       href: 'https://discord.gg/typescript'\n    //     //     },\n    //     //     {\n    //     //       label: 'Github Discussions',\n    //     //       href: 'https://github.com/TypeStrong/ts-node/discussions'\n    //     //     },\n    //     //   ],\n    //     // },\n    //     // {\n    //     //   title: 'More',\n    //     //   items: [\n    //     //     {\n    //     //       label: 'GitHub',\n    //     //       href: 'https://github.com/TypeStrong/ts-node',\n    //     //     },\n    //     //   ],\n    //     // },\n    //   ],\n    //   // copyright: `Copyright © ${new Date().getFullYear()} My Project, Inc. Built with Docusaurus.`,\n    // },\n    prism: {\n      // Note: these themes are ignored due to using shiki-twoslash\n      theme: require('prism-react-renderer/themes/vsLight'),\n      darkTheme: require('prism-react-renderer/themes/vsDark'),\n    },\n    algolia: {\n      appId: 'BYGNLKSCOV',\n      apiKey: '74ac2b781b0cf603c2f1b5e4f44e1c69',\n      indexName: 'ts-node',\n    },\n  },\n  presets: [\n    [\n      '@docusaurus/preset-classic',\n      {\n        docs: {\n          sidebarPath: require.resolve('./sidebars.js'),\n          editUrl: 'https://github.com/TypeStrong/ts-node/edit/docs/website/',\n        },\n        blog: false,\n        theme: {\n          customCss: require.resolve('./src/css/custom.css'),\n        },\n      },\n    ],\n    [\n      'docusaurus-preset-shiki-twoslash',\n      {\n        // https://github.com/shikijs/twoslash/blob/main/packages/shiki-twoslash/README.md#user-settings\n\n        // langs: [\"shell\", \"typescript\", \"javascript\", \"ts\", \"js\", \"tsx\", \"jsx\", \"json\", \"jsonc\"],\n        includeJSDocInHover: true,\n\n        themes: ['github-light', 'nord'],\n\n        // VSCode default\n        // themes: [\"light-plus\", \"dark-plus\"],\n\n        // Other options\n        // themes: [\"min-light\", \"nord\"],\n        // themes: [\"min-light\", \"min-dark\"],\n        // themes: [\"github-light\", \"github-dark\"],\n        // themes: [\"solarized-light\", \"solarized-dark\"],\n      },\n    ],\n  ],\n  // Misleading API that probably will be refactored in Docusaurus, but this is\n  // simply a list of <link> tags\n  stylesheets: [\n    {\n      rel: 'apple-touch-icon',\n      sizes: '180x180',\n      href: '/ts-node/img/favicon/apple-touch-icon.png',\n    },\n    {\n      rel: 'icon',\n      type: 'image/png',\n      sizes: '32x32',\n      href: '/ts-node/img/favicon/favicon-32x32.png',\n    },\n    {\n      rel: 'icon',\n      type: 'image/png',\n      sizes: '16x16',\n      href: '/ts-node/img/favicon/favicon-16x16.png',\n    },\n    {\n      rel: 'manifest',\n      href: '/ts-node/img/favicon/site.webmanifest',\n    },\n    {\n      rel: 'mask-icon',\n      href: '/ts-node/img/favicon/safari-pinned-tab.svg',\n      color: '#5bbad5',\n    },\n    {\n      rel: 'shortcut icon',\n      href: '/ts-node/img/favicon/favicon.ico',\n    },\n  ],\n};\n"
  },
  {
    "path": "website/package.json",
    "content": "{\n  \"name\": \"@ts-node/website\",\n  \"version\": \"0.0.0\",\n  \"private\": true,\n  \"scripts\": {\n    \"docusaurus\": \"docusaurus\",\n    \"start\": \"docusaurus start\",\n    \"build\": \"docusaurus build\",\n    \"swizzle\": \"docusaurus swizzle\",\n    \"deploy\": \"docusaurus deploy\",\n    \"serve\": \"docusaurus serve\",\n    \"clear\": \"docusaurus clear\",\n    \"build-readme\": \"./scripts/build-readme.mjs\"\n  },\n  \"dependencies\": {\n    \"@docusaurus/core\": \"2.0.0-beta.17\",\n    \"@docusaurus/preset-classic\": \"2.0.0-beta.17\",\n    \"@mdx-js/react\": \"^1.6.22\",\n    \"@types/js-yaml\": \"^4.0.0\",\n    \"clsx\": \"^1.1.1\",\n    \"docusaurus-preset-shiki-twoslash\": \"^1.1.36\",\n    \"js-yaml\": \"^4.0.0\",\n    \"react\": \"^17.0.2\",\n    \"react-dom\": \"^17.0.2\",\n    \"remark\": \"^13.0.0\",\n    \"remark-behead\": \"^2.3.3\",\n    \"remark-frontmatter\": \"^3.0.0\",\n    \"remark-preset-lint-recommended\": \"^5.0.0\",\n    \"remark-toc\": \"^7.2.0\",\n    \"remark-validate-links\": \"^10.0.4\",\n    \"vfile\": \"^4.2.1\",\n    \"vfile-reporter\": \"^6.0.2\"\n  },\n  \"browserslist\": {\n    \"production\": [\n      \">0.5%\",\n      \"not dead\",\n      \"not op_mini all\"\n    ],\n    \"development\": [\n      \"last 1 chrome version\",\n      \"last 1 firefox version\",\n      \"last 1 safari version\"\n    ]\n  },\n  \"packageManager\": \"yarn@1.22.17\",\n  \"volta\": {\n    \"extends\": \"../package.json\",\n    \"yarn\": \"1.22.17\"\n  }\n}\n"
  },
  {
    "path": "website/readme-sources/license.md",
    "content": "---\ntitle: License\n---\n\nts-node is licensed under the MIT license.  [MIT](https://github.com/TypeStrong/ts-node/blob/main/LICENSE)\n\nts-node includes source code from Node.js which is licensed under the MIT license.  [Node.js license information](https://raw.githubusercontent.com/nodejs/node/master/LICENSE)\n\nts-node includes source code from the TypeScript compiler which is licensed under the Apache License 2.0.  [TypeScript license information](https://github.com/microsoft/TypeScript/blob/master/LICENSE.txt)\n"
  },
  {
    "path": "website/readme-sources/prefix.md",
    "content": "---\nomitHeaderOnMerge: true\n---\n\n<!--\nBEFORE EDITING THIS README\nOur README.md is auto-generated by combining pages in website/docs and website/readme-sources\n\nIf you are sending a pull request to improve documentation, submit your changes\nin the source markdown files and we will generate the README from there.\n\nYou can build the readme with this command:\n\n    cd website && yarn build-readme\n-->\n\n# [![TypeScript Node](logo.svg?sanitize=true)](https://typestrong.org/ts-node)\n\n[![NPM version](https://img.shields.io/npm/v/ts-node.svg?style=flat)](https://npmjs.org/package/ts-node)\n[![NPM downloads](https://img.shields.io/npm/dm/ts-node.svg?style=flat)](https://npmjs.org/package/ts-node)\n[![Build status](https://img.shields.io/github/actions/workflow/status/TypeStrong/ts-node/continuous-integration.yml?branch=main)](https://github.com/TypeStrong/ts-node/actions?query=workflow%3A%22Continuous+Integration%22)\n[![Test coverage](https://codecov.io/gh/TypeStrong/ts-node/branch/main/graph/badge.svg)](https://codecov.io/gh/TypeStrong/ts-node)\n\n> TypeScript execution and REPL for node.js, with source map and native ESM support.\n\nThe latest documentation can also be found on our website: [https://typestrong.org/ts-node](https://typestrong.org/ts-node)\n\n# Table of Contents\n"
  },
  {
    "path": "website/scripts/build-readme.mjs",
    "content": "#!/usr/bin/env node\n/*\n * Render README by merging website's `.md` pages.\n */\n\nimport fs from 'fs';\nimport { fileURLToPath } from 'url';\nimport Path from 'path';\n\nimport _ from 'lodash';\nimport remark from 'remark';\nimport remarkFrontmatter from 'remark-frontmatter';\nimport remarkRecommended from 'remark-preset-lint-recommended';\nimport remarkToc from 'remark-toc';\nimport remarkBehead from 'remark-behead';\nimport remarkValidateLinks from 'remark-validate-links';\nimport visit from 'unist-util-visit';\nimport vfile from 'vfile';\nimport vfileReporter from 'vfile-reporter';\nimport jsYaml from 'js-yaml';\n\nconst __websiteRoot = Path.resolve(fileURLToPath(import.meta.url), '../..');\nconst __root = Path.resolve(__websiteRoot, '..');\nconst readmePath = Path.resolve(__root, 'README.md');\nconst generateReadmeHeadersForCategories = {\n  General: false,\n  Advanced: true,\n  Recipes: true,\n};\n\nimport sidebars from '../sidebars.js';\n\nasync function main() {\n  const readmeNodes = [];\n\n  await appendMarkdownFileToReadmeAst({\n    path: 'readme-sources/prefix.md',\n    headerLevel: 1,\n  });\n\n  const sidebar = sidebars.primarySidebar;\n  for (const category of sidebar) {\n    const generateReadmeHeader = generateReadmeHeadersForCategories[category.label];\n    if (generateReadmeHeader) {\n      readmeNodes.push(headerNode(1, category.label));\n    } else if (generateReadmeHeader == null) {\n      throw new Error(`Update ${import.meta.url} to include all sidebar categories`);\n    }\n    for (const page of category.items) {\n      await appendMarkdownFileToReadmeAst({\n        path: `docs/${page}.md`,\n        headerLevel: 1 + !!generateReadmeHeader,\n      });\n    }\n  }\n\n  appendMarkdownFileToReadmeAst({\n    path: 'readme-sources/license.md',\n    headerLevel: 1,\n  });\n\n  async function appendMarkdownFileToReadmeAst({ path, headerLevel }) {\n    const absPath = Path.resolve(__websiteRoot, path);\n    console.log(`Appending ${path} at header level ${headerLevel}`);\n    const markdownSource = fs.readFileSync(absPath, 'utf8');\n    await remark()\n      .use(remarkFrontmatter, ['yaml'])\n      .use(parseFrontmatter)\n      .use(remarkBehead, { after: '', depth: headerLevel - 1 })\n      .use(() => (ast) => {\n        const { frontmatter } = ast;\n        if (frontmatter && !frontmatter.omitHeaderOnMerge) {\n          readmeNodes.push(headerNode(headerLevel, (frontmatter && frontmatter.title) || Path.basename(absPath)));\n        }\n        readmeNodes.push(...ast.children);\n      })\n      .process(markdownSource);\n  }\n\n  const renderedReadme = await remark()\n    .use(() => (ast) => {\n      ast.children.push(...readmeNodes);\n    })\n    .use(codeLanguageJsonToJsonc)\n    .use(rewritePageLinksToAnchorLinks)\n    .use(rewriteImgTargets)\n    .use(trimCutFromTwoslashCode)\n    .use(remarkToc, { tight: true })\n    .process(\n      vfile({\n        path: readmePath,\n        contents: '',\n      })\n    );\n\n  fs.writeFileSync(readmePath, renderedReadme.contents);\n\n  console.error(vfileReporter(renderedReadme));\n  if (renderedReadme.messages.length) throw new Error('Aborting on diagnostics.');\n  const lintResults = await remark().use(remarkValidateLinks).use(remarkRecommended).process(renderedReadme);\n  console.error(vfileReporter(lintResults));\n  if (lintResults.messages.length) throw new Error('Aborting on diagnostics.');\n}\n\nfunction parseFrontmatter() {\n  return (ast) => {\n    if (ast.children[0].type === 'yaml') {\n      ast.frontmatter = jsYaml.load(ast.children[0].value);\n      ast.children.splice(0, 1);\n    }\n  };\n}\n\nfunction codeLanguageJsonToJsonc() {\n  return (ast) => {\n    visit(ast, 'code', (node) => {\n      if (node.lang === 'json') node.lang = 'jsonc';\n    });\n  };\n}\nfunction rewritePageLinksToAnchorLinks() {\n  return (ast) => {\n    visit(ast, 'link', (node) => {\n      if (node.url?.match?.(/^https?\\:\\/\\//)) return;\n      // TODO take page title into account\n      node.url = node.url.replace(/^[\\.\\/]*(?:recipes\\/)?(?:([^#]+)|.*#(.*))$/, '#$1$2');\n      node.url = node.url.replace(/\\.md$/, '');\n    });\n  };\n}\n\nfunction rewriteImgTargets() {\n  return (ast) => {\n    visit(ast, 'image', (node) => {\n      node.url = node.url.replace(/^\\//, 'website/static/');\n    });\n  };\n}\n\nfunction trimCutFromTwoslashCode() {\n  return (ast) => {\n    // Strip everything above // ---cut--- in twoslash code blocks\n    const lookingFor = '\\n// ---cut---\\n';\n    visit(ast, 'code', (node) => {\n      if (node.meta?.includes('twoslash') && node.value.includes(lookingFor)) {\n        node.value = node.value.slice(node.value.lastIndexOf(lookingFor) + lookingFor.length);\n      }\n    });\n  };\n}\n\nfunction headerNode(depth, value) {\n  return {\n    type: 'heading',\n    depth,\n    children: [\n      {\n        type: 'text',\n        value,\n        children: [],\n      },\n    ],\n  };\n}\n\ntry {\n  await main();\n} catch (e) {\n  console.error(e.message);\n  process.exitCode = 1;\n}\n"
  },
  {
    "path": "website/sidebars.js",
    "content": "module.exports = {\n  primarySidebar: [\n    {\n      type: 'category',\n      label: 'General',\n      collapsed: false,\n      items: [\n        'overview',\n        'installation',\n        'usage',\n        'configuration',\n        'options',\n        'swc',\n        'commonjs-vs-native-ecmascript-modules',\n        'troubleshooting',\n        'performance',\n      ],\n    },\n    {\n      type: 'category',\n      label: 'Advanced',\n      collapsed: false,\n      items: ['how-it-works', 'scope', 'paths', 'compilers', 'transpilers', 'module-type-overrides', 'api'],\n    },\n    {\n      type: 'category',\n      label: 'Recipes',\n      collapsed: false,\n      items: [\n        'recipes/watching-and-restarting',\n        // 'recipes/npx-and-yarn-dlx',\n        'recipes/ava',\n        'recipes/gulp',\n        'recipes/intellij',\n        'recipes/mocha',\n        'recipes/tape',\n        'recipes/visual-studio-code',\n        'recipes/other',\n      ],\n    },\n  ],\n  hiddenSidebar: [\n    {\n      type: 'category',\n      label: 'Hidden pages',\n      collapsed: false,\n      items: ['options-table'],\n    },\n  ],\n};\n"
  },
  {
    "path": "website/src/css/custom.css",
    "content": "/* stylelint-disable docusaurus/copyright-header */\n/**\n * Any CSS included here will be global. The classic template\n * bundles Infima by default. Infima is a CSS framework designed to\n * work well for content-centric websites.\n */\n\n/* You can override the default Infima variables here. */\n:root {\n  /* Generating by pasting #3178C6, the shade of blue from typescriptlang.org's navbar, into the palette generator at https://docusaurus.io/docs/styling-layout/ */\n  --ifm-color-primary: #3178c6;\n  --ifm-color-primary-dark: #2c6cb2;\n  --ifm-color-primary-darker: #2a66a8;\n  --ifm-color-primary-darkest: #22548b;\n  --ifm-color-primary-light: #4084d0;\n  --ifm-color-primary-lighter: #4a8bd2;\n  --ifm-color-primary-lightest: #689eda;\n\n  /* Docusaurus defaults */\n  /* --ifm-color-primary: #25c2a0;\n  --ifm-color-primary-dark: rgb(33, 175, 144);\n  --ifm-color-primary-darker: rgb(31, 165, 136);\n  --ifm-color-primary-darkest: rgb(26, 136, 112);\n  --ifm-color-primary-light: rgb(70, 203, 174);\n  --ifm-color-primary-lighter: rgb(102, 212, 189);\n  --ifm-color-primary-lightest: rgb(146, 224, 208);\n  --ifm-code-font-size: 95%; */\n}\n\n[data-theme='dark'] {\n  /* Generating by pasting #4084d0, into the palette generator at https://docusaurus.io/docs/styling-layout/ */\n  --ifm-color-primary: #4084d0;\n  --ifm-color-primary-dark: #3076c4;\n  --ifm-color-primary-darker: #2e70ba;\n  --ifm-color-primary-darkest: #265c99;\n  --ifm-color-primary-light: #5692d5;\n  --ifm-color-primary-lighter: #6199d8;\n  --ifm-color-primary-lightest: #81aee0;\n  --ifm-color-primary-lighter: #4a8bd2;\n}\n\n.docusaurus-highlight-code-line {\n  background-color: rgb(72, 77, 91);\n  display: block;\n  margin: 0 calc(-1 * var(--ifm-pre-padding));\n  padding: 0 var(--ifm-pre-padding);\n}\n\n/* Hide the external link icon */\n.navbar__item svg {\n  display: none;\n}\n\n/*\n * Shiki-twoslash\n * See: https://github.com/shikijs/twoslash/tree/main/packages/docusaurus-preset-shiki-twoslash\n */\n[data-theme='light'] .shiki.nord,\n[data-theme='light'] .shiki.min-dark,\n[data-theme='light'] .shiki.github-dark,\n[data-theme='light'] .shiki.dark-plus,\n[data-theme='light'] .shiki.solarized-dark,\n[data-theme='dark'] .shiki.min-light,\n[data-theme='dark'] .shiki.github-light,\n[data-theme='dark'] .shiki.light-plus,\n[data-theme='dark'] .shiki.solarized-light {\n  display: none;\n}\n"
  },
  {
    "path": "website/src/pages/index.js",
    "content": "import React from 'react';\nimport clsx from 'clsx';\nimport Layout from '@theme/Layout';\nimport Link from '@docusaurus/Link';\nimport useDocusaurusContext from '@docusaurus/useDocusaurusContext';\nimport useBaseUrl from '@docusaurus/useBaseUrl';\nimport styles from './styles.module.css';\n\nfunction Feature({ imageUrl, title, description }) {\n  const imgUrl = useBaseUrl(imageUrl);\n  return (\n    <div className={clsx('col col--4', styles.feature)}>\n      {imgUrl && (\n        <div className=\"text--center\">\n          <img className={styles.featureImage} src={imgUrl} alt={title} />\n        </div>\n      )}\n    </div>\n  );\n}\n\nfunction Home() {\n  const context = useDocusaurusContext();\n  const { siteConfig = {} } = context;\n  return (\n    <Layout title={siteConfig.title} description={siteConfig.tagline}>\n      <header className={clsx('hero hero--primary', styles.heroBanner)}>\n        <div className=\"container\">\n          <h1 className=\"hero__title\">{siteConfig.title}</h1>\n          <p className=\"hero__subtitle\">{siteConfig.tagline}</p>\n          <div className={styles.buttons}>\n            <Link\n              style={{ margin: '0 20px' }}\n              className={clsx('button button--secondary button--lg', styles.getStarted)}\n              to={useBaseUrl('docs/')}\n            >\n              Get Started\n            </Link>\n            <iframe\n              src={'https://ghbtns.com/github-btn.html?user=TypeStrong&repo=ts-node&type=star&count=true&size=large'}\n              frameBorder=\"0\"\n              scrolling=\"0\"\n              width=\"160px\"\n              height=\"30px\"\n              style={{ marginTop: '8px' }}\n            />\n          </div>\n        </div>\n      </header>\n      <main>\n        <section className={styles.features}>\n          <div className=\"container\">\n            <div className=\"text--center\">\n              <img src={useBaseUrl('img/screenshot.png')} alt=\"screenshot of ts-node\" />\n            </div>\n          </div>\n        </section>\n      </main>\n    </Layout>\n  );\n}\n\nexport default Home;\n"
  },
  {
    "path": "website/src/pages/styles.module.css",
    "content": "/* stylelint-disable docusaurus/copyright-header */\n\n/**\n * CSS files with the .module.css suffix will be treated as CSS modules\n * and scoped locally.\n */\n\n.heroBanner {\n  padding: 4rem 0;\n  text-align: center;\n  position: relative;\n  overflow: hidden;\n}\n\n@media screen and (max-width: 966px) {\n  .heroBanner {\n    padding: 2rem;\n  }\n}\n\n.buttons {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.features {\n  display: flex;\n  align-items: center;\n  padding: 2rem 0;\n  width: 100%;\n}\n\n.featureImage {\n  height: 200px;\n  width: 200px;\n}\n"
  },
  {
    "path": "website/src/theme/DocBreadcrumbs/index.tsx",
    "content": "// Change: HomeBreadcrumbItem points to /docs instead of /\n\nimport React, { type ReactNode } from 'react';\nimport { ThemeClassNames, useSidebarBreadcrumbs, useHomePageRoute } from '@docusaurus/theme-common';\nimport styles from './styles.module.css';\nimport clsx from 'clsx';\nimport Link from '@docusaurus/Link';\nimport useBaseUrl from '@docusaurus/useBaseUrl';\n\nfunction BreadcrumbsItemLink({ children, href }: { children: ReactNode; href?: string }): JSX.Element {\n  const className = clsx('breadcrumbs__link', styles.breadcrumbsItemLink);\n  return href ? (\n    <Link className={className} href={href}>\n      {children}\n    </Link>\n  ) : (\n    <span className={className}>{children}</span>\n  );\n}\n\nfunction BreadcrumbsItem({ children, active }: { children: ReactNode; active?: boolean }): JSX.Element {\n  return (\n    <li\n      className={clsx('breadcrumbs__item', {\n        'breadcrumbs__item--active': active,\n      })}\n    >\n      {children}\n    </li>\n  );\n}\n\nfunction HomeBreadcrumbItem() {\n  const homeHref = useBaseUrl('/docs');\n  return (\n    <BreadcrumbsItem>\n      <BreadcrumbsItemLink href={homeHref}>🏠</BreadcrumbsItemLink>\n    </BreadcrumbsItem>\n  );\n}\n\nexport default function DocBreadcrumbs(): JSX.Element | null {\n  const breadcrumbs = useSidebarBreadcrumbs();\n  const homePageRoute = useHomePageRoute();\n\n  if (!breadcrumbs) {\n    return null;\n  }\n\n  return (\n    <nav className={clsx(ThemeClassNames.docs.docBreadcrumbs, styles.breadcrumbsContainer)} aria-label=\"breadcrumbs\">\n      <ul className=\"breadcrumbs\">\n        {homePageRoute && <HomeBreadcrumbItem />}\n        {breadcrumbs.map((item, idx) => (\n          <BreadcrumbsItem key={idx} active={idx === breadcrumbs.length - 1}>\n            <BreadcrumbsItemLink href={item.href}>{item.label}</BreadcrumbsItemLink>\n          </BreadcrumbsItem>\n        ))}\n      </ul>\n    </nav>\n  );\n}\n"
  },
  {
    "path": "website/src/theme/DocBreadcrumbs/styles.module.css",
    "content": "/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n.breadcrumbsContainer {\n  margin-bottom: 0.4rem;\n}\n\n.breadcrumbsItemLink {\n  --ifm-breadcrumb-size-multiplier: 0.7 !important;\n  margin-bottom: 0.4rem;\n  background: var(--ifm-color-gray-100);\n}\n\nhtml[data-theme='dark'] .breadcrumbsItemLink {\n  background-color: var(--ifm-color-gray-900);\n}\n\n@media (min-width: 997px) {\n  .breadcrumbsItemLink {\n    --ifm-breadcrumb-size-multiplier: 0.8;\n  }\n}\n"
  },
  {
    "path": "website/static/.nojekyll",
    "content": ""
  },
  {
    "path": "website/static/img/favicon/browserconfig.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<browserconfig>\n    <msapplication>\n        <tile>\n            <square150x150logo src=\"/ts-node/img/mstile-150x150.png\"/>\n            <TileColor>#2b5797</TileColor>\n        </tile>\n    </msapplication>\n</browserconfig>\n"
  },
  {
    "path": "website/static/img/favicon/html_code.html",
    "content": "<link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/ts-node/img/apple-touch-icon.png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/ts-node/img/favicon-32x32.png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/ts-node/img/favicon-16x16.png\">\n<link rel=\"manifest\" href=\"/ts-node/img/site.webmanifest\">\n<link rel=\"mask-icon\" href=\"/ts-node/img/safari-pinned-tab.svg\" color=\"#5bbad5\">\n<link rel=\"shortcut icon\" href=\"/ts-node/img/favicon.ico\">\n<meta name=\"msapplication-TileColor\" content=\"#2b5797\">\n<meta name=\"msapplication-config\" content=\"/ts-node/img/browserconfig.xml\">\n<meta name=\"theme-color\" content=\"#ffffff\">\n\n<link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/ts-node/img/favicon/apple-touch-icon.png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/ts-node/img/favicon/favicon-32x32.png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/ts-node/img/favicon/favicon-16x16.png\">\n<link rel=\"manifest\" href=\"/ts-node/img/favicon/site.webmanifest\">\n<link rel=\"mask-icon\" href=\"/ts-node/img/favicon/safari-pinned-tab.svg\" color=\"#5bbad5\">\n<link rel=\"shortcut icon\" href=\"/ts-node/img/favicon/favicon.ico\">\n<meta name=\"msapplication-TileColor\" content=\"#2b5797\">\n<meta name=\"msapplication-config\" content=\"/ts-node/img/favicon/browserconfig.xml\">\n<meta name=\"theme-color\" content=\"#ffffff\">\n"
  },
  {
    "path": "website/static/img/favicon/site.webmanifest",
    "content": "{\n    \"name\": \"\",\n    \"short_name\": \"\",\n    \"icons\": [\n        {\n            \"src\": \"/ts-node/img/android-chrome-192x192.png\",\n            \"sizes\": \"192x192\",\n            \"type\": \"image/png\"\n        },\n        {\n            \"src\": \"/ts-node/img/android-chrome-512x512.png\",\n            \"sizes\": \"512x512\",\n            \"type\": \"image/png\"\n        }\n    ],\n    \"theme_color\": \"#ffffff\",\n    \"background_color\": \"#ffffff\",\n    \"display\": \"standalone\"\n}\n"
  },
  {
    "path": "website/types/lib_greeter.ts",
    "content": "declare module 'lib_greeter' {\n  /** API for saying hello to everyone. */\n  export class Greeter {\n    /** Returns a friendly salutation and a remark about the weather */\n    sayHello(): string;\n  }\n}\n"
  }
]